33 #ifndef AVCODEC_MJPEGENC_H 34 #define AVCODEC_MJPEGENC_H 61 uint8_t huff_size_dc_luminance[12];
62 uint16_t huff_code_dc_luminance[12];
63 uint8_t huff_size_dc_chrominance[12];
64 uint16_t huff_code_dc_chrominance[12];
66 uint8_t huff_size_ac_luminance[256];
67 uint16_t huff_code_ac_luminance[256];
68 uint8_t huff_size_ac_chrominance[256];
69 uint16_t huff_code_ac_chrominance[256];
72 uint8_t uni_ac_vlc_len[64 * 64 * 2];
74 uint8_t uni_chroma_ac_vlc_len[64 * 64 * 2];
77 uint8_t bits_dc_luminance[17];
78 uint8_t val_dc_luminance[12];
79 uint8_t bits_dc_chrominance[17];
80 uint8_t val_dc_chrominance[12];
83 uint8_t bits_ac_luminance[17];
84 uint8_t val_ac_luminance[256];
85 uint8_t bits_ac_chrominance[17];
86 uint8_t val_ac_chrominance[256];
98 NB_HUFFMAN_TABLE_OPTION = 2
103 put_bits(p, 8, 0xff);
104 put_bits(p, 8, code);
109 void ff_mjpeg_encode_mb(
MpegEncContext *s, int16_t block[12][64]);
Holds JPEG frame data and Huffman table data.
Definition: mjpegenc.h:59
Definition: put_bits.h:35
struct MJpegContext MJpegContext
Holds JPEG frame data and Huffman table data.
MJPEG encoder and decoder.
Use the default Huffman tables.
Definition: mjpegenc.h:96
uint8_t table_id
The Huffman table id associated with the data.
Definition: mjpegenc.h:51
uint16_t mant
The mantissa.
Definition: mjpegenc.h:53
Compute and use optimal Huffman tables.
Definition: mjpegenc.h:97
Buffer of JPEG frame data.
Definition: mjpegenc.h:49
HuffmanTableOption
Enum for the Huffman encoding strategy.
Definition: mjpegenc.h:95
MpegEncContext.
Definition: mpegvideo.h:81
uint8_t code
The exponent.
Definition: mjpegenc.h:52
size_t huff_ncode
Number of current entries in the buffer.
Definition: mjpegenc.h:88
struct MJpegHuffmanCode MJpegHuffmanCode
Buffer of JPEG frame data.
JpegMarker
Definition: mjpeg.h:37
MJpegHuffmanCode * huff_buffer
Buffer for Huffman code values.
Definition: mjpegenc.h:89