[FFmpeg-cvslog] avcodec/vc1: fix mquant calculation for interlace field pictures
Jerome Borsboom
git at videolan.org
Tue May 29 00:46:16 EEST 2018
ffmpeg | branch: master | Jerome Borsboom <jerome.borsboom at carpalis.nl> | Fri May 18 17:06:23 2018 +0200| [c0402e1e30c2318359af1bce1d652f4616b21566] | committer: Carl Eugen Hoyos
avcodec/vc1: fix mquant calculation for interlace field pictures
For interlace field pictures s->mb_height indicates the height of the full
picture in MBs, i.e. the two fields combined. A single field is half this
size. When calculating mquant for interlace field pictures, the bottom edge
is the last MB row of the field.
Signed-off-by: Jerome Borsboom <jerome.borsboom at carpalis.nl>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c0402e1e30c2318359af1bce1d652f4616b21566
---
libavcodec/vc1_block.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/vc1_block.c b/libavcodec/vc1_block.c
index 2d76da293b..21ab108169 100644
--- a/libavcodec/vc1_block.c
+++ b/libavcodec/vc1_block.c
@@ -181,7 +181,8 @@ static void vc1_put_signed_blocks_clamped(VC1Context *v)
mquant = -v->altpq; \
if ((edges&4) && s->mb_x == (s->mb_width - 1)) \
mquant = -v->altpq; \
- if ((edges&8) && s->mb_y == (s->mb_height - 1)) \
+ if ((edges&8) && \
+ s->mb_y == ((s->mb_height >> v->field_mode) - 1)) \
mquant = -v->altpq; \
if (!mquant || mquant > 31) { \
av_log(v->s.avctx, AV_LOG_ERROR, \
More information about the ffmpeg-cvslog
mailing list