[FFmpeg-cvslog] r24853 - trunk/libavcodec/mpegvideo.c
fenrir
subversion
Fri Aug 20 20:28:42 CEST 2010
Author: fenrir
Date: Fri Aug 20 20:28:42 2010
New Revision: 24853
Log:
Fixed mpeg12 top field first flag value with field picture encoding.
The relevent extract of the iso 13818-2 about the value of the syntaxical
element top_field_first of the Picture Coding Extension is:
"top_field_first -- The meaning of this element depends upon picture_structure,
progressive_sequence and repeat_first_field.
[...]
In a field picture top_field_first shall have the value '0', and the only field
output by the decoding process is the decoded field picture."
Modified:
trunk/libavcodec/mpegvideo.c
Modified: trunk/libavcodec/mpegvideo.c
==============================================================================
--- trunk/libavcodec/mpegvideo.c Fri Aug 20 18:55:37 2010 (r24852)
+++ trunk/libavcodec/mpegvideo.c Fri Aug 20 20:28:42 2010 (r24853)
@@ -963,7 +963,14 @@ int MPV_frame_start(MpegEncContext *s, A
return -1;
s->current_picture_ptr= pic;
- s->current_picture_ptr->top_field_first= s->top_field_first; //FIXME use only the vars from current_pic
+ //FIXME use only the vars from current_pic
+ if(s->codec_id == CODEC_ID_MPEG1VIDEO || s->codec_id == CODEC_ID_MPEG2VIDEO) {
+ if(s->picture_structure == PICT_FRAME)
+ s->current_picture_ptr->top_field_first= s->top_field_first;
+ else
+ s->current_picture_ptr->top_field_first= (s->picture_structure == PICT_TOP_FIELD) == s->first_field;
+ } else
+ s->current_picture_ptr->top_field_first= s->top_field_first;
s->current_picture_ptr->interlaced_frame= !s->progressive_frame && !s->progressive_sequence;
}
More information about the ffmpeg-cvslog
mailing list