[FFmpeg-devel] [PATCH 2/3] avcodec/mjpeg: Pass full buffer to hwaccel start_frame
Philip Langdale
philipl at overt.org
Mon Feb 19 01:53:32 EET 2018
---
libavcodec/mjpegdec.c | 6 ++++--
libavcodec/mjpegdec.h | 5 +++--
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 9a7a329b19..b41d2ce467 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -715,8 +715,8 @@ unk_pixfmt:
if (!s->hwaccel_picture_private)
return AVERROR(ENOMEM);
- ret = s->avctx->hwaccel->start_frame(s->avctx, s->raw_buffer,
- s->raw_buffer_size);
+ ret = s->avctx->hwaccel->start_frame(s->avctx, s->raw_packet->data,
+ s->raw_packet->size);
if (ret < 0)
return ret;
}
@@ -2242,6 +2242,8 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
int ret = 0;
int is16bit;
+ s->raw_packet = avpkt;
+
av_dict_free(&s->exif_metadata);
av_freep(&s->stereo3d);
s->adobe_transform = -1;
diff --git a/libavcodec/mjpegdec.h b/libavcodec/mjpegdec.h
index 11dfdbf62b..b47f54a5b9 100644
--- a/libavcodec/mjpegdec.h
+++ b/libavcodec/mjpegdec.h
@@ -139,8 +139,9 @@ typedef struct MJpegDecodeContext {
int iccread;
// Raw stream data for hwaccel use.
- const uint8_t *raw_buffer;
- size_t raw_buffer_size;
+ const AVPacket *raw_packet;
+ const uint8_t *raw_buffer;
+ size_t raw_buffer_size;
uint8_t raw_huffman_lengths[2][4][16];
uint8_t raw_huffman_values[2][4][256];
--
2.14.1
More information about the ffmpeg-devel
mailing list