|
|
|
@ -87,21 +87,20 @@ static int cyuv_decode_frame(AVCodecContext *avctx, |
|
|
|
|
* of 4 pixels. Thus, the total size of the buffer ought to be: |
|
|
|
|
* (3 * 16) + height * (width * 3 / 4) */ |
|
|
|
|
if (buf_size != 48 + s->height * (s->width * 3 / 4)) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "ffmpeg: cyuv: got a buffer with %d bytes when %d were expected\n", |
|
|
|
|
buf_size, |
|
|
|
|
48 + s->height * (s->width * 3 / 4)); |
|
|
|
|
return -1; |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "ffmpeg: cyuv: got a buffer with %d bytes when %d were expected\n", |
|
|
|
|
buf_size, 48 + s->height * (s->width * 3 / 4)); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* pixel data starts 48 bytes in, after 3x16-byte tables */ |
|
|
|
|
stream_ptr = 48; |
|
|
|
|
|
|
|
|
|
if(s->frame.data[0]) |
|
|
|
|
if (s->frame.data[0]) |
|
|
|
|
avctx->release_buffer(avctx, &s->frame); |
|
|
|
|
|
|
|
|
|
s->frame.buffer_hints = FF_BUFFER_HINTS_VALID; |
|
|
|
|
s->frame.reference = 0; |
|
|
|
|
if(avctx->get_buffer(avctx, &s->frame) < 0) { |
|
|
|
|
if (avctx->get_buffer(avctx, &s->frame) < 0) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|