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

added MJPEG decoder + comments


Originally committed as revision 35 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 10b7b472
...@@ -111,6 +111,7 @@ extern AVCodec msmpeg4_decoder; ...@@ -111,6 +111,7 @@ extern AVCodec msmpeg4_decoder;
extern AVCodec mpeg_decoder; extern AVCodec mpeg_decoder;
extern AVCodec h263i_decoder; extern AVCodec h263i_decoder;
extern AVCodec rv10_decoder; extern AVCodec rv10_decoder;
extern AVCodec mjpeg_decoder;
/* dummy raw codecs */ /* dummy raw codecs */
extern AVCodec pcm_codec; extern AVCodec pcm_codec;
......
...@@ -121,7 +121,7 @@ void flush_put_bits(PutBitContext *s) ...@@ -121,7 +121,7 @@ void flush_put_bits(PutBitContext *s)
s->bit_buf=0; s->bit_buf=0;
} }
/* 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) void jput_bits(PutBitContext *s, int n, unsigned int value)
{ {
unsigned int bit_buf, b; unsigned int bit_buf, b;
...@@ -401,7 +401,27 @@ static int build_table(VLC *vlc, int table_nb_bits, ...@@ -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, int init_vlc(VLC *vlc, int nb_bits, int nb_codes,
const void *bits, int bits_wrap, int bits_size, const void *bits, int bits_wrap, int bits_size,
const void *codes, int codes_wrap, int codes_size) const void *codes, int codes_wrap, int codes_size)
......
...@@ -267,6 +267,7 @@ void avcodec_register_all(void) ...@@ -267,6 +267,7 @@ void avcodec_register_all(void)
register_avcodec(&mpeg_decoder); register_avcodec(&mpeg_decoder);
register_avcodec(&h263i_decoder); register_avcodec(&h263i_decoder);
register_avcodec(&rv10_decoder); register_avcodec(&rv10_decoder);
register_avcodec(&mjpeg_decoder);
#ifdef CONFIG_MPGLIB #ifdef CONFIG_MPGLIB
register_avcodec(&mp3_decoder); register_avcodec(&mp3_decoder);
#endif #endif
......
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