Mercurial > libavcodec.hg
comparison h264.h @ 8107:e61f76efc9f3 libavcodec
h264: Implement decoding of picture timing SEI message.
Now correct values are propagated to interlaced_frame, top_field_first
and repeat_pict in AVFrame structure.
patch by ffdshow tryouts
author | andoma |
---|---|
date | Tue, 04 Nov 2008 18:31:48 +0000 |
parents | 2d3c7cd7d143 |
children | 2f35f9781c31 |
comparison
equal
deleted
inserted
replaced
8106:2f5101a67500 | 8107:e61f76efc9f3 |
---|---|
107 NAL_END_STREAM, | 107 NAL_END_STREAM, |
108 NAL_FILLER_DATA, | 108 NAL_FILLER_DATA, |
109 NAL_SPS_EXT, | 109 NAL_SPS_EXT, |
110 NAL_AUXILIARY_SLICE=19 | 110 NAL_AUXILIARY_SLICE=19 |
111 }; | 111 }; |
112 | |
113 /** | |
114 * pic_struct in picture timing SEI message | |
115 */ | |
116 typedef enum { | |
117 SEI_PIC_STRUCT_FRAME = 0, ///< 0: %frame | |
118 SEI_PIC_STRUCT_TOP_FIELD = 1, ///< 1: top field | |
119 SEI_PIC_STRUCT_BOTTOM_FIELD = 2, ///< 2: bottom field | |
120 SEI_PIC_STRUCT_TOP_BOTTOM = 3, ///< 3: top field, bottom field, in that order | |
121 SEI_PIC_STRUCT_BOTTOM_TOP = 4, ///< 4: bottom field, top field, in that order | |
122 SEI_PIC_STRUCT_TOP_BOTTOM_TOP = 5, ///< 5: top field, bottom field, top field repeated, in that order | |
123 SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM = 6, ///< 6: bottom field, top field, bottom field repeated, in that order | |
124 SEI_PIC_STRUCT_FRAME_DOUBLING = 7, ///< 7: %frame doubling | |
125 SEI_PIC_STRUCT_FRAME_TRIPLING = 8 ///< 8: %frame tripling | |
126 } SEI_PicStructType; | |
112 | 127 |
113 /** | 128 /** |
114 * Sequence parameter set | 129 * Sequence parameter set |
115 */ | 130 */ |
116 typedef struct SPS{ | 131 typedef struct SPS{ |
148 int bitstream_restriction_flag; | 163 int bitstream_restriction_flag; |
149 int num_reorder_frames; | 164 int num_reorder_frames; |
150 int scaling_matrix_present; | 165 int scaling_matrix_present; |
151 uint8_t scaling_matrix4[6][16]; | 166 uint8_t scaling_matrix4[6][16]; |
152 uint8_t scaling_matrix8[2][64]; | 167 uint8_t scaling_matrix8[2][64]; |
168 int nal_hrd_parameters_present_flag; | |
169 int vcl_hrd_parameters_present_flag; | |
170 int pic_struct_present_flag; | |
171 int time_offset_length; | |
172 int cpb_removal_delay_length; ///< cpb_removal_delay_length_minus1 + 1 | |
173 int dpb_output_delay_length; ///< dpb_output_delay_length_minus1 + 1 | |
153 }SPS; | 174 }SPS; |
154 | 175 |
155 /** | 176 /** |
156 * Picture parameter set | 177 * Picture parameter set |
157 */ | 178 */ |
458 /** @} */ | 479 /** @} */ |
459 | 480 |
460 int mb_xy; | 481 int mb_xy; |
461 | 482 |
462 uint32_t svq3_watermark_key; | 483 uint32_t svq3_watermark_key; |
484 | |
485 /** | |
486 * pic_struct in picture timing SEI message | |
487 */ | |
488 SEI_PicStructType sei_pic_struct; | |
463 }H264Context; | 489 }H264Context; |
464 | 490 |
465 #endif /* AVCODEC_H264_H */ | 491 #endif /* AVCODEC_H264_H */ |