[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