FFmpeg
Data Structures | Macros | Functions | Variables
ffmpeg_mux_init.c File Reference
#include <string.h>
#include "cmdutils.h"
#include "ffmpeg.h"
#include "ffmpeg_mux.h"
#include "fopen_utf8.h"
#include "libavformat/avformat.h"
#include "libavformat/avio.h"
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/avutil.h"
#include "libavutil/bprint.h"
#include "libavutil/dict.h"
#include "libavutil/display.h"
#include "libavutil/getenv_utf8.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/log.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"

Go to the source code of this file.

Data Structures

struct  EncStatsFile
 

Macros

#define DEFAULT_PASS_LOGFILENAME_PREFIX   "ffmpeg2pass"
 
#define IS_AV_ENC(ost, type)   (ost->enc_ctx && (type == AVMEDIA_TYPE_VIDEO || type == AVMEDIA_TYPE_AUDIO))
 
#define IS_INTERLEAVED(type)   (type != AVMEDIA_TYPE_ATTACHMENT)
 
#define METADATA_CHECK_INDEX(index, nb_elems, desc)
 
#define SET_DICT(type, meta, context, index)
 

Functions

static int check_opt_bitexact (void *ctx, const AVDictionary *opts, const char *opt_name, int flag)
 
static int choose_encoder (const OptionsContext *o, AVFormatContext *s, OutputStream *ost, const AVCodec **enc)
 
static char * get_line (AVIOContext *s, AVBPrint *bprint)
 
static int get_preset_file_2 (const char *preset_name, const char *codec_name, AVIOContext **s)
 
static int enc_stats_get_file (AVIOContext **io, const char *path)
 
void of_enc_stats_close (void)
 
static int unescape (char **pdst, size_t *dst_len, const char **pstr, char delim)
 
static int enc_stats_init (OutputStream *ost, EncStats *es, int pre, const char *path, const char *fmt_spec)
 
static const char * output_stream_item_name (void *obj)
 
static MuxStreammux_stream_alloc (Muxer *mux, enum AVMediaType type)
 
static int ost_get_filters (const OptionsContext *o, AVFormatContext *oc, OutputStream *ost, char **dst)
 
static int parse_matrix_coeffs (void *logctx, uint16_t *dest, const char *str)
 
static int fmt_in_list (const int *formats, int format)
 
static enum AVPixelFormat choose_pixel_fmt (const AVCodec *codec, enum AVPixelFormat target)
 
static enum AVPixelFormat pix_fmt_parse (OutputStream *ost, const char *name)
 
static int new_stream_video (Muxer *mux, const OptionsContext *o, OutputStream *ost)
 
static int new_stream_audio (Muxer *mux, const OptionsContext *o, OutputStream *ost)
 
static int new_stream_attachment (Muxer *mux, const OptionsContext *o, OutputStream *ost)
 
static int new_stream_subtitle (Muxer *mux, const OptionsContext *o, OutputStream *ost)
 
static int streamcopy_init (const Muxer *mux, OutputStream *ost)
 
static int ost_add (Muxer *mux, const OptionsContext *o, enum AVMediaType type, InputStream *ist, OutputFilter *ofilter, OutputStream **post)
 
static int map_auto_video (Muxer *mux, const OptionsContext *o)
 
static int map_auto_audio (Muxer *mux, const OptionsContext *o)
 
static int map_auto_subtitle (Muxer *mux, const OptionsContext *o)
 
static int map_auto_data (Muxer *mux, const OptionsContext *o)
 
static int map_manual (Muxer *mux, const OptionsContext *o, const StreamMap *map)
 
static int of_add_attachments (Muxer *mux, const OptionsContext *o)
 
static int create_streams (Muxer *mux, const OptionsContext *o)
 
static int setup_sync_queues (Muxer *mux, AVFormatContext *oc, int64_t buf_size_us)
 
static int of_add_programs (Muxer *mux, const OptionsContext *o)
 
static int parse_meta_type (void *logctx, const char *arg, char *type, int *index, const char **stream_spec)
 Parse a metadata specifier passed as 'arg' parameter. More...
 
static int of_add_metadata (OutputFile *of, AVFormatContext *oc, const OptionsContext *o)
 
static int copy_chapters (InputFile *ifile, OutputFile *ofile, AVFormatContext *os, int copy_metadata)
 
static int copy_metadata (Muxer *mux, AVFormatContext *ic, const char *outspec, const char *inspec, int *metadata_global_manual, int *metadata_streams_manual, int *metadata_chapters_manual)
 
static int copy_meta (Muxer *mux, const OptionsContext *o)
 
static int set_dispositions (Muxer *mux, const OptionsContext *o)
 
static int compare_int64 (const void *a, const void *b)
 
static int parse_forced_key_frames (void *log, KeyframeForceCtx *kf, const Muxer *mux, const char *spec)
 
static int process_forced_keyframes (Muxer *mux, const OptionsContext *o)
 
static int validate_enc_avopt (Muxer *mux, const AVDictionary *codec_avopt)
 
static int init_output_stream_nofilter (OutputStream *ost)
 
static const char * output_file_item_name (void *obj)
 
static Muxermux_alloc (void)
 
int of_open (const OptionsContext *o, const char *filename)
 

Variables

static const char *const opt_name_apad [] = {"apad", NULL}
 
static const char *const opt_name_autoscale [] = {"autoscale", NULL}
 
static const char *const opt_name_bits_per_raw_sample [] = {"bits_per_raw_sample", NULL}
 
static const char *const opt_name_bitstream_filters [] = {"bsf", "absf", "vbsf", NULL}
 
static const char *const opt_name_copy_initial_nonkeyframes [] = {"copyinkf", NULL}
 
static const char *const opt_name_copy_prior_start [] = {"copypriorss", NULL}
 
static const char *const opt_name_disposition [] = {"disposition", NULL}
 
static const char *const opt_name_enc_time_bases [] = {"enc_time_base", NULL}
 
static const char *const opt_name_enc_stats_pre [] = {"enc_stats_pre", NULL}
 
static const char *const opt_name_enc_stats_post [] = {"enc_stats_post", NULL}
 
static const char *const opt_name_mux_stats [] = {"mux_stats", NULL}
 
static const char *const opt_name_enc_stats_pre_fmt [] = {"enc_stats_pre_fmt", NULL}
 
static const char *const opt_name_enc_stats_post_fmt [] = {"enc_stats_post_fmt", NULL}
 
static const char *const opt_name_mux_stats_fmt [] = {"mux_stats_fmt", NULL}
 
static const char *const opt_name_filters [] = {"filter", "af", "vf", NULL}
 
static const char *const opt_name_filter_scripts [] = {"filter_script", NULL}
 
static const char *const opt_name_fix_sub_duration_heartbeat [] = {"fix_sub_duration_heartbeat", NULL}
 
static const char *const opt_name_fps_mode [] = {"fps_mode", NULL}
 
static const char *const opt_name_force_fps [] = {"force_fps", NULL}
 
static const char *const opt_name_forced_key_frames [] = {"forced_key_frames", NULL}
 
static const char *const opt_name_frame_aspect_ratios [] = {"aspect", NULL}
 
static const char *const opt_name_intra_matrices [] = {"intra_matrix", NULL}
 
static const char *const opt_name_inter_matrices [] = {"inter_matrix", NULL}
 
static const char *const opt_name_chroma_intra_matrices [] = {"chroma_intra_matrix", NULL}
 
static const char *const opt_name_max_frame_rates [] = {"fpsmax", NULL}
 
static const char *const opt_name_max_frames [] = {"frames", "aframes", "vframes", "dframes", NULL}
 
static const char *const opt_name_max_muxing_queue_size [] = {"max_muxing_queue_size", NULL}
 
static const char *const opt_name_muxing_queue_data_threshold [] = {"muxing_queue_data_threshold", NULL}
 
static const char *const opt_name_pass [] = {"pass", NULL}
 
static const char *const opt_name_passlogfiles [] = {"passlogfile", NULL}
 
static const char *const opt_name_presets [] = {"pre", "apre", "vpre", "spre", NULL}
 
static const char *const opt_name_qscale [] = {"q", "qscale", NULL}
 
static const char *const opt_name_rc_overrides [] = {"rc_override", NULL}
 
static const char *const opt_name_time_bases [] = {"time_base", NULL}
 
static const char *const opt_name_audio_channels [] = {"ac", NULL}
 
static const char *const opt_name_audio_ch_layouts [] = {"channel_layout", "ch_layout", NULL}
 
static const char *const opt_name_audio_sample_rate [] = {"ar", NULL}
 
static const char *const opt_name_frame_sizes [] = {"s", NULL}
 
static const char *const opt_name_frame_pix_fmts [] = {"pix_fmt", NULL}
 
static const char *const opt_name_sample_fmts [] = {"sample_fmt", NULL}
 
static EncStatsFileenc_stats_files
 
static int nb_enc_stats_files
 
static const AVClass output_stream_class
 
const char *const forced_keyframes_const_names []
 
static const AVClass output_file_class
 

Macro Definition Documentation

◆ DEFAULT_PASS_LOGFILENAME_PREFIX

#define DEFAULT_PASS_LOGFILENAME_PREFIX   "ffmpeg2pass"

Definition at line 49 of file ffmpeg_mux_init.c.

◆ IS_AV_ENC

#define IS_AV_ENC (   ost,
  type 
)    (ost->enc_ctx && (type == AVMEDIA_TYPE_VIDEO || type == AVMEDIA_TYPE_AUDIO))

◆ IS_INTERLEAVED

#define IS_INTERLEAVED (   type)    (type != AVMEDIA_TYPE_ATTACHMENT)

◆ METADATA_CHECK_INDEX

#define METADATA_CHECK_INDEX (   index,
  nb_elems,
  desc 
)
Value:
if ((index) < 0 || (index) >= (nb_elems)) {\
av_log(mux, AV_LOG_FATAL, "Invalid %s index %d while processing metadata maps.\n",\
(desc), (index));\
return AVERROR(EINVAL);\
}

◆ SET_DICT

#define SET_DICT (   type,
  meta,
  context,
  index 
)
Value:
switch (type) {\
case 'g':\
meta = &context->metadata;\
break;\
case 'c':\
METADATA_CHECK_INDEX(index, context->nb_chapters, "chapter")\
meta = &context->chapters[index]->metadata;\
break;\
case 'p':\
METADATA_CHECK_INDEX(index, context->nb_programs, "program")\
meta = &context->programs[index]->metadata;\
break;\
case 's':\
break; /* handled separately below */ \
default: av_assert0(0);\
}\

Function Documentation

◆ check_opt_bitexact()

static int check_opt_bitexact ( void *  ctx,
const AVDictionary opts,
const char *  opt_name,
int  flag 
)
static

Definition at line 92 of file ffmpeg_mux_init.c.

Referenced by of_open(), and ost_add().

◆ choose_encoder()

static int choose_encoder ( const OptionsContext o,
AVFormatContext s,
OutputStream ost,
const AVCodec **  enc 
)
static

Definition at line 108 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ get_line()

static char* get_line ( AVIOContext s,
AVBPrint *  bprint 
)
static

Definition at line 151 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ get_preset_file_2()

static int get_preset_file_2 ( const char *  preset_name,
const char *  codec_name,
AVIOContext **  s 
)
static

Definition at line 164 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ enc_stats_get_file()

static int enc_stats_get_file ( AVIOContext **  io,
const char *  path 
)
static

Definition at line 202 of file ffmpeg_mux_init.c.

Referenced by enc_stats_init().

◆ of_enc_stats_close()

void of_enc_stats_close ( void  )

Definition at line 235 of file ffmpeg_mux_init.c.

Referenced by ffmpeg_cleanup().

◆ unescape()

static int unescape ( char **  pdst,
size_t *  dst_len,
const char **  pstr,
char  delim 
)
static

Definition at line 245 of file ffmpeg_mux_init.c.

Referenced by enc_stats_init().

◆ enc_stats_init()

static int enc_stats_init ( OutputStream ost,
EncStats es,
int  pre,
const char *  path,
const char *  fmt_spec 
)
static

Definition at line 284 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ output_stream_item_name()

static const char* output_stream_item_name ( void *  obj)
static

Definition at line 410 of file ffmpeg_mux_init.c.

◆ mux_stream_alloc()

static MuxStream* mux_stream_alloc ( Muxer mux,
enum AVMediaType  type 
)
static

Definition at line 424 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ ost_get_filters()

static int ost_get_filters ( const OptionsContext o,
AVFormatContext oc,
OutputStream ost,
char **  dst 
)
static

Definition at line 445 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ parse_matrix_coeffs()

static int parse_matrix_coeffs ( void *  logctx,
uint16_t *  dest,
const char *  str 
)
static

Definition at line 492 of file ffmpeg_mux_init.c.

Referenced by new_stream_video().

◆ fmt_in_list()

static int fmt_in_list ( const int formats,
int  format 
)
static

Definition at line 512 of file ffmpeg_mux_init.c.

Referenced by pix_fmt_parse().

◆ choose_pixel_fmt()

static enum AVPixelFormat choose_pixel_fmt ( const AVCodec codec,
enum AVPixelFormat  target 
)
static

Definition at line 521 of file ffmpeg_mux_init.c.

Referenced by pix_fmt_parse().

◆ pix_fmt_parse()

static enum AVPixelFormat pix_fmt_parse ( OutputStream ost,
const char *  name 
)
static

Definition at line 546 of file ffmpeg_mux_init.c.

Referenced by new_stream_video().

◆ new_stream_video()

static int new_stream_video ( Muxer mux,
const OptionsContext o,
OutputStream ost 
)
static

Definition at line 589 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ new_stream_audio()

static int new_stream_audio ( Muxer mux,
const OptionsContext o,
OutputStream ost 
)
static

Definition at line 834 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ new_stream_attachment()

static int new_stream_attachment ( Muxer mux,
const OptionsContext o,
OutputStream ost 
)
static

Definition at line 923 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ new_stream_subtitle()

static int new_stream_subtitle ( Muxer mux,
const OptionsContext o,
OutputStream ost 
)
static

Definition at line 930 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ streamcopy_init()

static int streamcopy_init ( const Muxer mux,
OutputStream ost 
)
static

Definition at line 971 of file ffmpeg_mux_init.c.

Referenced by ost_add().

◆ ost_add()

static int ost_add ( Muxer mux,
const OptionsContext o,
enum AVMediaType  type,
InputStream ist,
OutputFilter ofilter,
OutputStream **  post 
)
static

◆ map_auto_video()

static int map_auto_video ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 1466 of file ffmpeg_mux_init.c.

Referenced by create_streams().

◆ map_auto_audio()

static int map_auto_audio ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 1519 of file ffmpeg_mux_init.c.

Referenced by create_streams().

◆ map_auto_subtitle()

static int map_auto_subtitle ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 1563 of file ffmpeg_mux_init.c.

Referenced by create_streams().

◆ map_auto_data()

static int map_auto_data ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 1602 of file ffmpeg_mux_init.c.

Referenced by create_streams().

◆ map_manual()

static int map_manual ( Muxer mux,
const OptionsContext o,
const StreamMap map 
)
static

Definition at line 1625 of file ffmpeg_mux_init.c.

Referenced by create_streams().

◆ of_add_attachments()

static int of_add_attachments ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 1700 of file ffmpeg_mux_init.c.

Referenced by create_streams().

◆ create_streams()

static int create_streams ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 1772 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ setup_sync_queues()

static int setup_sync_queues ( Muxer mux,
AVFormatContext oc,
int64_t  buf_size_us 
)
static

Definition at line 1849 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ of_add_programs()

static int of_add_programs ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 1946 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ parse_meta_type()

static int parse_meta_type ( void *  logctx,
const char *  arg,
char *  type,
int index,
const char **  stream_spec 
)
static

Parse a metadata specifier passed as 'arg' parameter.

Parameters
argmetadata string to parse
typemetadata type is written here – g(lobal)/s(tream)/c(hapter)/p(rogram)
indexfor type c/p, chapter/program index is written here
stream_specfor type s, the stream specifier is written here

Definition at line 2015 of file ffmpeg_mux_init.c.

Referenced by copy_metadata(), and of_add_metadata().

◆ of_add_metadata()

static int of_add_metadata ( OutputFile of,
AVFormatContext oc,
const OptionsContext o 
)
static

Definition at line 2045 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ copy_chapters()

static int copy_chapters ( InputFile ifile,
OutputFile ofile,
AVFormatContext os,
int  copy_metadata 
)
static

Definition at line 2123 of file ffmpeg_mux_init.c.

Referenced by copy_meta().

◆ copy_metadata()

static int copy_metadata ( Muxer mux,
AVFormatContext ic,
const char *  outspec,
const char *  inspec,
int metadata_global_manual,
int metadata_streams_manual,
int metadata_chapters_manual 
)
static

Definition at line 2166 of file ffmpeg_mux_init.c.

Referenced by copy_chapters(), and copy_meta().

◆ copy_meta()

static int copy_meta ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 2253 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ set_dispositions()

static int set_dispositions ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 2328 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ compare_int64()

static int compare_int64 ( const void *  a,
const void *  b 
)
static

Definition at line 2408 of file ffmpeg_mux_init.c.

Referenced by parse_forced_key_frames().

◆ parse_forced_key_frames()

static int parse_forced_key_frames ( void *  log,
KeyframeForceCtx kf,
const Muxer mux,
const char *  spec 
)
static

Definition at line 2413 of file ffmpeg_mux_init.c.

Referenced by process_forced_keyframes().

◆ process_forced_keyframes()

static int process_forced_keyframes ( Muxer mux,
const OptionsContext o 
)
static

Definition at line 2487 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ validate_enc_avopt()

static int validate_enc_avopt ( Muxer mux,
const AVDictionary codec_avopt 
)
static

Definition at line 2532 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ init_output_stream_nofilter()

static int init_output_stream_nofilter ( OutputStream ost)
static

Definition at line 2578 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ output_file_item_name()

static const char* output_file_item_name ( void *  obj)
static

Definition at line 2595 of file ffmpeg_mux_init.c.

◆ mux_alloc()

static Muxer* mux_alloc ( void  )
static

Definition at line 2609 of file ffmpeg_mux_init.c.

Referenced by of_open().

◆ of_open()

int of_open ( const OptionsContext o,
const char *  filename 
)

Definition at line 2624 of file ffmpeg_mux_init.c.

Variable Documentation

◆ opt_name_apad

const char* const opt_name_apad[] = {"apad", NULL}
static

Definition at line 51 of file ffmpeg_mux_init.c.

◆ opt_name_autoscale

const char* const opt_name_autoscale[] = {"autoscale", NULL}
static

Definition at line 52 of file ffmpeg_mux_init.c.

◆ opt_name_bits_per_raw_sample

const char* const opt_name_bits_per_raw_sample[] = {"bits_per_raw_sample", NULL}
static

Definition at line 53 of file ffmpeg_mux_init.c.

◆ opt_name_bitstream_filters

const char* const opt_name_bitstream_filters[] = {"bsf", "absf", "vbsf", NULL}
static

Definition at line 54 of file ffmpeg_mux_init.c.

◆ opt_name_copy_initial_nonkeyframes

const char* const opt_name_copy_initial_nonkeyframes[] = {"copyinkf", NULL}
static

Definition at line 55 of file ffmpeg_mux_init.c.

◆ opt_name_copy_prior_start

const char* const opt_name_copy_prior_start[] = {"copypriorss", NULL}
static

Definition at line 56 of file ffmpeg_mux_init.c.

◆ opt_name_disposition

const char* const opt_name_disposition[] = {"disposition", NULL}
static

Definition at line 57 of file ffmpeg_mux_init.c.

◆ opt_name_enc_time_bases

const char* const opt_name_enc_time_bases[] = {"enc_time_base", NULL}
static

Definition at line 58 of file ffmpeg_mux_init.c.

◆ opt_name_enc_stats_pre

const char* const opt_name_enc_stats_pre[] = {"enc_stats_pre", NULL}
static

Definition at line 59 of file ffmpeg_mux_init.c.

◆ opt_name_enc_stats_post

const char* const opt_name_enc_stats_post[] = {"enc_stats_post", NULL}
static

Definition at line 60 of file ffmpeg_mux_init.c.

◆ opt_name_mux_stats

const char* const opt_name_mux_stats[] = {"mux_stats", NULL}
static

Definition at line 61 of file ffmpeg_mux_init.c.

◆ opt_name_enc_stats_pre_fmt

const char* const opt_name_enc_stats_pre_fmt[] = {"enc_stats_pre_fmt", NULL}
static

Definition at line 62 of file ffmpeg_mux_init.c.

◆ opt_name_enc_stats_post_fmt

const char* const opt_name_enc_stats_post_fmt[] = {"enc_stats_post_fmt", NULL}
static

Definition at line 63 of file ffmpeg_mux_init.c.

◆ opt_name_mux_stats_fmt

const char* const opt_name_mux_stats_fmt[] = {"mux_stats_fmt", NULL}
static

Definition at line 64 of file ffmpeg_mux_init.c.

◆ opt_name_filters

const char* const opt_name_filters[] = {"filter", "af", "vf", NULL}
static

Definition at line 65 of file ffmpeg_mux_init.c.

◆ opt_name_filter_scripts

const char* const opt_name_filter_scripts[] = {"filter_script", NULL}
static

Definition at line 66 of file ffmpeg_mux_init.c.

◆ opt_name_fix_sub_duration_heartbeat

const char* const opt_name_fix_sub_duration_heartbeat[] = {"fix_sub_duration_heartbeat", NULL}
static

Definition at line 67 of file ffmpeg_mux_init.c.

◆ opt_name_fps_mode

const char* const opt_name_fps_mode[] = {"fps_mode", NULL}
static

Definition at line 68 of file ffmpeg_mux_init.c.

◆ opt_name_force_fps

const char* const opt_name_force_fps[] = {"force_fps", NULL}
static

Definition at line 69 of file ffmpeg_mux_init.c.

◆ opt_name_forced_key_frames

const char* const opt_name_forced_key_frames[] = {"forced_key_frames", NULL}
static

Definition at line 70 of file ffmpeg_mux_init.c.

◆ opt_name_frame_aspect_ratios

const char* const opt_name_frame_aspect_ratios[] = {"aspect", NULL}
static

Definition at line 71 of file ffmpeg_mux_init.c.

◆ opt_name_intra_matrices

const char* const opt_name_intra_matrices[] = {"intra_matrix", NULL}
static

Definition at line 72 of file ffmpeg_mux_init.c.

◆ opt_name_inter_matrices

const char* const opt_name_inter_matrices[] = {"inter_matrix", NULL}
static

Definition at line 73 of file ffmpeg_mux_init.c.

◆ opt_name_chroma_intra_matrices

const char* const opt_name_chroma_intra_matrices[] = {"chroma_intra_matrix", NULL}
static

Definition at line 74 of file ffmpeg_mux_init.c.

◆ opt_name_max_frame_rates

const char* const opt_name_max_frame_rates[] = {"fpsmax", NULL}
static

Definition at line 75 of file ffmpeg_mux_init.c.

◆ opt_name_max_frames

const char* const opt_name_max_frames[] = {"frames", "aframes", "vframes", "dframes", NULL}
static

Definition at line 76 of file ffmpeg_mux_init.c.

◆ opt_name_max_muxing_queue_size

const char* const opt_name_max_muxing_queue_size[] = {"max_muxing_queue_size", NULL}
static

Definition at line 77 of file ffmpeg_mux_init.c.

◆ opt_name_muxing_queue_data_threshold

const char* const opt_name_muxing_queue_data_threshold[] = {"muxing_queue_data_threshold", NULL}
static

Definition at line 78 of file ffmpeg_mux_init.c.

◆ opt_name_pass

const char* const opt_name_pass[] = {"pass", NULL}
static

Definition at line 79 of file ffmpeg_mux_init.c.

◆ opt_name_passlogfiles

const char* const opt_name_passlogfiles[] = {"passlogfile", NULL}
static

Definition at line 80 of file ffmpeg_mux_init.c.

◆ opt_name_presets

const char* const opt_name_presets[] = {"pre", "apre", "vpre", "spre", NULL}
static

Definition at line 81 of file ffmpeg_mux_init.c.

◆ opt_name_qscale

const char* const opt_name_qscale[] = {"q", "qscale", NULL}
static

Definition at line 82 of file ffmpeg_mux_init.c.

◆ opt_name_rc_overrides

const char* const opt_name_rc_overrides[] = {"rc_override", NULL}
static

Definition at line 83 of file ffmpeg_mux_init.c.

◆ opt_name_time_bases

const char* const opt_name_time_bases[] = {"time_base", NULL}
static

Definition at line 84 of file ffmpeg_mux_init.c.

◆ opt_name_audio_channels

const char* const opt_name_audio_channels[] = {"ac", NULL}
static

Definition at line 85 of file ffmpeg_mux_init.c.

◆ opt_name_audio_ch_layouts

const char* const opt_name_audio_ch_layouts[] = {"channel_layout", "ch_layout", NULL}
static

Definition at line 86 of file ffmpeg_mux_init.c.

◆ opt_name_audio_sample_rate

const char* const opt_name_audio_sample_rate[] = {"ar", NULL}
static

Definition at line 87 of file ffmpeg_mux_init.c.

◆ opt_name_frame_sizes

const char* const opt_name_frame_sizes[] = {"s", NULL}
static

Definition at line 88 of file ffmpeg_mux_init.c.

◆ opt_name_frame_pix_fmts

const char* const opt_name_frame_pix_fmts[] = {"pix_fmt", NULL}
static

Definition at line 89 of file ffmpeg_mux_init.c.

◆ opt_name_sample_fmts

const char* const opt_name_sample_fmts[] = {"sample_fmt", NULL}
static

Definition at line 90 of file ffmpeg_mux_init.c.

◆ enc_stats_files

EncStatsFile* enc_stats_files
static

Definition at line 199 of file ffmpeg_mux_init.c.

Referenced by enc_stats_get_file(), and of_enc_stats_close().

◆ nb_enc_stats_files

int nb_enc_stats_files
static

Definition at line 200 of file ffmpeg_mux_init.c.

Referenced by enc_stats_get_file(), and of_enc_stats_close().

◆ output_stream_class

const AVClass output_stream_class
static
Initial value:
= {
.class_name = "OutputStream",
}

Definition at line 417 of file ffmpeg_mux_init.c.

Referenced by mux_stream_alloc().

◆ forced_keyframes_const_names

const char* const forced_keyframes_const_names[]
Initial value:
= {
"n",
"n_forced",
"prev_forced_n",
"prev_forced_t",
"t",
}

Definition at line 2399 of file ffmpeg_mux_init.c.

Referenced by process_forced_keyframes().

◆ output_file_class

const AVClass output_file_class
static
Initial value:
= {
.class_name = "OutputFile",
.item_name = output_file_item_name,
}

Definition at line 2602 of file ffmpeg_mux_init.c.

Referenced by mux_alloc().

AVERROR
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later. That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another. Frame references ownership and permissions
type
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
Definition: writing_filters.txt:86
av_assert0
#define av_assert0(cond)
assert() equivalent, that is always enabled.
Definition: avassert.h:40
output_stream_item_name
static const char * output_stream_item_name(void *obj)
Definition: ffmpeg_mux_init.c:410
context
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option keep it simple and lowercase description are in without and describe what they for example set the foo of the bar offset is the offset of the field in your context
Definition: writing_filters.txt:91
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
index
int index
Definition: gxfenc.c:89
AV_LOG_FATAL
#define AV_LOG_FATAL
Something went wrong and recovery is not possible.
Definition: log.h:174
output_file_item_name
static const char * output_file_item_name(void *obj)
Definition: ffmpeg_mux_init.c:2595
AV_CLASS_CATEGORY_MUXER
@ AV_CLASS_CATEGORY_MUXER
Definition: log.h:32
desc
const char * desc
Definition: libsvtav1.c:83