29 #ifndef AVCODEC_MJPEGDEC_H 30 #define AVCODEC_MJPEGDEC_H 45 #define MAX_COMPONENTS 4 64 uint16_t quant_matrixes[4][64];
136 uint16_t (*ljpeg_buffer)[4];
169 const uint8_t *val_table,
int is_ac,
void *logctx);
177 const uint8_t *mb_bitmask,
int mb_bitmask_size,
181 const uint8_t **unescaped_buf_ptr,
int *unescaped_buf_size);
int ff_mjpeg_decode_sos(MJpegDecodeContext *s, const uint8_t *mb_bitmask, int mb_bitmask_size, const AVFrame *reference)
const AVPixFmtDescriptor * pix_desc
!< stereoscopic information (cached, since it is read before frame allocation)
This structure describes decoded (raw) audio or video data.
size_t raw_image_buffer_size
int ff_sp5x_process_packet(AVCodecContext *avctx, AVPacket *avpkt)
int ff_mjpeg_build_vlc(VLC *vlc, const uint8_t *bits_table, const uint8_t *val_table, int is_ac, void *logctx)
int ff_mjpeg_decode_init(AVCodecContext *avctx)
const uint8_t * raw_image_buffer
The exact code depends on how similar the blocks are and how related they are to the block
Stereo 3D type: this structure describes how two videos are packed within a single video surface...
unsigned int ljpeg_buffer_size
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
bitstream reader API header.
int ff_mjpeg_decode_dqt(MJpegDecodeContext *s)
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)
AVDictionary * exif_metadata
int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
int near
near lossless bound (si 0 for lossless)
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a frame
int ff_mjpeg_decode_dht(MJpegDecodeContext *s)
Libavcodec external API header.
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
main external API structure.
Describe the class of an AVClass context structure.
int reset
context halfing interval ?rename
size_t raw_scan_buffer_size
const uint8_t * raw_scan_buffer
int ff_mjpeg_receive_frame(AVCodecContext *avctx, AVFrame *frame)
int got_picture
we found a SOF and picture is valid, too.
void * hwaccel_picture_private
int ff_mjpeg_decode_end(AVCodecContext *avctx)
AVPixelFormat
Pixel format.
This structure stores compressed data.