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 */