[FFmpeg-cvslog] lavc/v210dec: Allow odd width.

Carl Eugen Hoyos git at videolan.org
Sat Jan 30 13:33:06 CET 2016


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Sat Jan 30 13:31:44 2016 +0100| [d391feff544f014a01393673f373bbdbca8c9af5] | committer: Carl Eugen Hoyos

lavc/v210dec: Allow odd width.

The rightmost column is not decoded correctly.

Fixes a part of ticket #5195.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d391feff544f014a01393673f373bbdbca8c9af5
---

 libavcodec/v210dec.c |    6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/libavcodec/v210dec.c b/libavcodec/v210dec.c
index 12d5d54..9af9af6 100644
--- a/libavcodec/v210dec.c
+++ b/libavcodec/v210dec.c
@@ -53,10 +53,6 @@ static av_cold int decode_init(AVCodecContext *avctx)
 {
     V210DecContext *s = avctx->priv_data;
 
-    if (avctx->width & 1) {
-        av_log(avctx, AV_LOG_ERROR, "v210 needs even width\n");
-        return AVERROR_INVALIDDATA;
-    }
     avctx->pix_fmt             = AV_PIX_FMT_YUV422P10;
     avctx->bits_per_raw_sample = 10;
 
@@ -141,7 +137,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
         }
 
         psrc += stride;
-        y += pic->linesize[0] / 2 - avctx->width;
+        y += pic->linesize[0] / 2 - avctx->width + (avctx->width & 1);
         u += pic->linesize[1] / 2 - avctx->width / 2;
         v += pic->linesize[2] / 2 - avctx->width / 2;
     }



More information about the ffmpeg-cvslog mailing list