FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
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"

Go to the source code of this file.

Data Structures

struct  FaacAudioContext
 

Macros

#define FAAC_DELAY_SAMPLES   1024
 

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().

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 av_cold int Faac_encode_init ( AVCodecContext avctx)
static

Definition at line 64 of file libfaac.c.

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

Definition at line 179 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 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_MAIN
Definition: avcodec.h:3147
#define FF_PROFILE_AAC_LTP
Definition: avcodec.h:3150
#define FF_PROFILE_AAC_LOW
Definition: avcodec.h:3148
#define FF_PROFILE_UNKNOWN
Definition: avcodec.h:3144
#define FF_PROFILE_AAC_SSR
Definition: avcodec.h:3149

Definition at line 216 of file libfaac.c.

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 224 of file libfaac.c.

AVCodec ff_libfaac_encoder
Initial value:
= {
.name = "libfaac",
.long_name = NULL_IF_CONFIG_SMALL("libfaac AAC (Advanced Audio Coding)"),
.priv_data_size = sizeof(FaacAudioContext),
.encode2 = Faac_encode_frame,
.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
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
Definition: avcodec.h:975
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:179
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:176
#define AV_CODEC_CAP_SMALL_LAST_FRAME
Codec can be fed a final frame with a smaller size.
Definition: avcodec.h:980
static const uint64_t faac_channel_layouts[]
Definition: libfaac.c:224
AVSampleFormat
Audio sample formats.
Definition: samplefmt.h:58
static const AVProfile profiles[]
Definition: libfaac.c:216
signed 16 bits
Definition: samplefmt.h:61
static enum AVSampleFormat sample_fmts[]
Definition: adpcmenc.c:701

Definition at line 234 of file libfaac.c.