OSDN Git Service

intel-vaapi-driver 1.8.1.pre1
[android-x86/hardware-intel-common-vaapi.git] / src / i965_encoder_utils.h
1 #ifndef __I965_ENCODER_UTILS_H__
2 #define __I965_ENCODER_UTILS_H__
3
4 int 
5 build_avc_slice_header(VAEncSequenceParameterBufferH264 *sps_param, 
6                        VAEncPictureParameterBufferH264 *pic_param,
7                        VAEncSliceParameterBufferH264 *slice_param,
8                        unsigned char **slice_header_buffer);
9 int 
10 build_avc_sei_buffering_period(int cpb_removal_length,
11                                unsigned int init_cpb_removal_delay, 
12                                unsigned int init_cpb_removal_delay_offset,
13                                unsigned char **sei_buffer);
14
15 int
16 build_avc_sei_pic_timing(unsigned int cpb_removal_length, unsigned int cpb_removal_delay, 
17                          unsigned int dpb_output_length, unsigned int dpb_output_delay,
18                          unsigned char **sei_buffer);
19
20 int 
21 build_avc_sei_buffer_timing(unsigned int init_cpb_removal_length,
22                                 unsigned int init_cpb_removal_delay,
23                                 unsigned int init_cpb_removal_delay_offset,
24                                 unsigned int cpb_removal_length,
25                                 unsigned int cpb_removal_delay,
26                                 unsigned int dpb_output_length,
27                                 unsigned int dpb_output_delay,
28                                 unsigned char **sei_buffer);
29
30 int 
31 build_mpeg2_slice_header(VAEncSequenceParameterBufferMPEG2 *sps_param,
32                          VAEncPictureParameterBufferMPEG2 *pic_param,
33                          VAEncSliceParameterBufferMPEG2 *slice_param,
34                          unsigned char **slice_header_buffer);
35
36 /* HEVC */
37
38 int
39 build_hevc_slice_header(VAEncSequenceParameterBufferHEVC *seq_param,
40                         VAEncPictureParameterBufferHEVC *pic_param,
41                         VAEncSliceParameterBufferHEVC *slice_param,
42                         unsigned char **header_buffer,
43                         int slice_index);
44 int
45 build_hevc_sei_buffering_period(int cpb_removal_length,
46                                 unsigned int init_cpb_removal_delay,
47                                 unsigned int init_cpb_removal_delay_offset,
48                                 unsigned char **sei_buffer);
49
50 int
51 build_hevc_sei_pic_timing(unsigned int cpb_removal_length, unsigned int cpb_removal_delay,
52                           unsigned int dpb_output_length, unsigned int dpb_output_delay,
53                           unsigned char **sei_buffer);
54
55 int
56 build_hevc_idr_sei_buffer_timing(unsigned int init_cpb_removal_delay_length,
57                                  unsigned int init_cpb_removal_delay,
58                                  unsigned int init_cpb_removal_delay_offset,
59                                  unsigned int cpb_removal_length,
60                                  unsigned int cpb_removal_delay,
61                                  unsigned int dpb_output_length,
62                                  unsigned int dpb_output_delay,
63                                  unsigned char **sei_buffer);
64
65 int
66 intel_avc_find_skipemulcnt(unsigned char *buf, int bits_length);
67
68 #endif /* __I965_ENCODER_UTILS_H__ */