libavcodec/mace.c File Reference

MACE decoder. More...

#include "avcodec.h"

Go to the source code of this file.

Data Structures

struct  ChannelData
struct  MACEContext

Defines

#define QT_8S_2_16S(x)   (((x) & 0xFF00) | (((x) >> 8) & 0xFF))

Typedefs

typedef struct ChannelData ChannelData
typedef struct MACEContext MACEContext

Functions

static int16_t mace_broken_clip_int16 (int n)
 MACE version of av_clip_int16().
static int16_t read_table (ChannelData *chd, uint8_t val, int tab_idx)
static void chomp3 (ChannelData *chd, int16_t *output, uint8_t val, int tab_idx, uint32_t numChannels)
static void chomp6 (ChannelData *chd, int16_t *output, uint8_t val, int tab_idx, uint32_t numChannels)
static av_cold int mace_decode_init (AVCodecContext *avctx)
static int mace_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)

Variables

static const int16_t MACEtab1 [] = {-13, 8, 76, 222, 222, 76, 8, -13}
static const int16_t MACEtab3 [] = {-18, 140, 140, -18}
static const int16_t MACEtab2 [][4]
static const int16_t MACEtab4 [][2]
struct {
   const int16_t *   tab1
   const int16_t *   tab2
   int   stride
tabs []
AVCodec ff_mace3_decoder
AVCodec ff_mace6_decoder

Detailed Description

MACE decoder.

Definition in file mace.c.


Define Documentation

#define QT_8S_2_16S (   x  )     (((x) & 0xFF00) | (((x) >> 8) & 0xFF))

Definition at line 149 of file mace.c.

Referenced by chomp3(), and chomp6().


Typedef Documentation

typedef struct ChannelData ChannelData
typedef struct MACEContext MACEContext

Function Documentation

static void chomp3 ( ChannelData chd,
int16_t *  output,
uint8_t  val,
int  tab_idx,
uint32_t  numChannels 
) [static]

Definition at line 189 of file mace.c.

Referenced by mace_decode_frame().

static void chomp6 ( ChannelData chd,
int16_t *  output,
uint8_t  val,
int  tab_idx,
uint32_t  numChannels 
) [static]

Definition at line 202 of file mace.c.

Referenced by mace_decode_frame().

static int16_t mace_broken_clip_int16 ( int  n  )  [inline, static]

MACE version of av_clip_int16().

We have to do this to keep binary identical output to the binary decoder.

Definition at line 164 of file mace.c.

Referenced by chomp3(), and chomp6().

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

Definition at line 244 of file mace.c.

static av_cold int mace_decode_init ( AVCodecContext avctx  )  [static]

Definition at line 230 of file mace.c.

static int16_t read_table ( ChannelData chd,
uint8_t  val,
int  tab_idx 
) [static]

Definition at line 174 of file mace.c.

Referenced by chomp3(), and chomp6().


Variable Documentation

Initial value:
 {
    .name           = "mace3",
    .type           = AVMEDIA_TYPE_AUDIO,
    .id             = CODEC_ID_MACE3,
    .priv_data_size = sizeof(MACEContext),
    .init           = mace_decode_init,
    .decode         = mace_decode_frame,
    .capabilities   = CODEC_CAP_DR1,
    .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 3:1"),
}

Definition at line 292 of file mace.c.

Initial value:
 {
    .name           = "mace6",
    .type           = AVMEDIA_TYPE_AUDIO,
    .id             = CODEC_ID_MACE6,
    .priv_data_size = sizeof(MACEContext),
    .init           = mace_decode_init,
    .decode         = mace_decode_frame,
    .capabilities   = CODEC_CAP_DR1,
    .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 6:1"),
}

Definition at line 303 of file mace.c.

const int16_t MACEtab1[] = {-13, 8, 76, 222, 222, 76, 8, -13} [static]

Definition at line 35 of file mace.c.

const int16_t MACEtab2[][4] [static]

Definition at line 39 of file mace.c.

const int16_t MACEtab3[] = {-18, 140, 140, -18} [static]

Definition at line 37 of file mace.c.

const int16_t MACEtab4[][2] [static]

Definition at line 106 of file mace.c.

int stride

Definition at line 142 of file mace.c.

Referenced by aasc_decode_frame(), adpcm_compress_trellis(), allocStuff(), apply_loop_filter(), avs_decode_frame(), bink_decode_plane(), binkb_decode_plane(), bitplane_decoding(), cdg_scroll(), cdg_tile_block(), check_bidir_mv(), cmp_direct_inline(), cmp_inline(), copy_picture_attributes(), decode(), decode_13(), decode_frame(), decode_i2_frame(), decode_init(), decode_p_frame(), DEF(), deInterlaceBlendLinear_MMX2(), deInterlaceFF_MMX2(), deInterlaceInterpolateCubic_MMX2(), deInterlaceInterpolateLinear_MMX2(), deInterlaceL5_MMX2(), deInterlaceMedian_MMX2(), dequant(), dering_MMX2(), doVertDefFilter_MMX2(), doVertLowPass_MMX2(), duplicate_MMX2(), encode_frame(), ff_apply_vector_2x2(), ff_apply_vector_4x4(), ff_h263_decode_mb(), ff_init_me(), ff_jpegls_decode_picture(), filter(), get(), get_frame_mb(), getpix(), h263_mv4_search(), hl_decode_mb_idct_luma(), hl_decode_mb_internal(), hl_decode_mb_predict_luma(), idct_put(), init_mv4_ref(), init_ref(), input_get_buffer(), interlaced_search(), INTERPOLATE_METHOD(), main(), mpeg4_decode_partition_a(), msvideo1_decode_16bit(), msvideo1_decode_8bit(), pcx_decode_frame(), postProcess_MMX2(), pp_get_context(), pred16x16_dc(), pred16x16_horizontal(), pred16x16_left_dc(), pred16x16_top_dc(), pred16x16_vertical(), pred4x4_127_dc(), pred4x4_128_dc(), pred4x4_129_dc(), pred4x4_dc(), pred4x4_down_left(), pred4x4_down_right(), pred4x4_horizontal(), pred4x4_horizontal_down(), pred4x4_horizontal_up(), pred4x4_left_dc(), pred4x4_top_dc(), pred4x4_vertical(), pred4x4_vertical_left(), pred4x4_vertical_right(), preview_obmc(), ptx_decode_frame(), read_table(), render_slice(), rpza_decode_stream(), sad_hpel_motion_search(), skip_check(), smc_decode_stream(), sunrast_decode_frame(), tempNoiseReducer_MMX2(), txd_decode_frame(), vble_restore_plane(), vertClassify_MMX2(), vertX1Filter_MMX2(), vp56_size_changed(), w_c(), xan_wc3_copy_pixel_run(), and xan_wc3_output_pixel_run().

const int16_t* tab1

Definition at line 142 of file mace.c.

Referenced by compute_stereo(), dequant(), and main().

const int16_t* tab2

Definition at line 142 of file mace.c.

Referenced by main().

struct { ... } tabs[] [static]

Referenced by read_table(), and very_broken_op().