FFmpeg
|
#include "config_components.h"
#include "libavutil/display.h"
#include "libavutil/emms.h"
#include "libavutil/imgutils.h"
#include "libavutil/avassert.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "blockdsp.h"
#include "codec_internal.h"
#include "copy_block.h"
#include "decode.h"
#include "hwaccel_internal.h"
#include "hwconfig.h"
#include "idctdsp.h"
#include "internal.h"
#include "jpegtables.h"
#include "mjpeg.h"
#include "mjpegdec.h"
#include "jpeglsdec.h"
#include "profiles.h"
#include "put_bits.h"
#include "exif.h"
#include "bytestream.h"
#include "tiff_common.h"
Go to the source code of this file.
Macros | |
#define | REFINE_BIT(j) |
#define | ZERO_RUN |
#define | copy_data_segment(skip) |
Functions | |
static int | init_default_huffman_tables (MJpegDecodeContext *s) |
static void | parse_avid (MJpegDecodeContext *s, uint8_t *buf, int len) |
static void | init_idct (AVCodecContext *avctx) |
av_cold int | ff_mjpeg_decode_init (AVCodecContext *avctx) |
int | ff_mjpeg_decode_dqt (MJpegDecodeContext *s) |
int | ff_mjpeg_decode_dht (MJpegDecodeContext *s) |
int | ff_mjpeg_decode_sof (MJpegDecodeContext *s) |
static int | mjpeg_decode_dc (MJpegDecodeContext *s, int dc_index) |
static int | decode_block (MJpegDecodeContext *s, int16_t *block, int component, int dc_index, int ac_index, uint16_t *quant_matrix) |
static int | decode_dc_progressive (MJpegDecodeContext *s, int16_t *block, int component, int dc_index, uint16_t *quant_matrix, int Al) |
static int | decode_block_progressive (MJpegDecodeContext *s, int16_t *block, uint8_t *last_nnz, int ac_index, uint16_t *quant_matrix, int ss, int se, int Al, int *EOBRUN) |
static int | decode_block_refinement (MJpegDecodeContext *s, int16_t *block, uint8_t *last_nnz, int ac_index, uint16_t *quant_matrix, int ss, int se, int Al, int *EOBRUN) |
static int | handle_rstn (MJpegDecodeContext *s, int nb_components) |
static int | ljpeg_decode_rgb_scan (MJpegDecodeContext *s, int nb_components, int predictor, int point_transform) |
static int | ljpeg_decode_yuv_scan (MJpegDecodeContext *s, int predictor, int point_transform, int nb_components) |
static av_always_inline void | mjpeg_copy_block (MJpegDecodeContext *s, uint8_t *dst, const uint8_t *src, int linesize, int lowres) |
static void | shift_output (MJpegDecodeContext *s, uint8_t *ptr, int linesize) |
static int | mjpeg_decode_scan (MJpegDecodeContext *s, int nb_components, int Ah, int Al, const uint8_t *mb_bitmask, int mb_bitmask_size, const AVFrame *reference) |
static int | mjpeg_decode_scan_progressive_ac (MJpegDecodeContext *s, int ss, int se, int Ah, int Al) |
static void | mjpeg_idct_scan_progressive_ac (MJpegDecodeContext *s) |
int | ff_mjpeg_decode_sos (MJpegDecodeContext *s, const uint8_t *mb_bitmask, int mb_bitmask_size, const AVFrame *reference) |
static int | mjpeg_decode_dri (MJpegDecodeContext *s) |
static int | mjpeg_decode_app (MJpegDecodeContext *s) |
static int | mjpeg_decode_com (MJpegDecodeContext *s) |
static int | find_marker (const uint8_t **pbuf_ptr, const uint8_t *buf_end) |
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) |
static void | reset_icc_profile (MJpegDecodeContext *s) |
int | ff_mjpeg_decode_frame_from_buf (AVCodecContext *avctx, AVFrame *frame, int *got_frame, const AVPacket *avpkt, const uint8_t *buf, const int buf_size) |
int | ff_mjpeg_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt) |
av_cold int | ff_mjpeg_decode_end (AVCodecContext *avctx) |
static void | decode_flush (AVCodecContext *avctx) |
MJPEG decoder.
Definition in file mjpegdec.c.
#define REFINE_BIT | ( | j | ) |
Definition at line 973 of file mjpegdec.c.
#define ZERO_RUN |
#define copy_data_segment | ( | skip | ) |
|
static |
Definition at line 61 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_init().
|
static |
Definition at line 104 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_init(), and mjpeg_decode_com().
|
static |
Definition at line 115 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_init(), and ff_mjpeg_decode_sof().
av_cold int ff_mjpeg_decode_init | ( | AVCodecContext * | avctx | ) |
Definition at line 124 of file mjpegdec.c.
Referenced by mxpeg_decode_init().
int ff_mjpeg_decode_dqt | ( | MJpegDecodeContext * | s | ) |
Definition at line 198 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame_from_buf(), mjpegb_decode_frame(), and mxpeg_decode_frame().
int ff_mjpeg_decode_dht | ( | MJpegDecodeContext * | s | ) |
Definition at line 241 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame_from_buf(), ff_mjpeg_decode_init(), mjpegb_decode_frame(), and mxpeg_decode_frame().
int ff_mjpeg_decode_sof | ( | MJpegDecodeContext * | s | ) |
Definition at line 302 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame_from_buf(), mjpegb_decode_frame(), and mxpeg_decode_frame().
|
inlinestatic |
Definition at line 816 of file mjpegdec.c.
Referenced by decode_block(), decode_dc_progressive(), ljpeg_decode_rgb_scan(), and ljpeg_decode_yuv_scan().
|
static |
Definition at line 834 of file mjpegdec.c.
Referenced by mjpeg_decode_scan().
|
static |
Definition at line 882 of file mjpegdec.c.
Referenced by mjpeg_decode_scan().
|
static |
Definition at line 900 of file mjpegdec.c.
Referenced by mjpeg_decode_scan_progressive_ac().
|
static |
Definition at line 999 of file mjpegdec.c.
Referenced by mjpeg_decode_scan_progressive_ac().
|
static |
Definition at line 1064 of file mjpegdec.c.
Referenced by mjpeg_decode_scan(), and mjpeg_decode_scan_progressive_ac().
|
static |
Definition at line 1099 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_sos().
|
static |
Definition at line 1271 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_sos().
|
static |
Definition at line 1425 of file mjpegdec.c.
Referenced by mjpeg_decode_scan().
|
static |
Definition at line 1441 of file mjpegdec.c.
Referenced by mjpeg_decode_scan(), and mjpeg_idct_scan_progressive_ac().
|
static |
Definition at line 1456 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_sos().
|
static |
Definition at line 1577 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_sos().
|
static |
Definition at line 1632 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame_from_buf().
int ff_mjpeg_decode_sos | ( | MJpegDecodeContext * | s, |
const uint8_t * | mb_bitmask, | ||
int | mb_bitmask_size, | ||
const AVFrame * | reference | ||
) |
Definition at line 1667 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame_from_buf(), mjpegb_decode_frame(), and mxpeg_decode_frame().
|
static |
Definition at line 1842 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame_from_buf().
|
static |
Definition at line 1854 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame_from_buf().
|
static |
Definition at line 2171 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame_from_buf().
|
static |
Definition at line 2211 of file mjpegdec.c.
Referenced by ff_mjpeg_find_marker().
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 | ||
) |
Definition at line 2236 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame_from_buf(), and mxpeg_decode_frame().
|
static |
Definition at line 2356 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_end(), and ff_mjpeg_decode_frame_from_buf().
int ff_mjpeg_decode_frame_from_buf | ( | AVCodecContext * | avctx, |
AVFrame * | frame, | ||
int * | got_frame, | ||
const AVPacket * | avpkt, | ||
const uint8_t * | buf, | ||
const int | buf_size | ||
) |
Definition at line 2370 of file mjpegdec.c.
Referenced by ff_mjpeg_decode_frame(), and sp5x_decode_frame().
int ff_mjpeg_decode_frame | ( | AVCodecContext * | avctx, |
AVFrame * | frame, | ||
int * | got_frame, | ||
AVPacket * | avpkt | ||
) |
Definition at line 2924 of file mjpegdec.c.
av_cold int ff_mjpeg_decode_end | ( | AVCodecContext * | avctx | ) |
Definition at line 2934 of file mjpegdec.c.
Referenced by mxpeg_decode_end().
|
static |
Definition at line 2974 of file mjpegdec.c.