* Miro VideoXL codec.
*/
+#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
+#include "internal.h"
typedef struct VideoXLContext{
AVCodecContext *avctx;
120, 121, 122, 123, 124, 125, 126, 127};
static int decode_frame(AVCodecContext *avctx,
- void *data, int *data_size,
+ void *data, int *got_frame,
AVPacket *avpkt)
{
const uint8_t *buf = avpkt->data;
avctx->release_buffer(avctx, p);
p->reference = 0;
- if(avctx->get_buffer(avctx, p) < 0){
+ if(ff_get_buffer(avctx, p) < 0){
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return -1;
}
V += a->pic.linesize[2];
}
- *data_size = sizeof(AVFrame);
+ *got_frame = 1;
*(AVFrame*)data = a->pic;
return buf_size;
static av_cold int decode_init(AVCodecContext *avctx){
// VideoXLContext * const a = avctx->priv_data;
- avctx->pix_fmt= PIX_FMT_YUV411P;
+ avctx->pix_fmt= AV_PIX_FMT_YUV411P;
return 0;
}
AVCodec ff_xl_decoder = {
.name = "xl",
.type = AVMEDIA_TYPE_VIDEO,
- .id = CODEC_ID_VIXL,
+ .id = AV_CODEC_ID_VIXL,
.priv_data_size = sizeof(VideoXLContext),
.init = decode_init,
.close = decode_end,