diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-04-15 15:02:33 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-06-12 20:27:52 +0200 |
commit | fa57059079190242517701120cfdccad93c866da (patch) | |
tree | 23d043675e08464178de0b6b3dc07df9921c521e /libavcodec | |
parent | 7b50d60442af8d9527e9da46818011fe15a5265a (diff) | |
download | ffmpeg-fa57059079190242517701120cfdccad93c866da.tar.gz |
h264: move initialising the implicit pred weight table for MBAFF
Do it where the normal implicit table is initialised.
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/h264_slice.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index 33f9f57a33..031f8cc7d8 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -1357,6 +1357,10 @@ static int h264_slice_header_parse(H264Context *h, H264SliceContext *sl) else if (pps->weighted_bipred_idc == 2 && sl->slice_type_nos == AV_PICTURE_TYPE_B) { implicit_weight_table(h, sl, -1); + if (FRAME_MBAFF(h)) { + implicit_weight_table(h, sl, 0); + implicit_weight_table(h, sl, 1); + } } else { sl->pwt.use_weight = 0; for (i = 0; i < 2; i++) { @@ -1378,13 +1382,6 @@ static int h264_slice_header_parse(H264Context *h, H264SliceContext *sl) return AVERROR_INVALIDDATA; } - if (FRAME_MBAFF(h)) { - if (pps->weighted_bipred_idc == 2 && sl->slice_type_nos == AV_PICTURE_TYPE_B) { - implicit_weight_table(h, sl, 0); - implicit_weight_table(h, sl, 1); - } - } - if (sl->slice_type_nos != AV_PICTURE_TYPE_I && pps->cabac) { tmp = get_ue_golomb_31(&sl->gb); if (tmp > 2) { |