summaryrefslogtreecommitdiff
path: root/libavcodec/vc1.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-01-24 02:41:53 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-01-24 02:41:53 +0100
commit0bb57f8bf029427059be21a562527dcfa0e264c9 (patch)
tree8e6743c4fc1f16f36899bdea87e485735c0d8d59 /libavcodec/vc1.c
parentb955d4072e3e563b230c9ab4d6575577a3dc7314 (diff)
parent0fec2cb15cc6ff1fcc724c774ec36abadcb7b6ad (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: Remove ffmpeg. aacenc: Simplify windowing aacenc: Move saved overlap samples to the beginning of the same buffer as incoming samples. aacenc: Deinterleave input samples before processing. aacenc: Store channel count in AACEncContext. aacenc: Move Q^3/4 calculation to it's own table aacenc: Request normalized float samples instead of converting s16 samples to float. aacpsy: Replace an if with FFMAX in LAME windowing. aacenc: cosmetics, replace 'rd' with 'bits' in codebook_trellis_rate to make it more clear what is being calculated. aacpsy: cosmetics, change a FIXME to a NOTE about subshort comparisons aacenc: cosmetics: move init() and end() to the bottom of the file. aacenc: aac_encode_init() cleanup XWD encoder and decoder vc1: don't read the interpfrm and bfraction elements for interlaced frames mxfdec: fix memleak on mxf_read_close() westwood: split the AUD and VQA demuxers into separate files. Conflicts: .gitignore Changelog Makefile configure doc/ffmpeg.texi ffmpeg.c libavcodec/Makefile libavcodec/aacenc.c libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/version.h libavformat/Makefile libavformat/img2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/vc1.c')
-rw-r--r--libavcodec/vc1.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 775caa69f8..64884fcc50 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -918,13 +918,15 @@ int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
}
goto parse_common_info;
}
- if (v->finterpflag)
- v->interpfrm = get_bits1(gb);
- if (v->s.pict_type == AV_PICTURE_TYPE_B) {
- v->bfraction_lut_index = get_vlc2(gb, ff_vc1_bfraction_vlc.table, VC1_BFRACTION_VLC_BITS, 1);
- v->bfraction = ff_vc1_bfraction_lut[v->bfraction_lut_index];
- if (v->bfraction == 0) {
- v->s.pict_type = AV_PICTURE_TYPE_BI; /* XXX: should not happen here */
+ if (v->fcm == PROGRESSIVE) {
+ if (v->finterpflag)
+ v->interpfrm = get_bits1(gb);
+ if (v->s.pict_type == AV_PICTURE_TYPE_B) {
+ v->bfraction_lut_index = get_vlc2(gb, ff_vc1_bfraction_vlc.table, VC1_BFRACTION_VLC_BITS, 1);
+ v->bfraction = ff_vc1_bfraction_lut[v->bfraction_lut_index];
+ if (v->bfraction == 0) {
+ v->s.pict_type = AV_PICTURE_TYPE_BI; /* XXX: should not happen here */
+ }
}
}