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
static const uint8_t sp5x_data_dqt[]
int coded_width
Bitstream width / height, may be different from width/height e.g.
static av_cold int init(AVCodecContext *avctx)
static const uint8_t sp5x_data_dht[]
MJPEG encoder and decoder.
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
#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 const uint8_t sp5x_data_sos[]
int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
av_cold int ff_mjpeg_decode_end(AVCodecContext *avctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
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.
int width
picture width / height.
Libavcodec external API header.
main external API structure.
static const uint8_t sp5x_data_sof[]
av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx)
common internal api header.
static int sp5x_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
void av_init_packet(AVPacket *pkt)
Initialize optional fields of a packet with default values.
This structure stores compressed data.
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
static const uint8_t sp5x_quant_table[20][64]