Mercurial > libavcodec.hg
comparison h264_parser.c @ 9035:d22ed7aad1b0 libavcodec
Correct time_base of H.264 and repeat_pict.
Patch by Ivan Schreter, schreter gmx net
author | cehoyos |
---|---|
date | Tue, 24 Feb 2009 20:19:59 +0000 |
parents | 78afc2990d00 |
children | d4002371b3d2 |
comparison
equal
deleted
inserted
replaced
9034:96731d42ca82 | 9035:d22ed7aad1b0 |
---|---|
194 | 194 |
195 if(h->sps.pic_struct_present_flag) { | 195 if(h->sps.pic_struct_present_flag) { |
196 switch (h->sei_pic_struct) { | 196 switch (h->sei_pic_struct) { |
197 case SEI_PIC_STRUCT_TOP_FIELD: | 197 case SEI_PIC_STRUCT_TOP_FIELD: |
198 case SEI_PIC_STRUCT_BOTTOM_FIELD: | 198 case SEI_PIC_STRUCT_BOTTOM_FIELD: |
199 s->repeat_pict = -1; | 199 s->repeat_pict = 0; |
200 break; | 200 break; |
201 case SEI_PIC_STRUCT_FRAME: | 201 case SEI_PIC_STRUCT_FRAME: |
202 case SEI_PIC_STRUCT_TOP_BOTTOM: | 202 case SEI_PIC_STRUCT_TOP_BOTTOM: |
203 case SEI_PIC_STRUCT_BOTTOM_TOP: | 203 case SEI_PIC_STRUCT_BOTTOM_TOP: |
204 s->repeat_pict = 0; | 204 s->repeat_pict = 1; |
205 break; | 205 break; |
206 case SEI_PIC_STRUCT_TOP_BOTTOM_TOP: | 206 case SEI_PIC_STRUCT_TOP_BOTTOM_TOP: |
207 case SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM: | 207 case SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM: |
208 s->repeat_pict = 1; | 208 s->repeat_pict = 2; |
209 break; | 209 break; |
210 case SEI_PIC_STRUCT_FRAME_DOUBLING: | 210 case SEI_PIC_STRUCT_FRAME_DOUBLING: |
211 s->repeat_pict = 2; | 211 s->repeat_pict = 3; |
212 break; | 212 break; |
213 case SEI_PIC_STRUCT_FRAME_TRIPLING: | 213 case SEI_PIC_STRUCT_FRAME_TRIPLING: |
214 s->repeat_pict = 4; | 214 s->repeat_pict = 5; |
215 break; | 215 break; |
216 default: | 216 default: |
217 s->repeat_pict = h->s.picture_structure == PICT_FRAME ? 0 : -1; | 217 s->repeat_pict = h->s.picture_structure == PICT_FRAME ? 1 : 0; |
218 break; | 218 break; |
219 } | 219 } |
220 } else { | 220 } else { |
221 s->repeat_pict = h->s.picture_structure == PICT_FRAME ? 0 : -1; | 221 s->repeat_pict = h->s.picture_structure == PICT_FRAME ? 1 : 0; |
222 } | 222 } |
223 | 223 |
224 return 0; /* no need to evaluate the rest */ | 224 return 0; /* no need to evaluate the rest */ |
225 } | 225 } |
226 buf += consumed; | 226 buf += consumed; |