summaryrefslogtreecommitdiff
path: root/src/i965_encoder_utils.h
blob: fd5696fc445a94e6ab18186b22c39cbdb76327c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef __I965_ENCODER_UTILS_H__
#define __I965_ENCODER_UTILS_H__

int
build_avc_slice_header(VAEncSequenceParameterBufferH264 *sps_param,
                       VAEncPictureParameterBufferH264 *pic_param,
                       VAEncSliceParameterBufferH264 *slice_param,
                       unsigned char **slice_header_buffer);
int
build_avc_sei_buffering_period(int cpb_removal_length,
                               unsigned int init_cpb_removal_delay,
                               unsigned int init_cpb_removal_delay_offset,
                               unsigned char **sei_buffer);

int
build_avc_sei_pic_timing(unsigned int cpb_removal_length, unsigned int cpb_removal_delay,
                         unsigned int dpb_output_length, unsigned int dpb_output_delay,
                         unsigned char **sei_buffer);

int
build_avc_sei_buffer_timing(unsigned int init_cpb_removal_length,
                            unsigned int init_cpb_removal_delay,
                            unsigned int init_cpb_removal_delay_offset,
                            unsigned int cpb_removal_length,
                            unsigned int cpb_removal_delay,
                            unsigned int dpb_output_length,
                            unsigned int dpb_output_delay,
                            unsigned char **sei_buffer);

int
build_mpeg2_slice_header(VAEncSequenceParameterBufferMPEG2 *sps_param,
                         VAEncPictureParameterBufferMPEG2 *pic_param,
                         VAEncSliceParameterBufferMPEG2 *slice_param,
                         unsigned char **slice_header_buffer);

/* HEVC */

int
build_hevc_slice_header(VAEncSequenceParameterBufferHEVC *seq_param,
                        VAEncPictureParameterBufferHEVC *pic_param,
                        VAEncSliceParameterBufferHEVC *slice_param,
                        unsigned char **header_buffer,
                        int slice_index);
int
build_hevc_sei_buffering_period(int cpb_removal_length,
                                unsigned int init_cpb_removal_delay,
                                unsigned int init_cpb_removal_delay_offset,
                                unsigned char **sei_buffer);

int
build_hevc_sei_pic_timing(unsigned int cpb_removal_length, unsigned int cpb_removal_delay,
                          unsigned int dpb_output_length, unsigned int dpb_output_delay,
                          unsigned char **sei_buffer);

int
build_hevc_idr_sei_buffer_timing(unsigned int init_cpb_removal_delay_length,
                                 unsigned int init_cpb_removal_delay,
                                 unsigned int init_cpb_removal_delay_offset,
                                 unsigned int cpb_removal_length,
                                 unsigned int cpb_removal_delay,
                                 unsigned int dpb_output_length,
                                 unsigned int dpb_output_delay,
                                 unsigned char **sei_buffer);

int
intel_avc_find_skipemulcnt(unsigned char *buf, int bits_length);

#endif /* __I965_ENCODER_UTILS_H__ */