diff --git a/Changelog b/Changelog index 6f0acec0d7edda2954f421881dd74a26f77c21fb..7c72d3ca329c9e6b0b75eb88b1d5abef9e4b4e40 100644 --- a/Changelog +++ b/Changelog @@ -98,6 +98,7 @@ version - additional SPARC (VIS) optimizations - AMV audio and video decoder - DNxHD encoder +- H.264 PAFF decoding version 0.4.9-pre1: diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 752f2d236fe3196946aee7f099b9c1a9bd35e5f1..6f5d37ac31365ad70c992451592f5cc2c058b2a5 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -3989,7 +3989,6 @@ static int decode_slice_header(H264Context *h, H264Context *h0){ }else{ if(get_bits1(&s->gb)) { //field_pic_flag s->picture_structure= PICT_TOP_FIELD + get_bits1(&s->gb); //bottom_field_flag - av_log(h->s.avctx, AV_LOG_ERROR, "PAFF interlacing is not implemented\n"); } else { s->picture_structure= PICT_FRAME; h->mb_aff_frame = h->sps.mb_aff; diff --git a/libavcodec/h264.h b/libavcodec/h264.h index 43c356760f7bc03383c5c57ed7558c56664ec77b..d85fcb7674d69943b35528dc17a71942a23daeb8 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -59,7 +59,7 @@ #define MB_MBAFF h->mb_mbaff #define MB_FIELD h->mb_field_decoding_flag #define FRAME_MBAFF h->mb_aff_frame -#define FIELD_PICTURE 0 +#define FIELD_PICTURE (s->picture_structure != PICT_FRAME) #else #define MB_MBAFF 0 #define MB_FIELD 0