libavcodec/shorten.c File Reference

Shorten decoder. More...

#include <limits.h>
#include "avcodec.h"
#include "bitstream.h"
#include "golomb.h"

Go to the source code of this file.

Data Structures

struct  ShortenContext

Defines

#define DEBUG
#define MAX_CHANNELS   8
#define MAX_BLOCKSIZE   65535
#define OUT_BUFFER_SIZE   16384
#define ULONGSIZE   2
#define WAVE_FORMAT_PCM   0x0001
#define DEFAULT_BLOCK_SIZE   256
#define TYPESIZE   4
#define CHANSIZE   0
#define LPCQSIZE   2
#define ENERGYSIZE   3
#define BITSHIFTSIZE   2
#define TYPE_S16HL   3
#define TYPE_S16LH   5
#define NWRAP   3
#define NSKIPSIZE   1
#define LPCQUANT   5
#define V2LPCQOFFSET   (1 << LPCQUANT)
#define FNSIZE   2
#define FN_DIFF0   0
#define FN_DIFF1   1
#define FN_DIFF2   2
#define FN_DIFF3   3
#define FN_QUIT   4
#define FN_BLOCKSIZE   5
#define FN_BITSHIFT   6
#define FN_QLPC   7
#define FN_ZERO   8
#define FN_VERBATIM   9
#define VERBATIM_CKSIZE_SIZE   5
#define VERBATIM_BYTE_SIZE   8
#define CANONICAL_HEADER_SIZE   44

Functions

static av_cold int shorten_decode_init (AVCodecContext *avctx)
static int allocate_buffers (ShortenContext *s)
static unsigned int get_uint (ShortenContext *s, int k)
static void fix_bitshift (ShortenContext *s, int32_t *buffer)
static void init_offset (ShortenContext *s)
static int get_le32 (GetBitContext *gb)
static short get_le16 (GetBitContext *gb)
static int decode_wave_header (AVCodecContext *avctx, uint8_t *header, int header_size)
static int16_t * interleave_buffer (int16_t *samples, int nchan, int blocksize, int32_t **buffer)
static void decode_subframe_lpc (ShortenContext *s, int channel, int residual_size, int pred_order)
static int shorten_decode_frame (AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
static av_cold int shorten_decode_close (AVCodecContext *avctx)
static void shorten_flush (AVCodecContext *avctx)

Variables

AVCodec shorten_decoder


Detailed Description

Shorten decoder.

Author:
Jeff Muizelaar

Definition in file shorten.c.


Define Documentation

#define BITSHIFTSIZE   2

Definition at line 50 of file shorten.c.

Referenced by shorten_decode_frame().

#define CANONICAL_HEADER_SIZE   44

Definition at line 75 of file shorten.c.

Referenced by shorten_decode_frame().

#define CHANSIZE   0

Definition at line 47 of file shorten.c.

Referenced by shorten_decode_frame().

#define DEBUG

Definition at line 29 of file shorten.c.

#define DEFAULT_BLOCK_SIZE   256

Definition at line 44 of file shorten.c.

Referenced by shorten_decode_frame().

#define ENERGYSIZE   3

Definition at line 49 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_BITSHIFT   6

Definition at line 68 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_BLOCKSIZE   5

Definition at line 67 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_DIFF0   0

Definition at line 62 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_DIFF1   1

Definition at line 63 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_DIFF2   2

Definition at line 64 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_DIFF3   3

Definition at line 65 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_QLPC   7

Definition at line 69 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_QUIT   4

Definition at line 66 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_VERBATIM   9

Definition at line 71 of file shorten.c.

Referenced by shorten_decode_frame().

#define FN_ZERO   8

Definition at line 70 of file shorten.c.

Referenced by shorten_decode_frame().

#define FNSIZE   2

Definition at line 61 of file shorten.c.

Referenced by shorten_decode_frame().

#define LPCQSIZE   2

Definition at line 48 of file shorten.c.

Referenced by shorten_decode_frame().

#define LPCQUANT   5

Definition at line 58 of file shorten.c.

Referenced by decode_subframe_lpc().

#define MAX_BLOCKSIZE   65535

Definition at line 36 of file shorten.c.

#define MAX_CHANNELS   8

Definition at line 35 of file shorten.c.

#define NSKIPSIZE   1

Definition at line 56 of file shorten.c.

Referenced by shorten_decode_frame().

#define NWRAP   3

Definition at line 55 of file shorten.c.

Referenced by shorten_decode_frame().

#define OUT_BUFFER_SIZE   16384

Definition at line 38 of file shorten.c.

Referenced by shorten_decode_frame().

#define TYPE_S16HL   3

Definition at line 52 of file shorten.c.

Referenced by init_offset().

#define TYPE_S16LH   5

Definition at line 53 of file shorten.c.

Referenced by init_offset().

#define TYPESIZE   4

Definition at line 46 of file shorten.c.

Referenced by shorten_decode_frame().

#define ULONGSIZE   2

Definition at line 40 of file shorten.c.

Referenced by get_uint().

#define V2LPCQOFFSET   (1 << LPCQUANT)

Definition at line 59 of file shorten.c.

Referenced by shorten_decode_frame().

#define VERBATIM_BYTE_SIZE   8

Definition at line 74 of file shorten.c.

Referenced by shorten_decode_frame().

#define VERBATIM_CKSIZE_SIZE   5

Definition at line 73 of file shorten.c.

Referenced by shorten_decode_frame().

#define WAVE_FORMAT_PCM   0x0001

Definition at line 42 of file shorten.c.

Referenced by decode_wave_header().


Function Documentation

static int allocate_buffers ( ShortenContext s  )  [static]

Definition at line 112 of file shorten.c.

static void decode_subframe_lpc ( ShortenContext s,
int  channel,
int  residual_size,
int  pred_order 
) [static]

Definition at line 253 of file shorten.c.

static int decode_wave_header ( AVCodecContext avctx,
uint8_t *  header,
int  header_size 
) [static]

Definition at line 186 of file shorten.c.

Referenced by shorten_decode_frame().

static void fix_bitshift ( ShortenContext s,
int32_t *  buffer 
) [static]

Definition at line 144 of file shorten.c.

Referenced by shorten_decode_frame().

static short get_le16 ( GetBitContext gb  )  [inline, static]

static int get_le32 ( GetBitContext gb  )  [inline, static]

Definition at line 176 of file shorten.c.

Referenced by aiff_read_header(), apc_read_header(), ape_parse_tag(), ape_read_header(), ape_tag_read_field(), asf_build_simple_index(), asf_read_frame_header(), asf_read_header(), au_read_header(), avi_load_index(), avi_read_header(), avi_read_idx1(), avs_read_header(), bfi_read_header(), bfi_read_packet(), cin_read_file_header(), cin_read_frame_header(), decode_wave_header(), dxa_read_header(), ea_read_packet(), ff_asf_get_packet(), ff_rm_read_mdpr_codecdata(), ffm_read_header(), find_tag(), fourxm_read_packet(), get_aiff_header(), get_codec_data(), get_fourcc(), get_le64(), get_riff(), get_swf_tag(), get_tag(), get_value(), gxf_header(), gxf_read_index(), idcin_read_header(), idcin_read_packet(), iff_read_header(), mm_read_header(), mmf_read_header(), mov_read_cmov(), mov_read_default(), mov_read_dref(), mov_read_ftyp(), mov_read_hdlr(), mov_read_stsd(), mov_read_udta_string(), mov_read_wide(), mpc8_read_header(), mpc_read_header(), mpc_read_packet(), msnwc_tcp_read_packet(), mtv_read_header(), nsv_parse_NSVf_header(), nsv_parse_NSVs_header(), nsv_read_chunk(), nuv_header(), ogg_read_page(), process_audio_header_eacs(), process_audio_header_sead(), process_ea_header(), process_video_header_vp6(), rdt_load_mdpr(), read_atom(), read_braindead_odml_indx(), read_header(), read_packet(), rl2_read_header(), rm_read_header(), rpl_read_packet(), siff_parse_soun(), siff_parse_vbv1(), siff_read_header(), siff_read_packet(), smacker_read_header(), smacker_read_packet(), sol_read_header(), swf_read_header(), tta_read_header(), txd_read_packet(), vc1t_read_header(), vc1t_read_packet(), voc_get_packet(), wav_read_header(), wv_read_block_header(), and xa_read_header().

static unsigned int get_uint ( ShortenContext s,
int  k 
) [inline, static]

Definition at line 136 of file shorten.c.

Referenced by shorten_decode_frame().

static void init_offset ( ShortenContext s  )  [static]

Definition at line 154 of file shorten.c.

Referenced by shorten_decode_frame().

static int16_t* interleave_buffer ( int16_t *  samples,
int  nchan,
int  blocksize,
int32_t **  buffer 
) [static]

Definition at line 245 of file shorten.c.

Referenced by shorten_decode_frame().

static av_cold int shorten_decode_close ( AVCodecContext avctx  )  [static]

Definition at line 511 of file shorten.c.

static int shorten_decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
const uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 270 of file shorten.c.

static av_cold int shorten_decode_init ( AVCodecContext avctx  )  [static]

Definition at line 103 of file shorten.c.

static void shorten_flush ( AVCodecContext avctx  )  [static]

Definition at line 525 of file shorten.c.


Variable Documentation

Initial value:

Definition at line 532 of file shorten.c.


Generated on Fri Oct 26 02:35:44 2012 for FFmpeg by  doxygen 1.5.8