From dccea0ed0d993792b58dab8f232509c62f0522fd Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Thu, 23 Jun 2016 12:55:30 +0200 Subject: [PATCH] avcodec/sheervideo: fix YbYr format decoding Signed-off-by: Paul B Mahol --- libavcodec/sheervideo.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/sheervideo.c b/libavcodec/sheervideo.c index 7ae54793a1..2f08b7bff0 100644 --- a/libavcodec/sheervideo.c +++ b/libavcodec/sheervideo.c @@ -1794,9 +1794,9 @@ static void decode_ybyr(AVCodecContext *avctx, AVFrame *p, GetBitContext *gb) if (get_bits1(gb)) { for (x = 0; x < avctx->width; x += 2) { dst_y[x ] = get_bits(gb, 8); - dst_u[x / 2] = get_bits(gb, 8); + dst_u[x / 2] = get_bits(gb, 8) + 128; dst_y[x + 1] = get_bits(gb, 8); - dst_v[x / 2] = get_bits(gb, 8); + dst_v[x / 2] = get_bits(gb, 8) + 128; } } else { int pred[4] = { -128, 128, 128, 0 }; @@ -1824,9 +1824,9 @@ static void decode_ybyr(AVCodecContext *avctx, AVFrame *p, GetBitContext *gb) if (get_bits1(gb)) { for (x = 0; x < avctx->width; x += 2) { dst_y[x ] = get_bits(gb, 8); - dst_u[x / 2] = get_bits(gb, 8); + dst_u[x / 2] = get_bits(gb, 8) + 128; dst_y[x + 1] = get_bits(gb, 8); - dst_v[x / 2] = get_bits(gb, 8); + dst_v[x / 2] = get_bits(gb, 8) + 128; } } else { int pred_TL[4], pred_L[4], pred_T[4];