All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
g722dec.c File Reference

G.722 ADPCM audio decoder. More...

#include "libavutil/channel_layout.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "get_bits.h"
#include "g722.h"
#include "internal.h"

Go to the source code of this file.


#define OFFSET(x)   offsetof(G722Context, x)


static av_cold int g722_decode_init (AVCodecContext *avctx)
static int g722_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)


static const AVOption options []
static const AVClass g722_decoder_class
static const int16_t low_inv_quant5 [32]
static const int16_t *const low_inv_quants [3]
AVCodec ff_adpcm_g722_decoder

Detailed Description

G.722 ADPCM audio decoder.

This G.722 decoder is a bit-exact implementation of the ITU G.722 specification for all three specified bitrates - 64000bps, 56000bps and 48000bps. It passes the ITU tests.

For the 56000bps and 48000bps bitrates, the lowest 1 or 2 bits respectively of each byte are ignored.

Definition in file g722dec.c.

Macro Definition Documentation

#define OFFSET (   x)    offsetof(G722Context, x)

Definition at line 44 of file g722dec.c.

Definition at line 45 of file g722dec.c.

Function Documentation

static av_cold int g722_decode_init ( AVCodecContext avctx)

Definition at line 58 of file g722dec.c.

static int g722_decode_frame ( AVCodecContext avctx,
void data,
int *  got_frame_ptr,
AVPacket avpkt 

Definition at line 86 of file g722dec.c.

Variable Documentation

const AVOption options[]
Initial value:
= {
{ "bits_per_codeword", "Bits per G722 codeword", OFFSET(bits_per_codeword), AV_OPT_TYPE_INT, { .i64 = 8 }, 6, 8, AD },
{ NULL }
#define OFFSET(x)
Definition: g722dec.c:44
#define NULL
Definition: coverity.c:32
#define AD
Definition: g722dec.c:45

Definition at line 46 of file g722dec.c.

const AVClass g722_decoder_class
Initial value:
= {
.class_name = "g722 decoder",
.item_name = av_default_item_name,
.option = options,
Definition: version.h:85
static const AVOption options[]
Definition: g722dec.c:46

Definition at line 51 of file g722dec.c.

const int16_t low_inv_quant5[32]
Initial value:
= {
-35, -35, -2919, -2195, -1765, -1458, -1219, -1023,
-858, -714, -587, -473, -370, -276, -190, -110,
2919, 2195, 1765, 1458, 1219, 1023, 858, 714,
587, 473, 370, 276, 190, 110, 35, -35

Definition at line 75 of file g722dec.c.

const int16_t* const low_inv_quants[3]
Initial value:
const int16_t ff_g722_low_inv_quant4[16]
Definition: g722.c:59
const int16_t ff_g722_low_inv_quant6[64]
Definition: g722.c:63
static const int16_t low_inv_quant5[32]
Definition: g722dec.c:75

Definition at line 82 of file g722dec.c.

Referenced by g722_decode_frame().

AVCodec ff_adpcm_g722_decoder
Initial value:
= {
.name = "g722",
.long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),
.priv_data_size = sizeof(G722Context),
.capabilities = AV_CODEC_CAP_DR1,
.priv_class = &g722_decoder_class,
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static av_cold int g722_decode_init(AVCodecContext *avctx)
Definition: g722dec.c:58
static const AVClass g722_decoder_class
Definition: g722dec.c:51
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:176
static int g722_decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
Definition: g722dec.c:86
static int decode(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *pkt)
Definition: ffmpeg.c:2035
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:958

Definition at line 140 of file g722dec.c.