Commit 4e66ab3b authored by Fabrice Bellard's avatar Fabrice Bellard
Browse files

added MJPEG decoder + comments

Originally committed as revision 35 to svn://
parent 10b7b472
......@@ -111,6 +111,7 @@ extern AVCodec msmpeg4_decoder;
extern AVCodec mpeg_decoder;
extern AVCodec h263i_decoder;
extern AVCodec rv10_decoder;
extern AVCodec mjpeg_decoder;
/* dummy raw codecs */
extern AVCodec pcm_codec;
......@@ -121,7 +121,7 @@ void flush_put_bits(PutBitContext *s)
/* for jpeg : espace 0xff with 0x00 after it */
/* for jpeg : escape 0xff with 0x00 after it */
void jput_bits(PutBitContext *s, int n, unsigned int value)
unsigned int bit_buf, b;
......@@ -401,7 +401,27 @@ static int build_table(VLC *vlc, int table_nb_bits,
/* wrap and size allow to handle most types of storage. */
/* Build VLC decoding tables suitable for use with get_vlc().
'nb_bits' set thee decoding table size (2^nb_bits) entries. The
bigger it is, the faster is the decoding. But it should not be too
big to save memory and L1 cache. '9' is a good compromise.
'nb_codes' : number of vlcs codes
'bits' : table which gives the size (in bits) of each vlc code.
'codes' : table which gives the bit pattern of of each vlc code.
'xxx_wrap' : give the number of bytes between each entry of the
'bits' or 'codes' tables.
'xxx_size' : gives the number of bytes of each entry of the 'bits'
or 'codes' tables.
'wrap' and 'size' allows to use any memory configuration and types
(byte/word/long) to store the 'bits' and 'codes' tables.
int init_vlc(VLC *vlc, int nb_bits, int nb_codes,
const void *bits, int bits_wrap, int bits_size,
const void *codes, int codes_wrap, int codes_size)
......@@ -267,6 +267,7 @@ void avcodec_register_all(void)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment