Fix r10k codec for widths that are not multiples of 64.

Fixes ticket #1358
(cherry picked from commit 5cd947d81b3b6dcfbb1f42e800270a4da5dbbcac)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Carl Eugen Hoyos 2012-05-28 19:05:15 +02:00 committed by Michael Niedermayer
parent 3a68e989ec
commit ee50ec19c7
2 changed files with 4 additions and 2 deletions

View File

@ -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])

View File

@ -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;