mirror of https://git.ffmpeg.org/ffmpeg.git
lavc/v210dec: Allow odd width.
The rightmost column is not decoded correctly. Fixes a part of ticket #5195.
This commit is contained in:
parent
0275b2d917
commit
d391feff54
|
@ -53,10 +53,6 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
V210DecContext *s = avctx->priv_data;
|
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->pix_fmt = AV_PIX_FMT_YUV422P10;
|
||||||
avctx->bits_per_raw_sample = 10;
|
avctx->bits_per_raw_sample = 10;
|
||||||
|
|
||||||
|
@ -141,7 +137,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
||||||
}
|
}
|
||||||
|
|
||||||
psrc += stride;
|
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;
|
u += pic->linesize[1] / 2 - avctx->width / 2;
|
||||||
v += pic->linesize[2] / 2 - avctx->width / 2;
|
v += pic->linesize[2] / 2 - avctx->width / 2;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue