libavcodec/mpc7.c File Reference

MPEG Audio Layer 1/2 -like codec with frames of 1152 samples divided into 32 subbands. More...

#include "libavutil/lfg.h"
#include "avcodec.h"
#include "get_bits.h"
#include "dsputil.h"
#include "mpegaudiodsp.h"
#include "libavutil/audioconvert.h"
#include "mpc.h"
#include "mpc7data.h"

Go to the source code of this file.

Defines

#define BANDS   32
#define SAMPLES_PER_BAND   36
#define MPC_FRAME_SIZE   (BANDS * SAMPLES_PER_BAND)

Functions

static av_cold int mpc7_decode_init (AVCodecContext *avctx)
static void idx_to_quant (MPCContext *c, GetBitContext *gb, int idx, int *dst)
 Fill samples for given subband.
static int get_scale_idx (GetBitContext *gb, int ref)
static int mpc7_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
static void mpc7_decode_flush (AVCodecContext *avctx)
static av_cold int mpc7_decode_close (AVCodecContext *avctx)

Variables

static VLC scfi_vlc
static VLC dscf_vlc
static VLC hdr_vlc
static VLC quant_vlc [MPC7_QUANT_VLC_TABLES][2]
static const uint16_t quant_offsets [MPC7_QUANT_VLC_TABLES *2+1]
AVCodec ff_mpc7_decoder


Detailed Description

MPEG Audio Layer 1/2 -like codec with frames of 1152 samples divided into 32 subbands.

Definition in file mpc7.c.


Define Documentation

#define BANDS   32

Definition at line 38 of file mpc7.c.

#define MPC_FRAME_SIZE   (BANDS * SAMPLES_PER_BAND)

Definition at line 40 of file mpc7.c.

#define SAMPLES_PER_BAND   36

Definition at line 39 of file mpc7.c.


Function Documentation

static int get_scale_idx ( GetBitContext gb,
int  ref 
) [static]

Definition at line 191 of file mpc7.c.

Referenced by mpc7_decode_frame().

static void idx_to_quant ( MPCContext c,
GetBitContext gb,
int  idx,
int *  dst 
) [inline, static]

Fill samples for given subband.

Definition at line 149 of file mpc7.c.

Referenced by mpc7_decode_frame().

static av_cold int mpc7_decode_close ( AVCodecContext avctx  )  [static]

Definition at line 330 of file mpc7.c.

static void mpc7_decode_flush ( AVCodecContext avctx  )  [static]

Definition at line 322 of file mpc7.c.

static int mpc7_decode_frame ( AVCodecContext avctx,
void *  data,
int *  got_frame_ptr,
AVPacket avpkt 
) [static]

Definition at line 199 of file mpc7.c.

static av_cold int mpc7_decode_init ( AVCodecContext avctx  )  [static]

Definition at line 51 of file mpc7.c.


Variable Documentation

VLC dscf_vlc [static]

Definition at line 42 of file mpc7.c.

Initial value:

 {
    .name           = "mpc7",
    .type           = AVMEDIA_TYPE_AUDIO,
    .id             = CODEC_ID_MUSEPACK7,
    .priv_data_size = sizeof(MPCContext),
    .init           = mpc7_decode_init,
    .close          = mpc7_decode_close,
    .decode         = mpc7_decode_frame,
    .flush          = mpc7_decode_flush,
    .capabilities   = CODEC_CAP_DR1,
    .long_name      = NULL_IF_CONFIG_SMALL("Musepack SV7"),
}

Definition at line 338 of file mpc7.c.

VLC hdr_vlc [static]

Definition at line 42 of file mpc7.c.

const uint16_t quant_offsets[MPC7_QUANT_VLC_TABLES *2+1] [static]

Initial value:

{
       0, 512, 1024, 1536, 2052, 2564, 3076, 3588, 4100, 4612, 5124,
       5636, 6164, 6676, 7224
}

Definition at line 44 of file mpc7.c.

Referenced by mpc7_decode_init(), and mpc8_decode_frame().

VLC quant_vlc[MPC7_QUANT_VLC_TABLES][2] [static]

Definition at line 42 of file mpc7.c.

VLC scfi_vlc [static]

Definition at line 42 of file mpc7.c.


Generated on Fri Oct 26 02:47:57 2012 for FFmpeg by  doxygen 1.5.8