X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fyop.c;h=16a2db13e40a68bc30713e105d394124729b0c31;hb=642a655f7d9a6afc97fff5f3ecd6a7ad5d53e0ca;hp=255ed32ca783482bfde254b1a51529d7f4614a24;hpb=211372e86dbf73505bd981dec7ad755e0623d22d;p=ffmpeg diff --git a/libavcodec/yop.c b/libavcodec/yop.c index 255ed32ca78..16a2db13e40 100644 --- a/libavcodec/yop.c +++ b/libavcodec/yop.c @@ -27,6 +27,7 @@ #include "avcodec.h" #include "get_bits.h" +#include "internal.h" typedef struct YopDecContext { AVFrame frame; @@ -191,7 +192,7 @@ static void yop_next_macroblock(YopDecContext *s) s->dstptr += 2; } -static int yop_decode_frame(AVCodecContext *avctx, void *data, int *data_size, +static int yop_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) { YopDecContext *s = avctx->priv_data; @@ -207,7 +208,7 @@ static int yop_decode_frame(AVCodecContext *avctx, void *data, int *data_size, return AVERROR_INVALIDDATA; } - ret = avctx->get_buffer(avctx, &s->frame); + ret = ff_get_buffer(avctx, &s->frame); if (ret < 0) { av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); return ret; @@ -258,7 +259,7 @@ static int yop_decode_frame(AVCodecContext *avctx, void *data, int *data_size, yop_next_macroblock(s); } - *data_size = sizeof(AVFrame); + *got_frame = 1; *(AVFrame *) data = s->frame; return avpkt->size; }