FFmpeg
Data Structures | Functions | Variables
iamfenc.c File Reference
#include <stdint.h>
#include "avformat.h"
#include "iamf.h"
#include "iamf_writer.h"
#include "internal.h"
#include "mux.h"

Go to the source code of this file.

Data Structures

struct  IAMFMuxContext
 

Functions

static int iamf_init (AVFormatContext *s)
 
static int iamf_write_header (AVFormatContext *s)
 
static int iamf_write_packet (AVFormatContext *s, AVPacket *pkt)
 
static int iamf_write_trailer (AVFormatContext *s)
 
static void iamf_deinit (AVFormatContext *s)
 

Variables

static const AVCodecTag iamf_codec_tags []
 
const FFOutputFormat ff_iamf_muxer
 

Function Documentation

◆ iamf_init()

static int iamf_init ( AVFormatContext s)
static

Definition at line 39 of file iamfenc.c.

◆ iamf_write_header()

static int iamf_write_header ( AVFormatContext s)
static

Definition at line 114 of file iamfenc.c.

◆ iamf_write_packet()

static int iamf_write_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 130 of file iamfenc.c.

◆ iamf_write_trailer()

static int iamf_write_trailer ( AVFormatContext s)
static

Definition at line 146 of file iamfenc.c.

◆ iamf_deinit()

static void iamf_deinit ( AVFormatContext s)
static

Definition at line 167 of file iamfenc.c.

Variable Documentation

◆ iamf_codec_tags

const AVCodecTag iamf_codec_tags[]
static
Initial value:
= {
{ AV_CODEC_ID_AAC, MKTAG('m','p','4','a') },
{ AV_CODEC_ID_FLAC, MKTAG('f','L','a','C') },
{ AV_CODEC_ID_OPUS, MKTAG('O','p','u','s') },
{ AV_CODEC_ID_PCM_S16LE, MKTAG('i','p','c','m') },
{ AV_CODEC_ID_PCM_S16BE, MKTAG('i','p','c','m') },
{ AV_CODEC_ID_PCM_S24LE, MKTAG('i','p','c','m') },
{ AV_CODEC_ID_PCM_S24BE, MKTAG('i','p','c','m') },
{ AV_CODEC_ID_PCM_S32LE, MKTAG('i','p','c','m') },
{ AV_CODEC_ID_PCM_S32BE, MKTAG('i','p','c','m') },
{ AV_CODEC_ID_NONE, MKTAG('i','p','c','m') }
}

Definition at line 175 of file iamfenc.c.

◆ ff_iamf_muxer

const FFOutputFormat ff_iamf_muxer
Initial value:
= {
.p.name = "iamf",
.p.long_name = NULL_IF_CONFIG_SMALL("Raw Immersive Audio Model and Formats"),
.p.extensions = "iamf",
.priv_data_size = sizeof(IAMFMuxContext),
.p.audio_codec = AV_CODEC_ID_OPUS,
.init = iamf_init,
.deinit = iamf_deinit,
.write_header = iamf_write_header,
.write_packet = iamf_write_packet,
.write_trailer = iamf_write_trailer,
.p.codec_tag = (const AVCodecTag* const []){ iamf_codec_tags, NULL },
}

Definition at line 188 of file iamfenc.c.

AV_CODEC_ID_PCM_S16LE
@ AV_CODEC_ID_PCM_S16LE
Definition: codec_id.h:328
iamf_write_header
static int iamf_write_header(AVFormatContext *s)
Definition: iamfenc.c:114
AVFMT_NOTIMESTAMPS
#define AVFMT_NOTIMESTAMPS
Format does not need / have any timestamps.
Definition: avformat.h:479
AV_CODEC_ID_FLAC
@ AV_CODEC_ID_FLAC
Definition: codec_id.h:452
AV_CODEC_ID_PCM_S16BE
@ AV_CODEC_ID_PCM_S16BE
Definition: codec_id.h:329
iamf_write_packet
static int iamf_write_packet(AVFormatContext *s, AVPacket *pkt)
Definition: iamfenc.c:130
AVCodecTag
Definition: internal.h:42
NULL
#define NULL
Definition: coverity.c:32
IAMFMuxContext
Definition: iamfenc.c:30
AV_CODEC_ID_AAC
@ AV_CODEC_ID_AAC
Definition: codec_id.h:442
AV_CODEC_ID_PCM_S24LE
@ AV_CODEC_ID_PCM_S24LE
Definition: codec_id.h:340
NULL_IF_CONFIG_SMALL
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:106
AV_CODEC_ID_OPUS
@ AV_CODEC_ID_OPUS
Definition: codec_id.h:500
AVFMT_GLOBALHEADER
#define AVFMT_GLOBALHEADER
Format wants global header.
Definition: avformat.h:478
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:50
iamf_write_trailer
static int iamf_write_trailer(AVFormatContext *s)
Definition: iamfenc.c:146
AV_CODEC_ID_PCM_S32BE
@ AV_CODEC_ID_PCM_S32BE
Definition: codec_id.h:337
iamf_deinit
static void iamf_deinit(AVFormatContext *s)
Definition: iamfenc.c:167
iamf_codec_tags
static const AVCodecTag iamf_codec_tags[]
Definition: iamfenc.c:175
AV_CODEC_ID_PCM_S32LE
@ AV_CODEC_ID_PCM_S32LE
Definition: codec_id.h:336
iamf_init
static int iamf_init(AVFormatContext *s)
Definition: iamfenc.c:39
MKTAG
#define MKTAG(a, b, c, d)
Definition: macros.h:55
AV_CODEC_ID_PCM_S24BE
@ AV_CODEC_ID_PCM_S24BE
Definition: codec_id.h:341