FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ffmpeg.h File Reference
#include "config.h"
#include <stdint.h>
#include <stdio.h>
#include <signal.h>
#include "cmdutils.h"
#include "libavformat/avformat.h"
#include "libavformat/avio.h"
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavutil/avutil.h"
#include "libavutil/dict.h"
#include "libavutil/eval.h"
#include "libavutil/fifo.h"
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
#include "libavutil/threadmessage.h"
#include "libswresample/swresample.h"

Go to the source code of this file.

Data Structures

struct  HWAccel
 
struct  StreamMap
 
struct  AudioChannelMap
 
struct  OptionsContext
 
struct  InputFilter
 
struct  OutputFilter
 
struct  FilterGraph
 
struct  InputStream
 
struct  InputStream::sub2video
 
struct  InputFile
 
struct  OutputStream
 
struct  OutputFile
 

Macros

#define VSYNC_AUTO   -1
 
#define VSYNC_PASSTHROUGH   0
 
#define VSYNC_CFR   1
 
#define VSYNC_VFR   2
 
#define VSYNC_VSCFR   0xfe
 
#define VSYNC_DROP   0xff
 
#define MAX_STREAMS   1024 /* arbitrary sanity check value */
 
#define DECODING_FOR_OST   1
 
#define DECODING_FOR_FILTER   2
 
#define ABORT_ON_FLAG_EMPTY_OUTPUT   (1 << 0)
 

Enumerations

enum  HWAccelID {
  HWACCEL_NONE = 0, HWACCEL_AUTO, HWACCEL_VDPAU, HWACCEL_DXVA2,
  HWACCEL_VDA, HWACCEL_VIDEOTOOLBOX, HWACCEL_QSV, HWACCEL_VAAPI,
  HWACCEL_CUVID
}
 
enum  forced_keyframes_const {
  FKF_N, FKF_N_FORCED, FKF_PREV_FORCED_N, FKF_PREV_FORCED_T,
  FKF_T, FKF_NB
}
 
enum  OSTFinished { ENCODER_FINISHED = 1, MUXER_FINISHED = 2 }
 

Functions

void term_init (void)
 
void term_exit (void)
 
void reset_options (OptionsContext *o, int is_input)
 
void show_usage (void)
 
void opt_output_file (void *optctx, const char *filename)
 
void remove_avoptions (AVDictionary **a, AVDictionary *b)
 
void assert_avoptions (AVDictionary *m)
 
int guess_input_channel_layout (InputStream *ist)
 
enum AVPixelFormat choose_pixel_fmt (AVStream *st, AVCodecContext *avctx, AVCodec *codec, enum AVPixelFormat target)
 
void choose_sample_fmt (AVStream *st, AVCodec *codec)
 
int configure_filtergraph (FilterGraph *fg)
 
int configure_output_filter (FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
 
int ist_in_filtergraph (FilterGraph *fg, InputStream *ist)
 
FilterGraphinit_simple_filtergraph (InputStream *ist, OutputStream *ost)
 
int init_complex_filtergraph (FilterGraph *fg)
 
int ffmpeg_parse_options (int argc, char **argv)
 
int vdpau_init (AVCodecContext *s)
 
int dxva2_init (AVCodecContext *s)
 
int vda_init (AVCodecContext *s)
 
int videotoolbox_init (AVCodecContext *s)
 
int qsv_init (AVCodecContext *s)
 
int qsv_transcode_init (OutputStream *ost)
 
int vaapi_decode_init (AVCodecContext *avctx)
 
int vaapi_device_init (const char *device)
 
int cuvid_init (AVCodecContext *s)
 
int cuvid_transcode_init (OutputStream *ost)
 

Variables

const char *const forced_keyframes_const_names []
 
InputStream ** input_streams
 
int nb_input_streams
 
InputFile ** input_files
 
int nb_input_files
 
OutputStream ** output_streams
 
int nb_output_streams
 
OutputFile ** output_files
 
int nb_output_files
 
FilterGraph ** filtergraphs
 
int nb_filtergraphs
 
char * vstats_filename
 
char * sdp_filename
 
float audio_drift_threshold
 
float dts_delta_threshold
 
float dts_error_threshold
 
int audio_volume
 
int audio_sync_method
 
int video_sync_method
 
float frame_drop_threshold
 
int do_benchmark
 
int do_benchmark_all
 
int do_deinterlace
 
int do_hex_dump
 
int do_pkt_dump
 
int copy_ts
 
int start_at_zero
 
int copy_tb
 
int debug_ts
 
int exit_on_error
 
int abort_on_flags
 
int print_stats
 
int qp_hist
 
int stdin_interaction
 
int frame_bits_per_raw_sample
 
AVIOContextprogress_avio
 
float max_error_rate
 
char * videotoolbox_pixfmt
 
const AVIOInterruptCB int_cb
 
const OptionDef options []
 
const HWAccel hwaccels []
 
int hwaccel_lax_profile_check
 
AVBufferRefhw_device_ctx
 

Macro Definition Documentation

#define VSYNC_AUTO   -1

Definition at line 51 of file ffmpeg.h.

Referenced by do_video_out(), opt_vsync(), and transcode_init().

#define VSYNC_PASSTHROUGH   0

Definition at line 52 of file ffmpeg.h.

Referenced by do_video_out(), new_video_stream(), opt_vsync(), and transcode_init().

#define VSYNC_CFR   1

Definition at line 53 of file ffmpeg.h.

Referenced by do_video_out(), opt_vsync(), and transcode_init().

#define VSYNC_VFR   2

Definition at line 54 of file ffmpeg.h.

Referenced by do_video_out(), and opt_vsync().

#define VSYNC_VSCFR   0xfe

Definition at line 55 of file ffmpeg.h.

Referenced by do_video_out(), and transcode_init().

#define VSYNC_DROP   0xff

Definition at line 56 of file ffmpeg.h.

Referenced by do_video_out(), opt_vsync(), and write_frame().

#define MAX_STREAMS   1024 /* arbitrary sanity check value */

Definition at line 58 of file ffmpeg.h.

Referenced by opt_streamid().

#define DECODING_FOR_OST   1

Definition at line 264 of file ffmpeg.h.

Referenced by init_input_stream(), and open_output_file().

#define DECODING_FOR_FILTER   2

Definition at line 265 of file ffmpeg.h.

Referenced by init_input_filter(), and init_input_stream().

#define ABORT_ON_FLAG_EMPTY_OUTPUT   (1 << 0)

Definition at line 394 of file ffmpeg.h.

Referenced by opt_abort_on(), and transcode().

Enumeration Type Documentation

enum HWAccelID
Enumerator
HWACCEL_NONE 
HWACCEL_AUTO 
HWACCEL_VDPAU 
HWACCEL_DXVA2 
HWACCEL_VDA 
HWACCEL_VIDEOTOOLBOX 
HWACCEL_QSV 
HWACCEL_VAAPI 
HWACCEL_CUVID 

Definition at line 60 of file ffmpeg.h.

Enumerator
FKF_N 
FKF_N_FORCED 
FKF_PREV_FORCED_N 
FKF_PREV_FORCED_T 
FKF_T 
FKF_NB 

Definition at line 385 of file ffmpeg.h.

Enumerator
ENCODER_FINISHED 
MUXER_FINISHED 

Definition at line 398 of file ffmpeg.h.

Function Documentation

void term_init ( void  )

Definition at line 366 of file ffmpeg.c.

Referenced by assert_file_overwrite(), and main().

void term_exit ( void  )

Definition at line 308 of file ffmpeg.c.

Referenced by assert_file_overwrite(), ffmpeg_cleanup(), and transcode().

void reset_options ( OptionsContext o,
int  is_input 
)
void show_usage ( void  )

Definition at line 2999 of file ffmpeg_opt.c.

Referenced by main(), and show_help_default().

void opt_output_file ( void optctx,
const char *  filename 
)
void remove_avoptions ( AVDictionary **  a,
AVDictionary b 
)

Definition at line 586 of file ffmpeg.c.

Referenced by open_input_file().

void assert_avoptions ( AVDictionary m)

Definition at line 595 of file ffmpeg.c.

Referenced by init_input_stream(), init_output_stream(), and open_input_file().

int guess_input_channel_layout ( InputStream ist)

Definition at line 1911 of file ffmpeg.c.

Referenced by add_input_streams(), and decode_audio().

enum AVPixelFormat choose_pixel_fmt ( AVStream st,
AVCodecContext avctx,
AVCodec codec,
enum AVPixelFormat  target 
)

Definition at line 63 of file ffmpeg_filter.c.

Referenced by choose_pix_fmts(), and read_ffserver_streams().

void choose_sample_fmt ( AVStream st,
AVCodec codec 
)

Definition at line 92 of file ffmpeg_filter.c.

Referenced by read_ffserver_streams().

int configure_filtergraph ( FilterGraph fg)
int configure_output_filter ( FilterGraph fg,
OutputFilter ofilter,
AVFilterInOut out 
)

Definition at line 653 of file ffmpeg_filter.c.

Referenced by configure_filtergraph().

int ist_in_filtergraph ( FilterGraph fg,
InputStream ist 
)

Definition at line 1096 of file ffmpeg_filter.c.

Referenced by decode_audio(), and decode_video().

FilterGraph* init_simple_filtergraph ( InputStream ist,
OutputStream ost 
)

Referenced by transcode_init().

int init_complex_filtergraph ( FilterGraph fg)

Definition at line 300 of file ffmpeg_filter.c.

Referenced by init_complex_filters().

int ffmpeg_parse_options ( int  argc,
char **  argv 
)

Definition at line 3049 of file ffmpeg_opt.c.

Referenced by main().

int vdpau_init ( AVCodecContext s)

Definition at line 145 of file ffmpeg_vdpau.c.

int dxva2_init ( AVCodecContext s)

Definition at line 409 of file ffmpeg_dxva2.c.

int vda_init ( AVCodecContext s)
int videotoolbox_init ( AVCodecContext s)

Definition at line 130 of file ffmpeg_videotoolbox.c.

int qsv_init ( AVCodecContext s)

Definition at line 115 of file ffmpeg_qsv.c.

int qsv_transcode_init ( OutputStream ost)

Definition at line 183 of file ffmpeg_qsv.c.

Referenced by transcode_init().

int vaapi_decode_init ( AVCodecContext avctx)

Definition at line 411 of file ffmpeg_vaapi.c.

int vaapi_device_init ( const char *  device)

Definition at line 526 of file ffmpeg_vaapi.c.

Referenced by vaapi_decode_init().

int cuvid_init ( AVCodecContext s)

Definition at line 47 of file ffmpeg_cuvid.c.

int cuvid_transcode_init ( OutputStream ost)

TODO: Make device index configurable

Definition at line 70 of file ffmpeg_cuvid.c.

Referenced by transcode_init().

Variable Documentation

const char* const forced_keyframes_const_names[]

Definition at line 114 of file ffmpeg.c.

Referenced by transcode_init().

InputStream** input_streams
int nb_input_streams
InputFile** input_files
int nb_input_files
OutputStream** output_streams

Definition at line 142 of file ffmpeg.c.

Referenced by new_output_stream(), open_output_file(), and qsv_transcode_init().

int nb_output_streams
OutputFile** output_files
int nb_output_files
FilterGraph** filtergraphs
int nb_filtergraphs
char* vstats_filename
char* sdp_filename

Definition at line 96 of file ffmpeg_opt.c.

Referenced by opt_sdp_file(), and print_sdp().

float audio_drift_threshold

Definition at line 98 of file ffmpeg_opt.c.

Referenced by configure_input_audio_filter().

float dts_delta_threshold

Definition at line 99 of file ffmpeg_opt.c.

Referenced by process_input().

float dts_error_threshold

Definition at line 100 of file ffmpeg_opt.c.

Referenced by do_video_out(), and process_input().

int audio_volume
int audio_sync_method

Definition at line 103 of file ffmpeg_opt.c.

Referenced by configure_input_audio_filter(), do_audio_out(), and write_frame().

int video_sync_method

Definition at line 104 of file ffmpeg_opt.c.

Referenced by do_video_out(), new_video_stream(), opt_vsync(), transcode_init(), and write_frame().

float frame_drop_threshold

Definition at line 105 of file ffmpeg_opt.c.

Referenced by do_video_out().

int do_benchmark

Definition at line 107 of file ffmpeg_opt.c.

Referenced by ffmpeg_cleanup(), and main().

int do_benchmark_all

Definition at line 108 of file ffmpeg_opt.c.

Referenced by update_benchmark().

int do_deinterlace

Definition at line 106 of file ffmpeg_opt.c.

Referenced by configure_input_video_filter().

int do_hex_dump

Definition at line 109 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and process_input().

int do_pkt_dump

Definition at line 110 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and process_input().

int copy_ts
int start_at_zero
int copy_tb

Definition at line 113 of file ffmpeg_opt.c.

Referenced by transcode_init().

int debug_ts
int exit_on_error
int abort_on_flags

Definition at line 116 of file ffmpeg_opt.c.

Referenced by opt_abort_on(), and transcode().

int print_stats

Definition at line 117 of file ffmpeg_opt.c.

Referenced by print_report().

int qp_hist

Definition at line 118 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and print_report().

int stdin_interaction

Definition at line 119 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite(), open_input_file(), and transcode().

int frame_bits_per_raw_sample

Definition at line 120 of file ffmpeg_opt.c.

Referenced by new_video_stream(), and transcode_init().

AVIOContext* progress_avio

Definition at line 133 of file ffmpeg.c.

Referenced by opt_progress().

float max_error_rate

Definition at line 121 of file ffmpeg_opt.c.

Referenced by main().

char* videotoolbox_pixfmt

Definition at line 39 of file ffmpeg_videotoolbox.c.

Referenced by videotoolbox_init(), and videotoolbox_retrieve_data().

const AVIOInterruptCB int_cb
static const OptionDef options
const HWAccel hwaccels[]

Definition at line 68 of file ffmpeg_opt.c.

Referenced by get_hwaccel().

int hwaccel_lax_profile_check

Definition at line 92 of file ffmpeg_opt.c.

Referenced by vaapi_build_decoder_config().

AVBufferRef* hw_device_ctx