From 5cd947d81b3b6dcfbb1f42e800270a4da5dbbcac Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Mon, 28 May 2012 19:05:15 +0200 Subject: [PATCH] Fix r10k codec for widths that are not multiples of 64. Fixes ticket #1358 --- libavcodec/r210dec.c | 3 ++- libavcodec/r210enc.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libavcodec/r210dec.c b/libavcodec/r210dec.c index b81a4f22c7..07dc5886b8 100644 --- a/libavcodec/r210dec.c +++ b/libavcodec/r210dec.c @@ -41,7 +41,8 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, int h, w; AVFrame *pic = avctx->coded_frame; const uint32_t *src = (const uint32_t *)avpkt->data; - int aligned_width = FFALIGN(avctx->width, 64); + int aligned_width = FFALIGN(avctx->width, + avctx->codec_id == CODEC_ID_R10K ? 1 : 64); uint8_t *dst_line; if (pic->data[0]) diff --git a/libavcodec/r210enc.c b/libavcodec/r210enc.c index 92c9ce31f6..0a7dd332ba 100644 --- a/libavcodec/r210enc.c +++ b/libavcodec/r210enc.c @@ -38,7 +38,8 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pic, int *got_packet) { int i, j, ret; - int aligned_width = FFALIGN(avctx->width, 64); + int aligned_width = FFALIGN(avctx->width, + avctx->codec_id == CODEC_ID_R10K ? 1 : 64); int pad = (aligned_width - avctx->width) * 4; uint8_t *src_line; uint8_t *dst;