FFmpeg
Loading...
Searching...
No Matches
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') }
}
@ AV_CODEC_ID_PCM_S24BE
Definition codec_id.h:343
@ AV_CODEC_ID_PCM_S16LE
Definition codec_id.h:330
@ AV_CODEC_ID_NONE
Definition codec_id.h:48
@ AV_CODEC_ID_PCM_S16BE
Definition codec_id.h:331
@ AV_CODEC_ID_PCM_S24LE
Definition codec_id.h:342
@ AV_CODEC_ID_PCM_S32LE
Definition codec_id.h:338
@ AV_CODEC_ID_AAC
Definition codec_id.h:455
@ AV_CODEC_ID_FLAC
Definition codec_id.h:465
@ AV_CODEC_ID_PCM_S32BE
Definition codec_id.h:339
@ AV_CODEC_ID_OPUS
Definition codec_id.h:513
#define MKTAG(a, b, c, d)
Definition macros.h:55

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 },
}
#define AVFMT_FIXED_FRAMESIZE
Format wants fixed size audio frames..
Definition avformat.h:518
#define AVFMT_GLOBALHEADER
Format wants global header.
Definition avformat.h:497
#define AVFMT_NOTIMESTAMPS
Format does not need / have any timestamps.
Definition avformat.h:498
#define NULL
Definition coverity.c:32
static void iamf_deinit(AVFormatContext *s)
Definition iamfenc.c:167
static int iamf_write_header(AVFormatContext *s)
Definition iamfenc.c:114
static int iamf_write_packet(AVFormatContext *s, AVPacket *pkt)
Definition iamfenc.c:130
static int iamf_write_trailer(AVFormatContext *s)
Definition iamfenc.c:146
static const AVCodecTag iamf_codec_tags[]
Definition iamfenc.c:175
static int iamf_init(AVFormatContext *s)
Definition iamfenc.c:39
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88

Definition at line 188 of file iamfenc.c.