libfaac.c File Reference

Interface to libfaac for aac encoding. More...

#include <faac.h>
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "avcodec.h"
#include "audio_frame_queue.h"
#include "internal.h"
Include dependency graph for libfaac.c:

Go to the source code of this file.

Data Structures

struct  FaacAudioContext
 

Macros

#define FAAC_DELAY_SAMPLES   1024
 

Typedefs

typedef struct FaacAudioContext FaacAudioContext
 

Functions

static av_cold int Faac_encode_close (AVCodecContext *avctx)
 
static av_cold int Faac_encode_init (AVCodecContext *avctx)
 
static int Faac_encode_frame (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
 

Variables

static const int channel_maps [][6]
 
static const AVProfile profiles []
 
static const uint64_t faac_channel_layouts []
 
AVCodec ff_libfaac_encoder
 

Detailed Description

Interface to libfaac for aac encoding.

Definition in file libfaac.c.

Macro Definition Documentation

#define FAAC_DELAY_SAMPLES   1024

Definition at line 37 of file libfaac.c.

Referenced by Faac_encode_init().

Typedef Documentation

Function Documentation

static av_cold int Faac_encode_close ( AVCodecContext avctx)
static

Definition at line 44 of file libfaac.c.

Referenced by Faac_encode_init().

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

Definition at line 168 of file libfaac.c.

static av_cold int Faac_encode_init ( AVCodecContext avctx)
static

Definition at line 64 of file libfaac.c.

Variable Documentation

const int channel_maps[][6]
static
Initial value:
= {
{ 2, 0, 1 },
{ 2, 0, 1, 3 },
{ 2, 0, 1, 3, 4 },
{ 2, 0, 1, 4, 5, 3 },
}

Definition at line 57 of file libfaac.c.

Referenced by Faac_encode_init().

const uint64_t faac_channel_layouts[]
static
Initial value:
= {
0
}
#define AV_CH_LAYOUT_SURROUND
#define AV_CH_LAYOUT_4POINT0
#define AV_CH_LAYOUT_STEREO
#define AV_CH_LAYOUT_5POINT1_BACK
#define AV_CH_LAYOUT_5POINT0_BACK
#define AV_CH_LAYOUT_MONO

Definition at line 213 of file libfaac.c.

AVCodec ff_libfaac_encoder
Initial value:
= {
.name = "libfaac",
.priv_data_size = sizeof(FaacAudioContext),
.encode2 = Faac_encode_frame,
.long_name = NULL_IF_CONFIG_SMALL("libfaac AAC (Advanced Audio Coding)"),
.channel_layouts = faac_channel_layouts,
}
static av_cold int Faac_encode_init(AVCodecContext *avctx)
Definition: libfaac.c:64
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
signed 16 bits
Definition: samplefmt.h:52
static av_cold int Faac_encode_close(AVCodecContext *avctx)
Definition: libfaac.c:44
static int Faac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Definition: libfaac.c:168
#define CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
#define CODEC_CAP_SMALL_LAST_FRAME
Codec can be fed a final frame with a smaller size.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static const uint64_t faac_channel_layouts[]
Definition: libfaac.c:213
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:375
static const AVProfile profiles[]
Definition: libfaac.c:205
AVSampleFormat
Audio Sample Formats.
Definition: samplefmt.h:49
struct FaacAudioContext FaacAudioContext
static enum AVSampleFormat sample_fmts[]
Definition: adpcmenc.c:700

Definition at line 223 of file libfaac.c.

const AVProfile profiles[]
static
Initial value:
= {
{ FF_PROFILE_AAC_MAIN, "Main" },
{ FF_PROFILE_AAC_LOW, "LC" },
{ FF_PROFILE_AAC_SSR, "SSR" },
{ FF_PROFILE_AAC_LTP, "LTP" },
}
#define FF_PROFILE_AAC_SSR
#define FF_PROFILE_UNKNOWN
#define FF_PROFILE_AAC_MAIN
#define FF_PROFILE_AAC_LTP
#define FF_PROFILE_AAC_LOW

Definition at line 205 of file libfaac.c.