Merge commit 'df9b9567518f2840d79a4a96b447ebe1aa326408'
* commit 'df9b9567518f2840d79a4a96b447ebe1aa326408': lavc: fix decode_frame() third parameter semantics for video decoders Conflicts: libavcodec/cscd.c libavcodec/eamad.c libavcodec/ffv1dec.c libavcodec/gifdec.c libavcodec/h264.c libavcodec/iff.c libavcodec/mjpegdec.c libavcodec/pcx.c libavcodec/vp56.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -148,7 +148,7 @@ static av_cold int flic_decode_init(AVCodecContext *avctx)
|
||||
}
|
||||
|
||||
static int flic_decode_frame_8BPP(AVCodecContext *avctx,
|
||||
void *data, int *data_size,
|
||||
void *data, int *got_frame,
|
||||
const uint8_t *buf, int buf_size)
|
||||
{
|
||||
FlicDecodeContext *s = avctx->priv_data;
|
||||
@@ -461,14 +461,14 @@ static int flic_decode_frame_8BPP(AVCodecContext *avctx,
|
||||
s->new_palette = 0;
|
||||
}
|
||||
|
||||
*data_size=sizeof(AVFrame);
|
||||
*got_frame = 1;
|
||||
*(AVFrame*)data = s->frame;
|
||||
|
||||
return buf_size;
|
||||
}
|
||||
|
||||
static int flic_decode_frame_15_16BPP(AVCodecContext *avctx,
|
||||
void *data, int *data_size,
|
||||
void *data, int *got_frame,
|
||||
const uint8_t *buf, int buf_size)
|
||||
{
|
||||
/* Note, the only difference between the 15Bpp and 16Bpp */
|
||||
@@ -748,14 +748,14 @@ static int flic_decode_frame_15_16BPP(AVCodecContext *avctx,
|
||||
"and final chunk ptr = %d\n", buf_size, bytestream2_tell(&g2));
|
||||
|
||||
|
||||
*data_size=sizeof(AVFrame);
|
||||
*got_frame = 1;
|
||||
*(AVFrame*)data = s->frame;
|
||||
|
||||
return buf_size;
|
||||
}
|
||||
|
||||
static int flic_decode_frame_24BPP(AVCodecContext *avctx,
|
||||
void *data, int *data_size,
|
||||
void *data, int *got_frame,
|
||||
const uint8_t *buf, int buf_size)
|
||||
{
|
||||
av_log(avctx, AV_LOG_ERROR, "24Bpp FLC Unsupported due to lack of test files.\n");
|
||||
@@ -763,22 +763,22 @@ static int flic_decode_frame_24BPP(AVCodecContext *avctx,
|
||||
}
|
||||
|
||||
static int flic_decode_frame(AVCodecContext *avctx,
|
||||
void *data, int *data_size,
|
||||
void *data, int *got_frame,
|
||||
AVPacket *avpkt)
|
||||
{
|
||||
const uint8_t *buf = avpkt->data;
|
||||
int buf_size = avpkt->size;
|
||||
if (avctx->pix_fmt == AV_PIX_FMT_PAL8) {
|
||||
return flic_decode_frame_8BPP(avctx, data, data_size,
|
||||
return flic_decode_frame_8BPP(avctx, data, got_frame,
|
||||
buf, buf_size);
|
||||
}
|
||||
else if ((avctx->pix_fmt == AV_PIX_FMT_RGB555) ||
|
||||
(avctx->pix_fmt == AV_PIX_FMT_RGB565)) {
|
||||
return flic_decode_frame_15_16BPP(avctx, data, data_size,
|
||||
return flic_decode_frame_15_16BPP(avctx, data, got_frame,
|
||||
buf, buf_size);
|
||||
}
|
||||
else if (avctx->pix_fmt == AV_PIX_FMT_BGR24) {
|
||||
return flic_decode_frame_24BPP(avctx, data, data_size,
|
||||
return flic_decode_frame_24BPP(avctx, data, got_frame,
|
||||
buf, buf_size);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user