Browse Source

added MJPEG decoder + comments

Originally committed as revision 35 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Fabrice Bellard 24 years ago
parent
commit
4e66ab3bab
3 changed files with 24 additions and 2 deletions
  1. +1
    -0
      libavcodec/avcodec.h
  2. +22
    -2
      libavcodec/common.c
  3. +1
    -0
      libavcodec/utils.c

+ 1
- 0
libavcodec/avcodec.h View File

@@ -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;


+ 22
- 2
libavcodec/common.c View File

@@ -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,
} }




/* 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)


+ 1
- 0
libavcodec/utils.c View File

@@ -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


Loading…
Cancel
Save