42 0x4a, 0x46, 0x49, 0x46, 0x00,
54 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
55 0x0a, 0x0b, 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01,
56 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
84 int input_skip, output_size;
102 input_skip = (in->
data[4] << 8) + in->
data[5] + 4;
106 if (in->
size < input_skip) {
111 output_size = in->
size - input_skip +
121 output =
append(output, in->
data + input_skip, in->
size - input_skip);
139 .p.name =
"mjpeg2jpeg",
static enum AVCodecID codec_ids[]
static AVFormatContext * ctx
const FFBitStreamFilter ff_mjpeg2jpeg_bsf
int ff_bsf_get_packet(AVBSFContext *ctx, AVPacket **pkt)
Called by the bitstream filters to get the next packet for filtering.
AVCodecID
Identify the syntax and semantics of the bitstream.
void av_packet_free(AVPacket **pkt)
Free the packet, if the packet is reference counted, it will be unreferenced first.
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
int av_packet_copy_props(AVPacket *dst, const AVPacket *src)
Copy only "properties" fields from src to dst.
int av_new_packet(AVPacket *pkt, int size)
Allocate the payload of a packet and initialize its fields with default values.
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
FF_VISIBILITY_PUSH_HIDDEN const uint8_t ff_mjpeg_bits_dc_luminance[]
const uint8_t ff_mjpeg_val_ac_chrominance[]
const uint8_t ff_mjpeg_bits_ac_luminance[]
const uint8_t ff_mjpeg_bits_ac_chrominance[]
const uint8_t ff_mjpeg_val_dc[]
const uint8_t ff_mjpeg_val_ac_luminance[]
static const uint8_t jpeg_header[]
static const int dht_segment_size
static int mjpeg2jpeg_filter(AVBSFContext *ctx, AVPacket *out)
static const uint8_t dht_segment_head[]
static uint8_t * append(uint8_t *buf, const uint8_t *src, int size)
static const uint8_t dht_segment_frag[]
static uint8_t * append_dht_segment(uint8_t *buf)
MJPEG encoder and decoder.
The bitstream filter state.
This structure stores compressed data.