Go to the documentation of this file.
35 void *
data,
int *got_frame,
39 int buf_size = avpkt->
size;
73 for (
i = 2;
i < buf_size-2 && j < buf_size+1024-2;
i++)
74 recoded[j++] =
buf[
i];
76 for (
i = 14;
i < buf_size && j < buf_size+1024-3;
i++)
78 recoded[j++] =
buf[
i];
88 avpkt_recoded.
data = recoded;
89 avpkt_recoded.
size = j;
94 return i < 0 ?
i : avpkt->
size;
97 #if CONFIG_SP5X_DECODER
112 #if CONFIG_AMV_DECODER
#define FF_CODEC_CAP_INIT_THREADSAFE
The codec does not modify any global variables in the init function, allowing to call the init functi...
static av_cold int init(AVCodecContext *avctx)
static const uint8_t sp5x_data_sos[]
av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx)
static const uint8_t sp5x_quant_table[20][64]
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
av_cold int ff_mjpeg_decode_end(AVCodecContext *avctx)
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static const uint8_t sp5x_data_sof[]
static const uint8_t sp5x_data_dqt[]
static int sp5x_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
#define i(width, name, range_min, range_max)
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
const char * name
Name of the codec implementation.
main external API structure.
int coded_width
Bitstream width / height, may be different from width/height e.g.
static const uint8_t sp5x_data_dht[]
This structure stores compressed data.
int width
picture width / height.
void av_init_packet(AVPacket *pkt)
Initialize optional fields of a packet with default values.