mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-01-06 06:05:32 +01:00
Use context variable repeat_pict for frame duration computation and
document this new use. Patch by Ivan Schreter, schreter gmx net Originally committed as revision 17492 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
committed by
Carl Eugen Hoyos
parent
f5007cc844
commit
346db3ef7f
@@ -192,6 +192,35 @@ static inline int parse_nal_units(AVCodecParserContext *s,
|
||||
}
|
||||
}
|
||||
|
||||
if(h->sps.pic_struct_present_flag) {
|
||||
switch (h->sei_pic_struct) {
|
||||
case SEI_PIC_STRUCT_TOP_FIELD:
|
||||
case SEI_PIC_STRUCT_BOTTOM_FIELD:
|
||||
s->repeat_pict = -1;
|
||||
break;
|
||||
case SEI_PIC_STRUCT_FRAME:
|
||||
case SEI_PIC_STRUCT_TOP_BOTTOM:
|
||||
case SEI_PIC_STRUCT_BOTTOM_TOP:
|
||||
s->repeat_pict = 0;
|
||||
break;
|
||||
case SEI_PIC_STRUCT_TOP_BOTTOM_TOP:
|
||||
case SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM:
|
||||
s->repeat_pict = 1;
|
||||
break;
|
||||
case SEI_PIC_STRUCT_FRAME_DOUBLING:
|
||||
s->repeat_pict = 2;
|
||||
break;
|
||||
case SEI_PIC_STRUCT_FRAME_TRIPLING:
|
||||
s->repeat_pict = 4;
|
||||
break;
|
||||
default:
|
||||
s->repeat_pict = h->s.picture_structure == PICT_FRAME ? 0 : -1;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
s->repeat_pict = h->s.picture_structure == PICT_FRAME ? 0 : -1;
|
||||
}
|
||||
|
||||
return 0; /* no need to evaluate the rest */
|
||||
}
|
||||
buf += consumed;
|
||||
|
||||
Reference in New Issue
Block a user