FFmpeg
|
#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 } |
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 |
AVIOContext * | progress_avio |
float | max_error_rate |
char * | videotoolbox_pixfmt |
const AVIOInterruptCB | int_cb |
const OptionDef | options [] |
const HWAccel | hwaccels [] |
int | hwaccel_lax_profile_check |
AVBufferRef * | hw_device_ctx |
#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().
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().
enum HWAccelID |
enum OSTFinished |
Definition at line 366 of file ffmpeg.c.
Referenced by assert_file_overwrite(), and main().
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 | ||
) |
Definition at line 2999 of file ffmpeg_opt.c.
Referenced by main(), and show_help_default().
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().
Definition at line 92 of file ffmpeg_filter.c.
Referenced by read_ffserver_streams().
int configure_filtergraph | ( | FilterGraph * | fg | ) |
Definition at line 979 of file ffmpeg_filter.c.
Referenced by configure_complex_filters(), decode_audio(), decode_video(), and transcode_init().
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().
const char* const forced_keyframes_const_names[] |
Definition at line 114 of file ffmpeg.c.
Referenced by transcode_init().
InputStream** input_streams |
Definition at line 137 of file ffmpeg.c.
Referenced by add_input_streams(), cuvid_transcode_init(), init_input_filter(), new_audio_stream(), new_output_stream(), open_input_file(), open_output_file(), and qsv_transcode_init().
int nb_input_streams |
Definition at line 138 of file ffmpeg.c.
Referenced by add_input_streams(), check_keyboard_interaction(), ffmpeg_cleanup(), init_input_filter(), open_input_file(), open_output_file(), transcode(), and transcode_init().
InputFile** input_files |
Definition at line 139 of file ffmpeg.c.
Referenced by configure_input_audio_filter(), configure_input_video_filter(), init_input_filter(), open_input_file(), open_output_file(), opt_map(), opt_map_channel(), opt_target(), and sub2video_prepare().
int nb_input_files |
Definition at line 140 of file ffmpeg.c.
Referenced by add_input_streams(), dump_attachment(), ffmpeg_cleanup(), init_input_filter(), open_input_file(), open_output_file(), opt_map(), opt_map_channel(), opt_target(), print_final_stats(), reset_eagain(), and transcode_init().
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 |
Definition at line 143 of file ffmpeg.c.
Referenced by check_keyboard_interaction(), choose_output(), close_all_output_streams(), ffmpeg_cleanup(), flush_encoders(), got_eagain(), need_output(), new_output_stream(), open_output_file(), print_final_stats(), print_report(), process_input(), process_input_packet(), qsv_transcode_init(), reap_filters(), reset_eagain(), transcode(), transcode_init(), and transcode_subtitles().
OutputFile** output_files |
Definition at line 144 of file ffmpeg.c.
Referenced by configure_output_audio_filter(), configure_output_video_filter(), and open_output_file().
int nb_output_files |
Definition at line 145 of file ffmpeg.c.
Referenced by ffmpeg_cleanup(), get_ost_filters(), new_output_stream(), open_output_file(), print_final_stats(), print_sdp(), and transcode().
FilterGraph** filtergraphs |
Definition at line 147 of file ffmpeg.c.
Referenced by configure_complex_filters(), DEF_CHOOSE_FORMAT(), init_complex_filters(), open_output_file(), opt_filter_complex(), and opt_filter_complex_script().
int nb_filtergraphs |
Definition at line 148 of file ffmpeg.c.
Referenced by check_keyboard_interaction(), configure_complex_filters(), decode_audio(), decode_video(), DEF_CHOOSE_FORMAT(), ffmpeg_cleanup(), init_complex_filters(), open_output_file(), opt_filter_complex(), opt_filter_complex_script(), and transcode_init().
char* vstats_filename |
Definition at line 95 of file ffmpeg_opt.c.
Referenced by do_video_out(), do_video_stats(), ffmpeg_cleanup(), flush_encoders(), and opt_vstats_file().
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 |
Definition at line 102 of file ffmpeg_opt.c.
Referenced by configure_input_audio_filter(), configure_output_audio_filter(), and transcode_init().
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 |
Definition at line 111 of file ffmpeg_opt.c.
Referenced by configure_input_audio_filter(), configure_input_video_filter(), do_streamcopy(), do_video_out(), open_input_file(), and process_input().
int start_at_zero |
Definition at line 112 of file ffmpeg_opt.c.
Referenced by configure_input_audio_filter(), configure_input_video_filter(), and open_input_file().
int copy_tb |
Definition at line 113 of file ffmpeg_opt.c.
Referenced by transcode_init().
int debug_ts |
Definition at line 114 of file ffmpeg_opt.c.
Referenced by decode_video(), do_audio_out(), do_video_out(), process_input(), reap_filters(), and write_frame().
int exit_on_error |
Definition at line 115 of file ffmpeg_opt.c.
Referenced by check_decode_result(), do_subtitle_out(), process_input(), process_input_packet(), transcode(), and write_frame().
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 |
Definition at line 457 of file ffmpeg.c.
Referenced by dump_attachment(), get_preset_file_2(), open_input_file(), open_output_file(), opt_progress(), read_ffserver_streams(), and url_alloc_for_protocol().
static const OptionDef options |
Definition at line 3969 of file ffserver.c.
Referenced by avfilter_init_str(), ffmpeg_parse_options(), init(), main(), open_output_file(), open_slave(), opt_audio_codec(), opt_audio_filters(), opt_audio_frames(), opt_audio_qscale(), opt_channel_layout(), opt_data_codec(), opt_data_frames(), opt_old2new(), opt_qscale(), opt_recording_timestamp(), opt_subtitle_codec(), opt_target(), opt_timecode(), opt_video_codec(), opt_video_filters(), opt_video_frames(), pp_get_mode_by_name_and_quality(), show_help_default(), and uninit_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 |
Definition at line 93 of file ffmpeg_opt.c.
Referenced by configure_filtergraph(), configure_output_video_filter(), cuvid_transcode_init(), transcode(), vaapi_decode_init(), and vaapi_device_init().