]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mjpegdec.h
smvjpegdec: merge into mjpegdec
[ffmpeg] / libavcodec / mjpegdec.h
index 653fe7cae6eecc92b72527752e5b4bb102b26c42..d9844adf4ef7f169e17dde35c9d20dc65571142a 100644 (file)
@@ -49,6 +49,8 @@ typedef struct MJpegDecodeContext {
     GetBitContext gb;
     int buf_size;
 
+    AVPacket *pkt;
+
     int start_code; /* current start code */
     int buffer_size;
     uint8_t *buffer;
@@ -64,6 +66,7 @@ typedef struct MJpegDecodeContext {
     int lossless;
     int ls;
     int progressive;
+    int bayer;          /* true if it's a bayer-encoded JPEG embedded in a DNG */
     int rgb;
     uint8_t upscale_h[4];
     uint8_t upscale_v[4];
@@ -139,6 +142,10 @@ typedef struct MJpegDecodeContext {
     int iccnum;
     int iccread;
 
+    AVFrame *smv_frame;
+    int smv_frames_per_jpeg;
+    int smv_next_frame;
+
     // Raw stream data for hwaccel use.
     const uint8_t *raw_image_buffer;
     size_t         raw_image_buffer_size;
@@ -155,9 +162,7 @@ typedef struct MJpegDecodeContext {
 
 int ff_mjpeg_decode_init(AVCodecContext *avctx);
 int ff_mjpeg_decode_end(AVCodecContext *avctx);
-int ff_mjpeg_decode_frame(AVCodecContext *avctx,
-                          void *data, int *got_frame,
-                          AVPacket *avpkt);
+int ff_mjpeg_receive_frame(AVCodecContext *avctx, AVFrame *frame);
 int ff_mjpeg_decode_dqt(MJpegDecodeContext *s);
 int ff_mjpeg_decode_dht(MJpegDecodeContext *s);
 int ff_mjpeg_decode_sof(MJpegDecodeContext *s);
@@ -168,4 +173,6 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s,
                          const uint8_t **buf_ptr, const uint8_t *buf_end,
                          const uint8_t **unescaped_buf_ptr, int *unescaped_buf_size);
 
+int ff_sp5x_process_packet(AVCodecContext *avctx, AVPacket *avpkt);
+
 #endif /* AVCODEC_MJPEGDEC_H */