libilbc.c File Reference
#include <ilbc.h>
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "internal.h"
Include dependency graph for libilbc.c:

Go to the source code of this file.

Data Structures

struct  ILBCDecContext
 
struct  ILBCEncContext
 

Typedefs

typedef struct ILBCDecContext ILBCDecContext
 
typedef struct ILBCEncContext ILBCEncContext
 

Functions

static int get_mode (AVCodecContext *avctx)
 
static av_cold int ilbc_decode_init (AVCodecContext *avctx)
 
static int ilbc_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
 
static av_cold int ilbc_encode_init (AVCodecContext *avctx)
 
static int ilbc_encode_frame (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
 

Variables

static const AVOption ilbc_dec_options []
 
static const AVClass ilbc_dec_class
 
AVCodec ff_libilbc_decoder
 
static const AVOption ilbc_enc_options []
 
static const AVClass ilbc_enc_class
 
static const AVCodecDefault ilbc_encode_defaults []
 
AVCodec ff_libilbc_encoder
 

Typedef Documentation

Function Documentation

static int get_mode ( AVCodecContext avctx)
static

Definition at line 30 of file libilbc.c.

Referenced by ilbc_decode_init(), and ilbc_encode_init().

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

Definition at line 80 of file libilbc.c.

static av_cold int ilbc_decode_init ( AVCodecContext avctx)
static

Definition at line 60 of file libilbc.c.

static int ilbc_encode_frame ( AVCodecContext avctx,
AVPacket avpkt,
const AVFrame frame,
int *  got_packet_ptr 
)
static

Definition at line 164 of file libilbc.c.

static av_cold int ilbc_encode_init ( AVCodecContext avctx)
static

Definition at line 137 of file libilbc.c.

Variable Documentation

AVCodec ff_libilbc_decoder
Initial value:
= {
.name = "libilbc",
.priv_data_size = sizeof(ILBCDecContext),
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
.priv_class = &ilbc_dec_class,
}
static int ilbc_decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
Definition: libilbc.c:80
struct ILBCDecContext ILBCDecContext
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static av_cold int ilbc_decode_init(AVCodecContext *avctx)
Definition: libilbc.c:60
static const AVClass ilbc_dec_class
Definition: libilbc.c:53
#define CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static int decode(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
Definition: crystalhd.c:868

Definition at line 107 of file libilbc.c.

AVCodec ff_libilbc_encoder
Initial value:
= {
.name = "libilbc",
.priv_data_size = sizeof(ILBCEncContext),
.encode2 = ilbc_encode_frame,
.long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
.defaults = ilbc_encode_defaults,
.priv_class = &ilbc_enc_class,
}
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
struct ILBCEncContext ILBCEncContext
signed 16 bits
Definition: samplefmt.h:52
static av_cold int ilbc_encode_init(AVCodecContext *avctx)
Definition: libilbc.c:137
static const AVCodecDefault ilbc_encode_defaults[]
Definition: libilbc.c:180
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static const AVClass ilbc_enc_class
Definition: libilbc.c:130
static int ilbc_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Definition: libilbc.c:164
AVSampleFormat
Audio Sample Formats.
Definition: samplefmt.h:49
static enum AVSampleFormat sample_fmts[]
Definition: adpcmenc.c:700

Definition at line 185 of file libilbc.c.

const AVClass ilbc_dec_class
static
Initial value:
= {
.class_name = "libilbc",
.item_name = av_default_item_name,
.option = ilbc_dec_options,
}
av_default_item_name
LIBAVUTIL_VERSION_INT
Definition: eval.c:55
static const AVOption ilbc_dec_options[]
Definition: libilbc.c:48

Definition at line 53 of file libilbc.c.

const AVOption ilbc_dec_options[]
static
Initial value:
= {
{ "enhance", "Enhance the decoded audio (adds delay)", offsetof(ILBCDecContext, enhance), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM },
{ NULL }
}
#define AV_OPT_FLAG_AUDIO_PARAM
Definition: opt.h:284
NULL
Definition: eval.c:55
#define AV_OPT_FLAG_DECODING_PARAM
a generic parameter which can be set by the user for demuxing or decoding
Definition: opt.h:282

Definition at line 48 of file libilbc.c.

const AVClass ilbc_enc_class
static
Initial value:
= {
.class_name = "libilbc",
.item_name = av_default_item_name,
.option = ilbc_enc_options,
}
av_default_item_name
LIBAVUTIL_VERSION_INT
Definition: eval.c:55
static const AVOption ilbc_enc_options[]
Definition: libilbc.c:125

Definition at line 130 of file libilbc.c.

const AVOption ilbc_enc_options[]
static
Initial value:
= {
{ "mode", "iLBC mode (20 or 30 ms frames)", offsetof(ILBCEncContext, mode), AV_OPT_TYPE_INT, { .i64 = 20 }, 20, 30, AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_ENCODING_PARAM },
{ NULL }
}
#define AV_OPT_FLAG_AUDIO_PARAM
Definition: opt.h:284
mode
Definition: f_perms.c:27
#define AV_OPT_FLAG_ENCODING_PARAM
a generic parameter which can be set by the user for muxing or encoding
Definition: opt.h:281
NULL
Definition: eval.c:55

Definition at line 125 of file libilbc.c.

const AVCodecDefault ilbc_encode_defaults[]
static
Initial value:
= {
{ "b", "0" },
{ NULL }
}
NULL
Definition: eval.c:55

Definition at line 180 of file libilbc.c.