ffmpeg.c File Reference

#include "config.h"
#include <ctype.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <errno.h>
#include <signal.h>
#include <limits.h>
#include <unistd.h>
#include "libavformat/avformat.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libavcodec/opt.h"
#include "libavcodec/audioconvert.h"
#include "libavutil/audioconvert.h"
#include "libavutil/parseutils.h"
#include "libavutil/samplefmt.h"
#include "libavutil/colorspace.h"
#include "libavutil/fifo.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "libavutil/pixdesc.h"
#include "libavutil/avstring.h"
#include "libavutil/libm.h"
#include "libavformat/os_support.h"
#include "libavformat/ffm.h"
#include <time.h>
#include "cmdutils.h"
#include "libavutil/avassert.h"
#include "cmdutils_common_opts.h"

Go to the source code of this file.

Data Structures

struct  AVStreamMap
struct  AVMetaDataMap
 select an input file for an output file More...
struct  AVChapterMap
struct  AVOutputStream
struct  AVInputStream
struct  AVInputFile

Defines

#define MAX_FILES   100
#define QSCALE_NONE   -99999
#define DEFAULT_PASS_LOGFILENAME_PREFIX   "ffmpeg2pass"
#define MAX_AUDIO_PACKET_SIZE   (128 * 1024)
#define MAKE_SFMT_PAIR(a, b)   ((a)+AV_SAMPLE_FMT_NB*(b))
#define AV_DELAY_MAX   0.100
#define METADATA_CHECK_INDEX(index, nb_elems, desc)

Functions

static void term_exit (void)
static void sigterm_handler (int sig)
static void term_init (void)
static int read_key (void)
static int decode_interrupt_cb (void)
static int ffmpeg_exit (int ret)
static void * grow_array (void *array, int elem_size, int *size, int new_size)
static void choose_sample_fmt (AVStream *st, AVCodec *codec)
static void choose_sample_rate (AVStream *st, AVCodec *codec)
static void choose_pixel_fmt (AVStream *st, AVCodec *codec)
static AVOutputStreamnew_output_stream (AVFormatContext *oc, int file_idx)
static int read_ffserver_streams (AVFormatContext *s, const char *filename)
static double get_sync_ipts (const AVOutputStream *ost)
static void write_frame (AVFormatContext *s, AVPacket *pkt, AVCodecContext *avctx, AVBitStreamFilterContext *bsfc)
static void do_audio_out (AVFormatContext *s, AVOutputStream *ost, AVInputStream *ist, unsigned char *buf, int size)
static void pre_process_video_frame (AVInputStream *ist, AVPicture *picture, void **bufp)
static void do_subtitle_out (AVFormatContext *s, AVOutputStream *ost, AVInputStream *ist, AVSubtitle *sub, int64_t pts)
static void do_video_out (AVFormatContext *s, AVOutputStream *ost, AVInputStream *ist, AVFrame *in_picture, int *frame_size)
static double psnr (double d)
static void do_video_stats (AVFormatContext *os, AVOutputStream *ost, int frame_size)
static void print_report (AVFormatContext **output_files, AVOutputStream **ost_table, int nb_ostreams, int is_last_report)
static void generate_silence (uint8_t *buf, enum AVSampleFormat sample_fmt, size_t size)
static int output_packet (AVInputStream *ist, int ist_index, AVOutputStream **ost_table, int nb_ostreams, const AVPacket *pkt)
static void print_sdp (AVFormatContext **avc, int n)
static int copy_chapters (int infile, int outfile)
static void parse_forced_key_frames (char *kf, AVOutputStream *ost, AVCodecContext *avctx)
static int transcode (AVFormatContext **output_files, int nb_output_files, AVInputFile *input_files, int nb_input_files, AVStreamMap *stream_maps, int nb_stream_maps)
static int opt_format (const char *opt, const char *arg)
static int opt_video_rc_override_string (const char *opt, const char *arg)
static int opt_me_threshold (const char *opt, const char *arg)
static int opt_verbose (const char *opt, const char *arg)
static int opt_frame_rate (const char *opt, const char *arg)
static int opt_bitrate (const char *opt, const char *arg)
static int opt_frame_crop (const char *opt, const char *arg)
static int opt_frame_size (const char *opt, const char *arg)
static int opt_pad (const char *opt, const char *arg)
static int opt_frame_pix_fmt (const char *opt, const char *arg)
static int opt_frame_aspect_ratio (const char *opt, const char *arg)
static int opt_metadata (const char *opt, const char *arg)
static int opt_qscale (const char *opt, const char *arg)
static int opt_top_field_first (const char *opt, const char *arg)
static int opt_thread_count (const char *opt, const char *arg)
static int opt_audio_sample_fmt (const char *opt, const char *arg)
static int opt_audio_rate (const char *opt, const char *arg)
static int opt_audio_channels (const char *opt, const char *arg)
static int opt_video_channel (const char *opt, const char *arg)
static int opt_video_standard (const char *opt, const char *arg)
static int opt_codec (const char *opt, const char *arg)
static int opt_codec_tag (const char *opt, const char *arg)
static int opt_map (const char *opt, const char *arg)
static void parse_meta_type (char *arg, char *type, int *index, char **endptr)
static int opt_map_metadata (const char *opt, const char *arg)
static int opt_map_meta_data (const char *opt, const char *arg)
static int opt_map_chapters (const char *opt, const char *arg)
static int opt_input_ts_scale (const char *opt, const char *arg)
static int opt_recording_time (const char *opt, const char *arg)
static int opt_start_time (const char *opt, const char *arg)
static int opt_recording_timestamp (const char *opt, const char *arg)
static int opt_input_ts_offset (const char *opt, const char *arg)
static enum CodecID find_codec_or_die (const char *name, int type, int encoder, int strict)
static int opt_input_file (const char *opt, const char *filename)
static void check_inputs (int *has_video_ptr, int *has_audio_ptr, int *has_subtitle_ptr, int *has_data_ptr)
static void new_video_stream (AVFormatContext *oc, int file_idx)
static void new_audio_stream (AVFormatContext *oc, int file_idx)
static void new_data_stream (AVFormatContext *oc, int file_idx)
static void new_subtitle_stream (AVFormatContext *oc, int file_idx)
static int opt_new_stream (const char *opt, const char *arg)
static int opt_streamid (const char *opt, const char *arg)
static int opt_output_file (const char *opt, const char *filename)
static int opt_pass (const char *opt, const char *arg)
static int64_t getutime (void)
static int64_t getmaxrss (void)
static void parse_matrix_coeffs (uint16_t *dest, const char *str)
static int opt_inter_matrix (const char *opt, const char *arg)
static int opt_intra_matrix (const char *opt, const char *arg)
static void show_usage (void)
static int opt_help (const char *opt, const char *arg)
static int opt_target (const char *opt, const char *arg)
static int opt_vstats_file (const char *opt, const char *arg)
static int opt_vstats (const char *opt, const char *arg)
static int opt_bsf (const char *opt, const char *arg)
static int opt_preset (const char *opt, const char *arg)
static void log_callback_null (void *ptr, int level, const char *fmt, va_list vl)
static int opt_passlogfile (const char *opt, const char *arg)
int main (int argc, char **argv)

Variables

const char program_name [] = "ffmpeg"
 program name, defined by the program for show_version().
const int program_birth_year = 2000
 program birth year, defined by the program for show_banner()
static const OptionDef options []
static const char * last_asked_format = NULL
static int64_t input_files_ts_offset [MAX_FILES]
static double * input_files_ts_scale [MAX_FILES] = {NULL}
static AVCodec ** input_codecs = NULL
static int nb_input_codecs = 0
static int nb_input_files_ts_scale [MAX_FILES] = {0}
static AVFormatContextoutput_files [MAX_FILES]
static int nb_output_files = 0
static AVStreamMapstream_maps = NULL
static int nb_stream_maps
static AVMetaDataMap(* meta_data_maps )[2] = NULL
static int nb_meta_data_maps
static int metadata_global_autocopy = 1
static int metadata_streams_autocopy = 1
static int metadata_chapters_autocopy = 1
static AVChapterMapchapter_maps = NULL
static int nb_chapter_maps
static int * streamid_map = NULL
static int nb_streamid_map = 0
static int frame_width = 0
static int frame_height = 0
static float frame_aspect_ratio = 0
static enum PixelFormat frame_pix_fmt = PIX_FMT_NONE
static int frame_bits_per_raw_sample = 0
static enum AVSampleFormat audio_sample_fmt = AV_SAMPLE_FMT_NONE
static int max_frames [4] = {INT_MAX, INT_MAX, INT_MAX, INT_MAX}
static AVRational frame_rate
static float video_qscale = 0
static uint16_t * intra_matrix = NULL
static uint16_t * inter_matrix = NULL
static const char * video_rc_override_string = NULL
static int video_disable = 0
static int video_discard = 0
static char * video_codec_name = NULL
static unsigned int video_codec_tag = 0
static char * video_language = NULL
static int same_quality = 0
static int do_deinterlace = 0
static int top_field_first = -1
static int me_threshold = 0
static int intra_dc_precision = 8
static int loop_input = 0
static int loop_output = AVFMT_NOOUTPUTLOOP
static int qp_hist = 0
static int intra_only = 0
static int audio_sample_rate = 0
static int64_t channel_layout = 0
static float audio_qscale = QSCALE_NONE
static int audio_disable = 0
static int audio_channels = 0
static char * audio_codec_name = NULL
static unsigned int audio_codec_tag = 0
static char * audio_language = NULL
static int subtitle_disable = 0
static char * subtitle_codec_name = NULL
static char * subtitle_language = NULL
static unsigned int subtitle_codec_tag = 0
static int data_disable = 0
static char * data_codec_name = NULL
static unsigned int data_codec_tag = 0
static float mux_preload = 0.5
static float mux_max_delay = 0.7
static int64_t recording_time = INT64_MAX
static int64_t start_time = 0
static int64_t recording_timestamp = 0
static int64_t input_ts_offset = 0
static int file_overwrite = 0
static AVDictionarymetadata
static int do_benchmark = 0
static int do_hex_dump = 0
static int do_pkt_dump = 0
static int do_psnr = 0
static int do_pass = 0
static const char * pass_logfilename_prefix
static int audio_stream_copy = 0
static int video_stream_copy = 0
static int subtitle_stream_copy = 0
static int data_stream_copy = 0
static int video_sync_method = -1
static int audio_sync_method = 0
static float audio_drift_threshold = 0.1
static int copy_ts = 0
static int copy_tb = 0
static int opt_shortest = 0
static char * vstats_filename
static FILE * vstats_file
static int opt_programid = 0
static int copy_initial_nonkeyframes = 0
static int rate_emu = 0
static int video_channel = 0
static char * video_standard
static int audio_volume = 256
static int exit_on_error = 0
static int using_stdin = 0
static int verbose = 1
static int run_as_daemon = 0
static int thread_count = 1
static int q_pressed = 0
static int64_t video_size = 0
static int64_t audio_size = 0
static int64_t extra_size = 0
static int nb_frames_dup = 0
static int nb_frames_drop = 0
static int input_sync
static uint64_t limit_filesize = 0
static int force_fps = 0
static char * forced_key_frames = NULL
static float dts_delta_threshold = 10
static int64_t timer_start
static uint8_t * audio_buf
static uint8_t * audio_out
static unsigned int allocated_audio_out_size
static unsigned int allocated_audio_buf_size
static short * samples
static AVBitStreamFilterContextvideo_bitstream_filters = NULL
static AVBitStreamFilterContextaudio_bitstream_filters = NULL
static AVBitStreamFilterContextsubtitle_bitstream_filters = NULL
static AVOutputStream ** output_streams_for_file [MAX_FILES] = { NULL }
static int nb_output_streams_for_file [MAX_FILES] = { 0 }
static AVInputStreaminput_streams = NULL
static int nb_input_streams = 0
static AVInputFileinput_files = NULL
static int nb_input_files = 0
static volatile int received_sigterm = 0
static int bit_buffer_size = 1024*256
static uint8_t * bit_buffer = NULL


Define Documentation

#define AV_DELAY_MAX   0.100

Definition at line 1087 of file ffmpeg.c.

#define DEFAULT_PASS_LOGFILENAME_PREFIX   "ffmpeg2pass"

Definition at line 263 of file ffmpeg.c.

Referenced by transcode().

#define MAKE_SFMT_PAIR ( a,
 )     ((a)+AV_SAMPLE_FMT_NB*(b))

Referenced by do_audio_out(), and transcode().

#define MAX_AUDIO_PACKET_SIZE   (128 * 1024)

Definition at line 801 of file ffmpeg.c.

#define MAX_FILES   100

Definition at line 115 of file ffmpeg.c.

Referenced by transcode().

#define METADATA_CHECK_INDEX ( index,
nb_elems,
desc   ) 

Value:

if ((index) < 0 || (index) >= (nb_elems)) {\
            snprintf(error, sizeof(error), "Invalid %s index %d while processing metadata maps\n",\
                     (desc), (index));\
            ret = AVERROR(EINVAL);\
            goto dump_format;\
        }

Referenced by transcode().

#define QSCALE_NONE   -99999

Definition at line 179 of file ffmpeg.c.

Referenced by new_audio_stream().


Function Documentation

static void check_inputs ( int *  has_video_ptr,
int *  has_audio_ptr,
int *  has_subtitle_ptr,
int *  has_data_ptr 
) [static]

Definition at line 3492 of file ffmpeg.c.

Referenced by opt_output_file().

static void choose_pixel_fmt ( AVStream st,
AVCodec codec 
) [static]

Definition at line 656 of file ffmpeg.c.

Referenced by read_ffserver_streams(), and transcode().

static void choose_sample_fmt ( AVStream st,
AVCodec codec 
) [static]

Definition at line 615 of file ffmpeg.c.

Referenced by new_audio_stream(), and read_ffserver_streams().

static void choose_sample_rate ( AVStream st,
AVCodec codec 
) [static]

Definition at line 636 of file ffmpeg.c.

Referenced by transcode().

static int copy_chapters ( int  infile,
int  outfile 
) [static]

Definition at line 1936 of file ffmpeg.c.

Referenced by transcode().

static int decode_interrupt_cb ( void   )  [static]

Definition at line 529 of file ffmpeg.c.

Referenced by main(), read_thread(), and transcode().

static void do_audio_out ( AVFormatContext s,
AVOutputStream ost,
AVInputStream ist,
unsigned char *  buf,
int  size 
) [static]

Definition at line 803 of file ffmpeg.c.

Referenced by output_packet().

static void do_subtitle_out ( AVFormatContext s,
AVOutputStream ost,
AVInputStream ist,
AVSubtitle sub,
int64_t  pts 
) [static]

Definition at line 1089 of file ffmpeg.c.

Referenced by output_packet().

static void do_video_out ( AVFormatContext s,
AVOutputStream ost,
AVInputStream ist,
AVFrame in_picture,
int *  frame_size 
) [static]

Definition at line 1155 of file ffmpeg.c.

Referenced by output_packet().

static void do_video_stats ( AVFormatContext os,
AVOutputStream ost,
int  frame_size 
) [static]

Definition at line 1341 of file ffmpeg.c.

Referenced by output_packet().

static int ffmpeg_exit ( int  ret  )  [static]

static enum CodecID find_codec_or_die ( const char *  name,
int  type,
int  encoder,
int  strict 
) [static]

Definition at line 3241 of file ffmpeg.c.

Referenced by new_audio_stream(), new_subtitle_stream(), new_video_stream(), and opt_input_file().

static void generate_silence ( uint8_t *  buf,
enum AVSampleFormat  sample_fmt,
size_t  size 
) [static]

Definition at line 1509 of file ffmpeg.c.

Referenced by output_packet().

static double get_sync_ipts ( const AVOutputStream ost  )  [static]

Definition at line 763 of file ffmpeg.c.

Referenced by do_audio_out(), and do_video_out().

static int64_t getmaxrss ( void   )  [static]

Definition at line 4045 of file ffmpeg.c.

Referenced by main().

static int64_t getutime ( void   )  [static]

Definition at line 4027 of file ffmpeg.c.

Referenced by main().

static void* grow_array ( void *  array,
int  elem_size,
int *  size,
int  new_size 
) [static]

static void log_callback_null ( void *  ptr,
int  level,
const char *  fmt,
va_list  vl 
) [static]

Definition at line 4383 of file ffmpeg.c.

Referenced by main().

int main ( int  argc,
char **  argv 
)

Definition at line 4535 of file ffmpeg.c.

static void new_audio_stream ( AVFormatContext oc,
int  file_idx 
) [static]

Definition at line 3675 of file ffmpeg.c.

Referenced by opt_new_stream(), and opt_output_file().

static void new_data_stream ( AVFormatContext oc,
int  file_idx 
) [static]

Definition at line 3748 of file ffmpeg.c.

Referenced by opt_new_stream(), and opt_output_file().

static AVOutputStream* new_output_stream ( AVFormatContext oc,
int  file_idx 
) [static]

static void new_subtitle_stream ( AVFormatContext oc,
int  file_idx 
) [static]

Definition at line 3785 of file ffmpeg.c.

Referenced by opt_new_stream(), and opt_output_file().

static void new_video_stream ( AVFormatContext oc,
int  file_idx 
) [static]

Definition at line 3535 of file ffmpeg.c.

Referenced by opt_new_stream(), and opt_output_file().

static int opt_audio_channels ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3046 of file ffmpeg.c.

static int opt_audio_rate ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3040 of file ffmpeg.c.

static int opt_audio_sample_fmt ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3022 of file ffmpeg.c.

static int opt_bitrate ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2908 of file ffmpeg.c.

static int opt_bsf ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4324 of file ffmpeg.c.

static int opt_codec ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3064 of file ffmpeg.c.

Referenced by opt_preset(), and opt_target().

static int opt_codec_tag ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3082 of file ffmpeg.c.

static int opt_format ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2875 of file ffmpeg.c.

Referenced by opt_target().

static int opt_frame_aspect_ratio ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2955 of file ffmpeg.c.

static int opt_frame_crop ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2920 of file ffmpeg.c.

static int opt_frame_pix_fmt ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2940 of file ffmpeg.c.

Referenced by opt_target().

static int opt_frame_rate ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2899 of file ffmpeg.c.

Referenced by opt_target().

static int opt_frame_size ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2926 of file ffmpeg.c.

Referenced by opt_target().

static int opt_help ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4101 of file ffmpeg.c.

static int opt_input_file ( const char *  opt,
const char *  filename 
) [static]

Definition at line 3275 of file ffmpeg.c.

Referenced by main().

static int opt_input_ts_offset ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3235 of file ffmpeg.c.

static int opt_input_ts_scale ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3198 of file ffmpeg.c.

static int opt_inter_matrix ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4080 of file ffmpeg.c.

static int opt_intra_matrix ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4087 of file ffmpeg.c.

static int opt_map ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3100 of file ffmpeg.c.

static int opt_map_chapters ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3182 of file ffmpeg.c.

static int opt_map_meta_data ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3175 of file ffmpeg.c.

static int opt_map_metadata ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3147 of file ffmpeg.c.

Referenced by opt_map_meta_data().

static int opt_me_threshold ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2887 of file ffmpeg.c.

static int opt_metadata ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2980 of file ffmpeg.c.

static int opt_new_stream ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3842 of file ffmpeg.c.

static int opt_output_file ( const char *  opt,
const char *  filename 
) [static]

Definition at line 3882 of file ffmpeg.c.

Referenced by main().

static int opt_pad ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2935 of file ffmpeg.c.

static int opt_pass ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4021 of file ffmpeg.c.

static int opt_passlogfile ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4387 of file ffmpeg.c.

static int opt_preset ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4345 of file ffmpeg.c.

static int opt_qscale ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2995 of file ffmpeg.c.

static int opt_recording_time ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3217 of file ffmpeg.c.

static int opt_recording_timestamp ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3229 of file ffmpeg.c.

static int opt_start_time ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3223 of file ffmpeg.c.

static int opt_streamid ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3861 of file ffmpeg.c.

static int opt_target ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4159 of file ffmpeg.c.

static int opt_thread_count ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3012 of file ffmpeg.c.

static int opt_top_field_first ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3005 of file ffmpeg.c.

static int opt_verbose ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2893 of file ffmpeg.c.

static int opt_video_channel ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3052 of file ffmpeg.c.

static int opt_video_rc_override_string ( const char *  opt,
const char *  arg 
) [static]

Definition at line 2881 of file ffmpeg.c.

static int opt_video_standard ( const char *  opt,
const char *  arg 
) [static]

Definition at line 3058 of file ffmpeg.c.

static int opt_vstats ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4313 of file ffmpeg.c.

static int opt_vstats_file ( const char *  opt,
const char *  arg 
) [static]

Definition at line 4306 of file ffmpeg.c.

Referenced by opt_vstats().

static int output_packet ( AVInputStream ist,
int  ist_index,
AVOutputStream **  ost_table,
int  nb_ostreams,
const AVPacket pkt 
) [static]

Definition at line 1518 of file ffmpeg.c.

Referenced by mpeg_mux_end(), and mpeg_mux_write_packet().

static void parse_forced_key_frames ( char *  kf,
AVOutputStream ost,
AVCodecContext avctx 
) [static]

Definition at line 1976 of file ffmpeg.c.

Referenced by new_video_stream().

static void parse_matrix_coeffs ( uint16_t *  dest,
const char *  str 
) [static]

Definition at line 4063 of file ffmpeg.c.

Referenced by opt_inter_matrix(), and opt_intra_matrix().

static void parse_meta_type ( char *  arg,
char *  type,
int *  index,
char **  endptr 
) [static]

Definition at line 3126 of file ffmpeg.c.

Referenced by opt_map_metadata().

static void pre_process_video_frame ( AVInputStream ist,
AVPicture picture,
void **  bufp 
) [static]

Definition at line 1047 of file ffmpeg.c.

Referenced by output_packet().

static void print_report ( AVFormatContext **  output_files,
AVOutputStream **  ost_table,
int  nb_ostreams,
int  is_last_report 
) [static]

Definition at line 1378 of file ffmpeg.c.

static void print_sdp ( AVFormatContext **  avc,
int  n 
) [static]

Definition at line 1927 of file ffmpeg.c.

Referenced by transcode().

static double psnr ( double  d  )  [static]

Definition at line 1337 of file ffmpeg.c.

Referenced by do_video_stats(), main(), and print_report().

static int read_ffserver_streams ( AVFormatContext s,
const char *  filename 
) [static]

Definition at line 706 of file ffmpeg.c.

Referenced by opt_output_file().

static int read_key ( void   )  [static]

Definition at line 499 of file ffmpeg.c.

Referenced by decode_interrupt_cb(), and transcode().

static void show_usage ( void   )  [static]

Definition at line 4094 of file ffmpeg.c.

Referenced by main(), and opt_help().

static void sigterm_handler ( int  sig  )  [static]

Definition at line 460 of file ffmpeg.c.

Referenced by term_init().

static void term_exit ( void   )  [static]

Definition at line 448 of file ffmpeg.c.

Referenced by sigterm_handler(), and term_init().

static void term_init ( void   )  [static]

Definition at line 467 of file ffmpeg.c.

Referenced by transcode().

static int transcode ( AVFormatContext **  output_files,
int  nb_output_files,
AVInputFile input_files,
int  nb_input_files,
AVStreamMap stream_maps,
int  nb_stream_maps 
) [static]

Definition at line 2002 of file ffmpeg.c.

Referenced by main().

static void write_frame ( AVFormatContext s,
AVPacket pkt,
AVCodecContext avctx,
AVBitStreamFilterContext bsfc 
) [static]


Variable Documentation

unsigned int allocated_audio_buf_size [static]

Definition at line 255 of file ffmpeg.c.

Referenced by do_audio_out(), ffmpeg_exit(), and output_packet().

unsigned int allocated_audio_out_size [static]

Definition at line 255 of file ffmpeg.c.

Referenced by do_audio_out(), and ffmpeg_exit().

Definition at line 260 of file ffmpeg.c.

uint8_t* audio_buf [static]

Definition at line 253 of file ffmpeg.c.

Referenced by do_audio_out(), ffmpeg_exit(), and output_packet().

int audio_channels = 0 [static]

char* audio_codec_name = NULL [static]

unsigned int audio_codec_tag = 0 [static]

Definition at line 184 of file ffmpeg.c.

Referenced by new_audio_stream(), and opt_codec_tag().

int audio_disable = 0 [static]

Definition at line 181 of file ffmpeg.c.

Referenced by main(), new_audio_stream(), opt_input_file(), opt_output_file(), and read_thread().

float audio_drift_threshold = 0.1 [static]

Definition at line 217 of file ffmpeg.c.

Referenced by do_audio_out().

char* audio_language = NULL [static]

Definition at line 185 of file ffmpeg.c.

Referenced by new_audio_stream().

uint8_t* audio_out [static]

Definition at line 254 of file ffmpeg.c.

Referenced by do_audio_out(), and ffmpeg_exit().

float audio_qscale = QSCALE_NONE [static]

Definition at line 180 of file ffmpeg.c.

Referenced by new_audio_stream().

enum AVSampleFormat audio_sample_fmt = AV_SAMPLE_FMT_NONE [static]

Definition at line 152 of file ffmpeg.c.

Referenced by new_audio_stream(), opt_audio_sample_fmt(), and opt_input_file().

int audio_sample_rate = 0 [static]

int64_t audio_size = 0 [static]

int audio_stream_copy = 0 [static]

Definition at line 211 of file ffmpeg.c.

Referenced by new_audio_stream(), opt_codec(), opt_output_file(), and read_ffserver_streams().

int audio_sync_method = 0 [static]

Definition at line 216 of file ffmpeg.c.

Referenced by do_audio_out(), and transcode().

int audio_volume = 256 [static]

Definition at line 231 of file ffmpeg.c.

Referenced by output_packet(), and transcode().

uint8_t* bit_buffer = NULL [static]

Definition at line 1153 of file ffmpeg.c.

Referenced by do_video_out(), output_packet(), and transcode().

int bit_buffer_size = 1024*256 [static]

Definition at line 1152 of file ffmpeg.c.

Referenced by do_video_out(), output_packet(), and transcode().

int64_t channel_layout = 0 [static]

Definition at line 140 of file ffmpeg.c.

int copy_initial_nonkeyframes = 0 [static]

Definition at line 224 of file ffmpeg.c.

Referenced by output_packet().

int copy_tb = 0 [static]

Definition at line 219 of file ffmpeg.c.

Referenced by transcode().

int copy_ts = 0 [static]

Definition at line 218 of file ffmpeg.c.

Referenced by opt_input_file(), and transcode().

char* data_codec_name = NULL [static]

Definition at line 193 of file ffmpeg.c.

Referenced by ffmpeg_exit(), new_data_stream(), opt_codec(), and opt_output_file().

unsigned int data_codec_tag = 0 [static]

Definition at line 194 of file ffmpeg.c.

Referenced by new_data_stream().

int data_disable = 0 [static]

Definition at line 192 of file ffmpeg.c.

Referenced by new_data_stream(), and opt_output_file().

int data_stream_copy = 0 [static]

Definition at line 214 of file ffmpeg.c.

Referenced by new_data_stream(), opt_codec(), and opt_output_file().

int do_benchmark = 0 [static]

Definition at line 205 of file ffmpeg.c.

Referenced by main().

int do_deinterlace = 0 [static]

Definition at line 165 of file ffmpeg.c.

Referenced by pre_process_video_frame().

int do_hex_dump = 0 [static]

Definition at line 206 of file ffmpeg.c.

Referenced by transcode().

int do_pass = 0 [static]

Definition at line 209 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_pass().

int do_pkt_dump = 0 [static]

Definition at line 207 of file ffmpeg.c.

Referenced by transcode().

int do_psnr = 0 [static]

Definition at line 208 of file ffmpeg.c.

Referenced by new_video_stream().

float dts_delta_threshold = 10 [static]

Definition at line 249 of file ffmpeg.c.

Referenced by transcode().

int exit_on_error = 0 [static]

Definition at line 233 of file ffmpeg.c.

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

int64_t extra_size = 0 [static]

Definition at line 241 of file ffmpeg.c.

Referenced by ape_read_packet(), asf_write_header1(), print_report(), and transcode().

int file_overwrite = 0 [static]

Definition at line 203 of file ffmpeg.c.

Referenced by opt_output_file().

int force_fps = 0 [static]

Definition at line 246 of file ffmpeg.c.

Referenced by transcode().

char* forced_key_frames = NULL [static]

Definition at line 247 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_output_file().

float frame_aspect_ratio = 0 [static]

Definition at line 149 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_frame_aspect_ratio().

int frame_bits_per_raw_sample = 0 [static]

Definition at line 151 of file ffmpeg.c.

Referenced by new_video_stream(), and transcode().

int frame_height = 0 [static]

enum PixelFormat frame_pix_fmt = PIX_FMT_NONE [static]

Definition at line 150 of file ffmpeg.c.

Referenced by new_video_stream(), opt_frame_pix_fmt(), and opt_input_file().

int frame_width = 0 [static]

AVCodec** input_codecs = NULL [static]

Definition at line 123 of file ffmpeg.c.

Definition at line 359 of file ffmpeg.c.

int64_t input_files_ts_offset[MAX_FILES] [static]

Definition at line 121 of file ffmpeg.c.

Referenced by copy_chapters(), opt_input_file(), and transcode().

double* input_files_ts_scale[MAX_FILES] = {NULL} [static]

Definition at line 122 of file ffmpeg.c.

Referenced by ffmpeg_exit(), opt_input_ts_scale(), and transcode().

Definition at line 357 of file ffmpeg.c.

int input_sync [static]

Definition at line 244 of file ffmpeg.c.

Referenced by transcode().

int64_t input_ts_offset = 0 [static]

Definition at line 202 of file ffmpeg.c.

Referenced by opt_input_file(), and opt_input_ts_offset().

uint16_t* inter_matrix = NULL [static]

Definition at line 157 of file ffmpeg.c.

Referenced by avcodec_copy_context(), ffmpeg_exit(), new_video_stream(), and opt_inter_matrix().

int intra_dc_precision = 8 [static]

Definition at line 168 of file ffmpeg.c.

Referenced by new_video_stream().

uint16_t* intra_matrix = NULL [static]

Definition at line 156 of file ffmpeg.c.

Referenced by avcodec_copy_context(), ffmpeg_exit(), new_video_stream(), and opt_intra_matrix().

int intra_only = 0 [static]

Definition at line 176 of file ffmpeg.c.

Referenced by build_frame_code(), and new_video_stream().

const char* last_asked_format = NULL [static]

Definition at line 120 of file ffmpeg.c.

Referenced by opt_format(), opt_input_file(), and opt_output_file().

uint64_t limit_filesize = 0 [static]

Definition at line 245 of file ffmpeg.c.

Referenced by transcode().

int loop_input = 0 [static]

Definition at line 169 of file ffmpeg.c.

Referenced by opt_input_file().

int loop_output = AVFMT_NOOUTPUTLOOP [static]

Definition at line 170 of file ffmpeg.c.

Referenced by opt_output_file().

int max_frames[4] = {INT_MAX, INT_MAX, INT_MAX, INT_MAX} [static]

Definition at line 153 of file ffmpeg.c.

Referenced by ac3_eac3_probe(), adts_aac_probe(), do_video_out(), mp3_read_probe(), and transcode().

int me_threshold = 0 [static]

Definition at line 167 of file ffmpeg.c.

Referenced by do_video_out(), new_video_stream(), opt_input_file(), and opt_me_threshold().

AVMetaDataMap(* meta_data_maps)[2] = NULL [static]

Definition at line 134 of file ffmpeg.c.

Referenced by ffmpeg_exit(), opt_map_metadata(), and transcode().

Definition at line 204 of file ffmpeg.c.

Referenced by decode_info_header(), mxf_parse_structural_metadata(), and mxf_read_header().

int metadata_chapters_autocopy = 1 [static]

Definition at line 138 of file ffmpeg.c.

Referenced by copy_chapters(), and opt_map_metadata().

int metadata_global_autocopy = 1 [static]

Definition at line 136 of file ffmpeg.c.

Referenced by opt_map_metadata(), and transcode().

int metadata_streams_autocopy = 1 [static]

Definition at line 137 of file ffmpeg.c.

Referenced by opt_map_metadata(), and transcode().

float mux_max_delay = 0.7 [static]

Definition at line 197 of file ffmpeg.c.

Referenced by opt_output_file().

float mux_preload = 0.5 [static]

Definition at line 196 of file ffmpeg.c.

Referenced by opt_output_file(), and opt_target().

int nb_chapter_maps [static]

Definition at line 141 of file ffmpeg.c.

Referenced by opt_map_chapters(), and transcode().

int nb_frames_drop = 0 [static]

Definition at line 243 of file ffmpeg.c.

Referenced by do_video_out(), and print_report().

int nb_frames_dup = 0 [static]

Definition at line 242 of file ffmpeg.c.

Referenced by do_video_out(), and print_report().

int nb_input_codecs = 0 [static]

Definition at line 124 of file ffmpeg.c.

Referenced by opt_input_file(), and transcode().

int nb_input_files = 0 [static]

int nb_input_files_ts_scale[MAX_FILES] = {0} [static]

Definition at line 125 of file ffmpeg.c.

Referenced by opt_input_ts_scale(), and transcode().

int nb_input_streams = 0 [static]

Definition at line 358 of file ffmpeg.c.

Referenced by transcode().

int nb_meta_data_maps [static]

Definition at line 135 of file ffmpeg.c.

Referenced by opt_map_metadata(), and transcode().

int nb_output_files = 0 [static]

Definition at line 128 of file ffmpeg.c.

Referenced by ffmpeg_exit(), and read_ffserver_streams().

int nb_output_streams_for_file[MAX_FILES] = { 0 } [static]

Definition at line 321 of file ffmpeg.c.

Referenced by new_output_stream().

int nb_stream_maps [static]

Definition at line 131 of file ffmpeg.c.

Referenced by main(), and opt_map().

int nb_streamid_map = 0 [static]

int opt_programid = 0 [static]

Definition at line 223 of file ffmpeg.c.

Referenced by opt_input_file(), and transcode().

int opt_shortest = 0 [static]

Definition at line 220 of file ffmpeg.c.

Referenced by transcode().

static const OptionDef options [static]

Definition at line 113 of file ffmpeg.c.

Referenced by pp_get_mode_by_name_and_quality().

AVFormatContext* output_files[MAX_FILES] [static]

Definition at line 127 of file ffmpeg.c.

AVOutputStream** output_streams_for_file[MAX_FILES] = { NULL } [static]

Definition at line 320 of file ffmpeg.c.

const char* pass_logfilename_prefix [static]

Definition at line 210 of file ffmpeg.c.

Referenced by opt_passlogfile(), and transcode().

const int program_birth_year = 2000

program birth year, defined by the program for show_banner()

Definition at line 89 of file ffmpeg.c.

const char program_name[] = "ffmpeg"

program name, defined by the program for show_version().

Definition at line 88 of file ffmpeg.c.

int q_pressed = 0 [static]

Definition at line 238 of file ffmpeg.c.

Referenced by decode_interrupt_cb(), sigterm_handler(), and transcode().

int qp_hist = 0 [static]

Definition at line 171 of file ffmpeg.c.

Referenced by print_report(), and transcode().

int rate_emu = 0 [static]

Definition at line 226 of file ffmpeg.c.

Referenced by output_packet(), and transcode().

volatile int received_sigterm = 0 [static]

Definition at line 457 of file ffmpeg.c.

Referenced by ffmpeg_exit(), sigterm_handler(), and transcode().

int64_t recording_time = INT64_MAX [static]

Definition at line 199 of file ffmpeg.c.

Referenced by copy_chapters(), opt_recording_time(), and transcode().

int64_t recording_timestamp = 0 [static]

Definition at line 201 of file ffmpeg.c.

Referenced by opt_output_file(), and opt_recording_timestamp().

int run_as_daemon = 0 [static]

Definition at line 236 of file ffmpeg.c.

Referenced by main(), read_key(), term_exit(), and term_init().

int same_quality = 0 [static]

Definition at line 164 of file ffmpeg.c.

Referenced by do_video_out(), and new_video_stream().

short* samples [static]

Definition at line 257 of file ffmpeg.c.

int64_t start_time = 0 [static]

Definition at line 130 of file ffmpeg.c.

int* streamid_map = NULL [static]

Definition at line 261 of file ffmpeg.c.

char* subtitle_codec_name = NULL [static]

unsigned int subtitle_codec_tag = 0 [static]

Definition at line 190 of file ffmpeg.c.

Referenced by new_subtitle_stream(), and opt_codec_tag().

int subtitle_disable = 0 [static]

Definition at line 187 of file ffmpeg.c.

Referenced by new_subtitle_stream(), opt_input_file(), and opt_output_file().

char* subtitle_language = NULL [static]

Definition at line 189 of file ffmpeg.c.

Referenced by new_subtitle_stream().

int subtitle_stream_copy = 0 [static]

Definition at line 213 of file ffmpeg.c.

Referenced by new_subtitle_stream(), opt_codec(), and opt_output_file().

int thread_count = 1 [static]

int64_t timer_start [static]

Definition at line 251 of file ffmpeg.c.

Referenced by print_report(), and transcode().

int top_field_first = -1 [static]

int using_stdin = 0 [static]

Definition at line 234 of file ffmpeg.c.

Referenced by opt_input_file(), opt_output_file(), and transcode().

int verbose = 1 [static]

Definition at line 259 of file ffmpeg.c.

int video_channel = 0 [static]

Definition at line 228 of file ffmpeg.c.

Referenced by opt_input_file(), and opt_video_channel().

char* video_codec_name = NULL [static]

unsigned int video_codec_tag = 0 [static]

Definition at line 162 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_codec_tag().

int video_disable = 0 [static]

Definition at line 159 of file ffmpeg.c.

Referenced by main(), new_video_stream(), opt_input_file(), opt_output_file(), and read_thread().

int video_discard = 0 [static]

Definition at line 160 of file ffmpeg.c.

Referenced by opt_input_file().

char* video_language = NULL [static]

Definition at line 163 of file ffmpeg.c.

Referenced by new_video_stream().

float video_qscale = 0 [static]

Definition at line 155 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_qscale().

const char* video_rc_override_string = NULL [static]

Definition at line 158 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_video_rc_override_string().

int64_t video_size = 0 [static]

char* video_standard [static]

Definition at line 229 of file ffmpeg.c.

Referenced by ffmpeg_exit(), opt_input_file(), and opt_video_standard().

int video_stream_copy = 0 [static]

Definition at line 212 of file ffmpeg.c.

Referenced by new_video_stream(), opt_codec(), opt_output_file(), and read_ffserver_streams().

int video_sync_method = -1 [static]

Definition at line 215 of file ffmpeg.c.

Referenced by do_video_out(), and transcode().

FILE* vstats_file [static]

Definition at line 222 of file ffmpeg.c.

Referenced by do_video_stats(), and ffmpeg_exit().

char* vstats_filename [static]

Definition at line 221 of file ffmpeg.c.

Referenced by do_video_stats(), ffmpeg_exit(), opt_vstats_file(), and output_packet().


Generated on Fri Oct 26 02:38:14 2012 for FFmpeg by  doxygen 1.5.8