libavcodec/g726.c File Reference

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

Go to the source code of this file.

Data Structures

struct  Float11
 G.726 11bit float. More...
struct  G726Tables
struct  G726Context

Functions

static Float11i2f (int i, Float11 *f)
static int16_t mult (Float11 *f1, Float11 *f2)
static int sgn (int value)
static uint8_t quant (G726Context *c, int d)
 Para 4.2.2 page 18: Adaptive quantizer.
static int16_t inverse_quant (G726Context *c, int i)
 Para 4.2.3 page 22: Inverse adaptive quantizer.
static int16_t g726_decode (G726Context *c, int I)
static av_cold int g726_reset (G726Context *c, int index)
static av_cold int g726_init (AVCodecContext *avctx)
static av_cold int g726_close (AVCodecContext *avctx)
static int g726_decode_frame (AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)

Variables

static const int quant_tbl16 []
 16kbit/s 2bits per sample
static const int16_t iquant_tbl16 []
static const int16_t W_tbl16 []
static const uint8_t F_tbl16 []
static const int quant_tbl24 []
 24kbit/s 3bits per sample
static const int16_t iquant_tbl24 []
static const int16_t W_tbl24 []
static const uint8_t F_tbl24 []
static const int quant_tbl32 []
 32kbit/s 4bits per sample
static const int16_t iquant_tbl32 []
static const int16_t W_tbl32 []
static const uint8_t F_tbl32 []
static const int quant_tbl40 []
 40kbit/s 5bits per sample
static const int16_t iquant_tbl40 []
static const int16_t W_tbl40 []
static const uint8_t F_tbl40 []
static const G726Tables G726Tables_pool []
AVCodec adpcm_g726_decoder


Function Documentation

static av_cold int g726_close ( AVCodecContext avctx  )  [static]

Definition at line 339 of file g726.c.

static int16_t g726_decode ( G726Context c,
int  I 
) [static]

Definition at line 186 of file g726.c.

Referenced by g726_decode_frame().

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

Definition at line 364 of file g726.c.

static av_cold int g726_init ( AVCodecContext avctx  )  [static]

Definition at line 301 of file g726.c.

static av_cold int g726_reset ( G726Context c,
int  index 
) [static]

Definition at line 268 of file g726.c.

Referenced by g726_init().

static Float11* i2f ( int  i,
Float11 f 
) [inline, static]

Definition at line 40 of file g726.c.

Referenced by g726_decode().

static int16_t inverse_quant ( G726Context c,
int  i 
) [inline, static]

Para 4.2.3 page 22: Inverse adaptive quantizer.

Definition at line 176 of file g726.c.

Referenced by g726_decode().

static int16_t mult ( Float11 f1,
Float11 f2 
) [inline, static]

Definition at line 50 of file g726.c.

Referenced by encode_block(), encode_frame(), g726_decode(), and wma_decode_block().

static uint8_t quant ( G726Context c,
int  d 
) [inline, static]

Para 4.2.2 page 18: Adaptive quantizer.

Definition at line 150 of file g726.c.

static int sgn ( int  value  )  [inline, static]

Definition at line 60 of file g726.c.

Referenced by g726_decode().


Variable Documentation

Initial value:

 {
    "g726",
    CODEC_TYPE_AUDIO,
    CODEC_ID_ADPCM_G726,
    sizeof(G726Context),
    g726_init,
    NULL,
    g726_close,
    g726_decode_frame,
    .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),
}

Definition at line 399 of file g726.c.

const uint8_t F_tbl16[] [static]

Initial value:

           { 0, 7, 7, 0 }

Definition at line 100 of file g726.c.

const uint8_t F_tbl24[] [static]

Initial value:

           { 0, 1, 2, 7, 7, 2, 1, 0 }

Definition at line 109 of file g726.c.

const uint8_t F_tbl32[] [static]

Initial value:

           { 0, 0, 0, 1, 1, 1, 3, 7, 7, 3, 1, 1, 1, 0, 0, 0 }

Definition at line 120 of file g726.c.

const uint8_t F_tbl40[] [static]

Initial value:

           { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 6,
             6, 6, 5, 4, 3, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }

Definition at line 136 of file g726.c.

const G726Tables G726Tables_pool[] [static]

const int16_t iquant_tbl16[] [static]

Initial value:

           { 116, 365, 365, 116 }

Definition at line 96 of file g726.c.

const int16_t iquant_tbl24[] [static]

Initial value:

           { INT16_MIN, 135, 273, 373, 373, 273, 135, INT16_MIN }

Definition at line 105 of file g726.c.

const int16_t iquant_tbl32[] [static]

Initial value:

         { INT16_MIN,   4, 135, 213, 273, 323, 373, 425,
                 425, 373, 323, 273, 213, 135,   4, INT16_MIN }

Definition at line 114 of file g726.c.

const int16_t iquant_tbl40[] [static]

Initial value:

         { INT16_MIN, -66,  28, 104, 169, 224, 274, 318,
                 358, 395, 429, 459, 488, 514, 539, 566,
                 566, 539, 514, 488, 459, 429, 395, 358,
                 318, 274, 224, 169, 104,  28, -66, INT16_MIN }

Definition at line 126 of file g726.c.

const int quant_tbl16[] [static]

Initial value:

           { 260, INT_MAX }
16kbit/s 2bits per sample

Definition at line 94 of file g726.c.

const int quant_tbl24[] [static]

Initial value:

           {  7, 217, 330, INT_MAX }
24kbit/s 3bits per sample

Definition at line 103 of file g726.c.

const int quant_tbl32[] [static]

Initial value:

           { -125,  79, 177, 245, 299, 348, 399, INT_MAX }
32kbit/s 4bits per sample

Definition at line 112 of file g726.c.

const int quant_tbl40[] [static]

Initial value:

           { -122, -16,  67, 138, 197, 249, 297, 338,
              377, 412, 444, 474, 501, 527, 552, INT_MAX }
40kbit/s 5bits per sample

Definition at line 123 of file g726.c.

const int16_t W_tbl16[] [static]

Initial value:

           { -22, 439, 439, -22 }

Definition at line 98 of file g726.c.

const int16_t W_tbl24[] [static]

Initial value:

           { -4,  30, 137, 582, 582, 137,  30, -4 }

Definition at line 107 of file g726.c.

const int16_t W_tbl32[] [static]

Initial value:

           { -12,  18,  41,  64, 112, 198, 355, 1122,
            1122, 355, 198, 112,  64,  41,  18, -12}

Definition at line 117 of file g726.c.

const int16_t W_tbl40[] [static]

Initial value:

           {   14,  14,  24,  39,  40,  41,   58,  100,
              141, 179, 219, 280, 358, 440,  529,  696,
              696, 529, 440, 358, 280, 219,  179,  141,
              100,  58,  41,  40,  39,  24,   14,   14 }

Definition at line 131 of file g726.c.


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