1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

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

Fixes ticket #1358
This commit is contained in:
Carl Eugen Hoyos 2012-05-28 19:05:15 +02:00
parent 77cea13f05
commit 5cd947d81b
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; int h, w;
AVFrame *pic = avctx->coded_frame; AVFrame *pic = avctx->coded_frame;
const uint32_t *src = (const uint32_t *)avpkt->data; 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; uint8_t *dst_line;
if (pic->data[0]) if (pic->data[0])

View File

@ -38,7 +38,8 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
const AVFrame *pic, int *got_packet) const AVFrame *pic, int *got_packet)
{ {
int i, j, ret; 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; int pad = (aligned_width - avctx->width) * 4;
uint8_t *src_line; uint8_t *src_line;
uint8_t *dst; uint8_t *dst;