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/pixdesc.h"
#include "libavutil/avstring.h"
#include "libavutil/libm.h"
#include "libavformat/os_support.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 _XOPEN_SOURCE   600
#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 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, AVFormatContext **input_files, int nb_input_files, AVStreamMap *stream_maps, int nb_stream_maps)
static void opt_format (const char *arg)
static void opt_video_rc_override_string (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 void opt_frame_size (const char *arg)
static int opt_pad (const char *opt, const char *arg)
static void opt_frame_pix_fmt (const char *arg)
static void opt_frame_aspect_ratio (const char *arg)
static int opt_metadata (const char *opt, const char *arg)
static void opt_qscale (const char *arg)
static void opt_top_field_first (const char *arg)
static int opt_thread_count (const char *opt, const char *arg)
static void opt_audio_sample_fmt (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 void opt_video_channel (const char *arg)
static void opt_video_standard (const char *arg)
static void opt_codec (int *pstream_copy, char **pcodec_name, int codec_type, const char *arg)
static void opt_audio_codec (const char *arg)
static void opt_video_codec (const char *arg)
static void opt_subtitle_codec (const char *arg)
static int opt_codec_tag (const char *opt, const char *arg)
static void opt_map (const char *arg)
static void parse_meta_type (char *arg, char *type, int *index, char **endptr)
static void opt_map_metadata (const char *arg)
static void opt_map_meta_data (const char *arg)
static void opt_map_chapters (const char *arg)
static void opt_input_ts_scale (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 void opt_input_file (const char *filename)
static void check_audio_video_sub_inputs (int *has_video_ptr, int *has_audio_ptr, int *has_subtitle_ptr)
static void new_video_stream (AVFormatContext *oc, int file_idx)
static void new_audio_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 void opt_output_file (const char *filename)
static void opt_pass (const char *pass_str)
static int64_t getutime (void)
static int64_t getmaxrss (void)
static void parse_matrix_coeffs (uint16_t *dest, const char *str)
static void opt_inter_matrix (const char *arg)
static void opt_intra_matrix (const char *arg)
static void show_usage (void)
static void show_help (void)
static void opt_target (const char *arg)
static void opt_vstats_file (const char *arg)
static void opt_vstats (void)
static int opt_bsf (const char *opt, const char *arg)
static int opt_preset (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 AVFormatContextinput_files [MAX_FILES]
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_files = 0
static int nb_input_codecs = 0
static int nb_input_files_ts_scale [MAX_FILES] = {0}
static AVFormatContextoutput_files [MAX_FILES]
static AVCodec ** output_codecs = NULL
static int nb_output_files = 0
static int nb_output_codecs = 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 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 = 44100
static int64_t channel_layout = 0
static float audio_qscale = QSCALE_NONE
static int audio_disable = 0
static int audio_channels = 1
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 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 AVMetadatametadata
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 char * pass_logfilename_prefix = NULL
static int audio_stream_copy = 0
static int video_stream_copy = 0
static int subtitle_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
static int opt_shortest = 0
static int video_global_header = 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 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 unsigned int sws_flags = SWS_BICUBIC
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 volatile int received_sigterm = 0
static int bit_buffer_size = 1024*256
static uint8_t * bit_buffer = NULL


Define Documentation

#define _XOPEN_SOURCE   600

Definition at line 23 of file ffmpeg.c.

#define AV_DELAY_MAX   0.100

Definition at line 1039 of file ffmpeg.c.

#define DEFAULT_PASS_LOGFILENAME_PREFIX   "ffmpeg2pass"

Definition at line 262 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 753 of file ffmpeg.c.

#define MAX_FILES   100

Definition at line 113 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 181 of file ffmpeg.c.

Referenced by new_audio_stream().


Function Documentation

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

Definition at line 3324 of file ffmpeg.c.

Referenced by opt_output_file().

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

Definition at line 619 of file ffmpeg.c.

Referenced by new_video_stream(), and read_ffserver_streams().

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

Definition at line 580 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 599 of file ffmpeg.c.

Referenced by new_audio_stream().

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

Definition at line 1850 of file ffmpeg.c.

Referenced by transcode().

static int decode_interrupt_cb ( void   )  [static]

Definition at line 497 of file ffmpeg.c.

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

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

Definition at line 755 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 1041 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 1107 of file ffmpeg.c.

Referenced by output_packet().

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

Definition at line 1286 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 3085 of file ffmpeg.c.

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

static double get_sync_ipts ( const AVOutputStream ost  )  [static]

Definition at line 715 of file ffmpeg.c.

Referenced by do_audio_out(), and do_video_out().

static int64_t getmaxrss ( void   )  [static]

Definition at line 3846 of file ffmpeg.c.

Referenced by main().

static int64_t getutime ( void   )  [static]

Definition at line 3828 of file ffmpeg.c.

Referenced by main().

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

int main ( int  argc,
char **  argv 
)

Definition at line 4315 of file ffmpeg.c.

Referenced by av_adler32_update().

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

Definition at line 3507 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 3585 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 3361 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 2889 of file ffmpeg.c.

static void opt_audio_codec ( const char *  arg  )  [static]

Definition at line 2916 of file ffmpeg.c.

Referenced by ffserver_opt_preset(), opt_preset(), opt_target(), and parse_ffconfig().

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

Definition at line 2883 of file ffmpeg.c.

static void opt_audio_sample_fmt ( const char *  arg  )  [static]

Definition at line 2869 of file ffmpeg.c.

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

Definition at line 2760 of file ffmpeg.c.

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

Definition at line 4119 of file ffmpeg.c.

static void opt_codec ( int *  pstream_copy,
char **  pcodec_name,
int  codec_type,
const char *  arg 
) [static]

Definition at line 2905 of file ffmpeg.c.

Referenced by opt_audio_codec(), opt_subtitle_codec(), and opt_video_codec().

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

Definition at line 2931 of file ffmpeg.c.

static void opt_format ( const char *  arg  )  [static]

Definition at line 2729 of file ffmpeg.c.

Referenced by opt_target().

static void opt_frame_aspect_ratio ( const char *  arg  )  [static]

Definition at line 2805 of file ffmpeg.c.

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

Definition at line 2772 of file ffmpeg.c.

static void opt_frame_pix_fmt ( const char *  arg  )  [static]

Definition at line 2791 of file ffmpeg.c.

Referenced by opt_target().

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

Definition at line 2751 of file ffmpeg.c.

Referenced by opt_target().

static void opt_frame_size ( const char *  arg  )  [static]

Definition at line 2778 of file ffmpeg.c.

Referenced by opt_target().

static void opt_input_file ( const char *  filename  )  [static]

Definition at line 3119 of file ffmpeg.c.

Referenced by main().

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

Definition at line 3079 of file ffmpeg.c.

static void opt_input_ts_scale ( const char *  arg  )  [static]

Definition at line 3043 of file ffmpeg.c.

static void opt_inter_matrix ( const char *  arg  )  [static]

Definition at line 3881 of file ffmpeg.c.

static void opt_intra_matrix ( const char *  arg  )  [static]

Definition at line 3887 of file ffmpeg.c.

static void opt_map ( const char *  arg  )  [static]

Definition at line 2949 of file ffmpeg.c.

static void opt_map_chapters ( const char *  arg  )  [static]

Definition at line 3028 of file ffmpeg.c.

static void opt_map_meta_data ( const char *  arg  )  [static]

Definition at line 3021 of file ffmpeg.c.

static void opt_map_metadata ( const char *  arg  )  [static]

Definition at line 2995 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 2739 of file ffmpeg.c.

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

Definition at line 2829 of file ffmpeg.c.

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

Definition at line 3642 of file ffmpeg.c.

static void opt_output_file ( const char *  filename  )  [static]

Definition at line 3682 of file ffmpeg.c.

Referenced by main().

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

Definition at line 2786 of file ffmpeg.c.

static void opt_pass ( const char *  pass_str  )  [static]

Definition at line 3817 of file ffmpeg.c.

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

Definition at line 4140 of file ffmpeg.c.

static void opt_qscale ( const char *  arg  )  [static]

Definition at line 2844 of file ffmpeg.c.

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

Definition at line 3061 of file ffmpeg.c.

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

Definition at line 3073 of file ffmpeg.c.

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

Definition at line 3067 of file ffmpeg.c.

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

Definition at line 3660 of file ffmpeg.c.

static void opt_subtitle_codec ( const char *  arg  )  [static]

Definition at line 2926 of file ffmpeg.c.

Referenced by opt_preset().

static void opt_target ( const char *  arg  )  [static]

Definition at line 3957 of file ffmpeg.c.

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

Definition at line 2859 of file ffmpeg.c.

static void opt_top_field_first ( const char *  arg  )  [static]

Definition at line 2854 of file ffmpeg.c.

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

Definition at line 2745 of file ffmpeg.c.

static void opt_video_channel ( const char *  arg  )  [static]

Definition at line 2895 of file ffmpeg.c.

static void opt_video_codec ( const char *  arg  )  [static]

Definition at line 2921 of file ffmpeg.c.

Referenced by ffserver_opt_preset(), opt_preset(), opt_target(), and parse_ffconfig().

static void opt_video_rc_override_string ( const char *  arg  )  [static]

Definition at line 2734 of file ffmpeg.c.

static void opt_video_standard ( const char *  arg  )  [static]

Definition at line 2900 of file ffmpeg.c.

static void opt_vstats ( void   )  [static]

Definition at line 4108 of file ffmpeg.c.

static void opt_vstats_file ( const char *  arg  )  [static]

Definition at line 4102 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 1447 of file ffmpeg.c.

Referenced by mpeg_mux_end(), mpeg_mux_write_packet(), and transcode().

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

Definition at line 1890 of file ffmpeg.c.

Referenced by new_video_stream().

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

Definition at line 3864 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 2974 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 999 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 1323 of file ffmpeg.c.

Referenced by transcode().

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

Definition at line 1841 of file ffmpeg.c.

Referenced by transcode().

static double psnr ( double  d  )  [static]

Definition at line 1282 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 660 of file ffmpeg.c.

Referenced by opt_output_file().

static int read_key ( void   )  [static]

Definition at line 470 of file ffmpeg.c.

Referenced by decode_interrupt_cb(), and transcode().

static void show_help ( void   )  [static]

Definition at line 3900 of file ffmpeg.c.

static void show_usage ( void   )  [static]

Definition at line 3893 of file ffmpeg.c.

Referenced by main(), and show_help().

static void sigterm_handler ( int  sig  )  [static]

Definition at line 434 of file ffmpeg.c.

Referenced by term_init().

static void term_exit ( void   )  [static]

Definition at line 423 of file ffmpeg.c.

Referenced by sigterm_handler(), and term_init().

static void term_init ( void   )  [static]

Definition at line 440 of file ffmpeg.c.

Referenced by transcode().

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

Definition at line 1916 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 254 of file ffmpeg.c.

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

unsigned int allocated_audio_out_size [static]

Definition at line 254 of file ffmpeg.c.

Referenced by do_audio_out(), and ffmpeg_exit().

Definition at line 259 of file ffmpeg.c.

uint8_t* audio_buf [static]

Definition at line 252 of file ffmpeg.c.

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

int audio_channels = 1 [static]

char* audio_codec_name = NULL [static]

unsigned int audio_codec_tag = 0 [static]

Definition at line 186 of file ffmpeg.c.

Referenced by new_audio_stream(), and opt_codec_tag().

int audio_disable = 0 [static]

Definition at line 183 of file ffmpeg.c.

Referenced by decode_thread(), new_audio_stream(), opt_input_file(), and opt_output_file().

float audio_drift_threshold = 0.1 [static]

Definition at line 214 of file ffmpeg.c.

Referenced by do_audio_out().

char* audio_language = NULL [static]

Definition at line 187 of file ffmpeg.c.

Referenced by new_audio_stream().

uint8_t* audio_out [static]

Definition at line 253 of file ffmpeg.c.

Referenced by do_audio_out(), and ffmpeg_exit().

float audio_qscale = QSCALE_NONE [static]

Definition at line 182 of file ffmpeg.c.

Referenced by new_audio_stream().

enum AVSampleFormat audio_sample_fmt = AV_SAMPLE_FMT_NONE [static]

Definition at line 153 of file ffmpeg.c.

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

int audio_sample_rate = 44100 [static]

Definition at line 179 of file ffmpeg.c.

Referenced by new_audio_stream(), opt_audio_rate(), opt_input_file(), and opt_target().

int64_t audio_size = 0 [static]

int audio_stream_copy = 0 [static]

int audio_sync_method = 0 [static]

Definition at line 213 of file ffmpeg.c.

Referenced by do_audio_out(), and transcode().

int audio_volume = 256 [static]

Definition at line 229 of file ffmpeg.c.

Referenced by output_packet(), and transcode().

uint8_t* bit_buffer = NULL [static]

Definition at line 1105 of file ffmpeg.c.

int bit_buffer_size = 1024*256 [static]

Definition at line 1104 of file ffmpeg.c.

int64_t channel_layout = 0 [static]

Definition at line 180 of file ffmpeg.c.

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

Definition at line 142 of file ffmpeg.c.

int copy_initial_nonkeyframes = 0 [static]

Definition at line 222 of file ffmpeg.c.

Referenced by output_packet().

int copy_tb [static]

Definition at line 216 of file ffmpeg.c.

Referenced by transcode().

int copy_ts = 0 [static]

Definition at line 215 of file ffmpeg.c.

Referenced by opt_input_file(), and transcode().

int do_benchmark = 0 [static]

Definition at line 203 of file ffmpeg.c.

Referenced by main().

int do_deinterlace = 0 [static]

Definition at line 166 of file ffmpeg.c.

Referenced by pre_process_video_frame().

int do_hex_dump = 0 [static]

Definition at line 204 of file ffmpeg.c.

Referenced by transcode().

int do_pass = 0 [static]

Definition at line 207 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_pass().

int do_pkt_dump = 0 [static]

Definition at line 205 of file ffmpeg.c.

Referenced by transcode().

int do_psnr = 0 [static]

Definition at line 206 of file ffmpeg.c.

Referenced by new_video_stream().

float dts_delta_threshold = 10 [static]

Definition at line 246 of file ffmpeg.c.

Referenced by transcode().

int exit_on_error = 0 [static]

Definition at line 231 of file ffmpeg.c.

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

int64_t extra_size = 0 [static]

Definition at line 238 of file ffmpeg.c.

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

int file_overwrite = 0 [static]

Definition at line 201 of file ffmpeg.c.

Referenced by opt_output_file().

int force_fps = 0 [static]

Definition at line 243 of file ffmpeg.c.

Referenced by new_video_stream().

char* forced_key_frames = NULL [static]

Definition at line 244 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_output_file().

float frame_aspect_ratio = 0 [static]

Definition at line 151 of file ffmpeg.c.

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

int frame_height = 0 [static]

Definition at line 150 of file ffmpeg.c.

Referenced by decode_thread(), new_video_stream(), opt_frame_size(), opt_input_file(), and vmd_decode().

enum PixelFormat frame_pix_fmt = PIX_FMT_NONE [static]

Definition at line 152 of file ffmpeg.c.

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

int frame_width = 0 [static]

Definition at line 149 of file ffmpeg.c.

Referenced by decode_thread(), new_video_stream(), opt_frame_size(), opt_input_file(), and vmd_decode().

AVCodec** input_codecs = NULL [static]

Definition at line 122 of file ffmpeg.c.

AVFormatContext* input_files[MAX_FILES] [static]

Definition at line 119 of file ffmpeg.c.

int64_t input_files_ts_offset[MAX_FILES] [static]

Definition at line 120 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 121 of file ffmpeg.c.

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

int input_sync [static]

Definition at line 241 of file ffmpeg.c.

Referenced by transcode().

int64_t input_ts_offset = 0 [static]

Definition at line 200 of file ffmpeg.c.

Referenced by opt_input_file(), and opt_input_ts_offset().

uint16_t* inter_matrix = NULL [static]

Definition at line 158 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 169 of file ffmpeg.c.

Referenced by new_video_stream().

uint16_t* intra_matrix = NULL [static]

Definition at line 157 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 178 of file ffmpeg.c.

Referenced by build_frame_code(), and new_video_stream().

const char* last_asked_format = NULL [static]

Definition at line 118 of file ffmpeg.c.

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

uint64_t limit_filesize = 0 [static]

Definition at line 242 of file ffmpeg.c.

Referenced by transcode().

int loop_input = 0 [static]

Definition at line 170 of file ffmpeg.c.

Referenced by opt_input_file().

int loop_output = AVFMT_NOOUTPUTLOOP [static]

Definition at line 171 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 154 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 168 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 136 of file ffmpeg.c.

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

AVMetadata* metadata [static]

Definition at line 202 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 140 of file ffmpeg.c.

Referenced by copy_chapters(), and opt_map_metadata().

int metadata_global_autocopy = 1 [static]

Definition at line 138 of file ffmpeg.c.

Referenced by opt_map_metadata(), and transcode().

int metadata_streams_autocopy = 1 [static]

Definition at line 139 of file ffmpeg.c.

Referenced by opt_map_metadata(), and transcode().

float mux_max_delay = 0.7 [static]

Definition at line 195 of file ffmpeg.c.

Referenced by opt_output_file().

float mux_preload = 0.5 [static]

Definition at line 194 of file ffmpeg.c.

Referenced by opt_output_file(), and opt_target().

int nb_chapter_maps [static]

Definition at line 143 of file ffmpeg.c.

Referenced by opt_map_chapters(), and transcode().

int nb_frames_drop = 0 [static]

Definition at line 240 of file ffmpeg.c.

Referenced by do_video_out(), and print_report().

int nb_frames_dup = 0 [static]

Definition at line 239 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_meta_data_maps [static]

Definition at line 137 of file ffmpeg.c.

Referenced by opt_map_metadata(), and transcode().

int nb_output_codecs = 0 [static]

Definition at line 130 of file ffmpeg.c.

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

int nb_output_files = 0 [static]

Definition at line 129 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 309 of file ffmpeg.c.

Referenced by new_output_stream().

int nb_stream_maps [static]

Definition at line 133 of file ffmpeg.c.

Referenced by main(), and opt_map().

int nb_streamid_map = 0 [static]

Definition at line 147 of file ffmpeg.c.

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

int opt_programid = 0 [static]

Definition at line 221 of file ffmpeg.c.

Referenced by opt_input_file(), and transcode().

int opt_shortest = 0 [static]

Definition at line 217 of file ffmpeg.c.

Referenced by transcode().

static const OptionDef options [static]

Definition at line 111 of file ffmpeg.c.

Referenced by pp_get_mode_by_name_and_quality().

AVCodec** output_codecs = NULL [static]

Definition at line 128 of file ffmpeg.c.

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 308 of file ffmpeg.c.

char* pass_logfilename_prefix = NULL [static]

Definition at line 208 of file ffmpeg.c.

Referenced by transcode().

const int program_birth_year = 2000

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

Definition at line 87 of file ffmpeg.c.

const char program_name[] = "FFmpeg"

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

Definition at line 86 of file ffmpeg.c.

int q_pressed = 0 [static]

Definition at line 235 of file ffmpeg.c.

Referenced by decode_interrupt_cb(), and transcode().

int qp_hist = 0 [static]

Definition at line 172 of file ffmpeg.c.

Referenced by print_report().

int rate_emu = 0 [static]

Definition at line 224 of file ffmpeg.c.

Referenced by output_packet(), and transcode().

volatile int received_sigterm = 0 [static]

Definition at line 431 of file ffmpeg.c.

Referenced by transcode().

int64_t recording_time = INT64_MAX [static]

Definition at line 197 of file ffmpeg.c.

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

int64_t recording_timestamp = 0 [static]

Definition at line 199 of file ffmpeg.c.

Referenced by opt_output_file(), and opt_recording_timestamp().

int same_quality = 0 [static]

Definition at line 165 of file ffmpeg.c.

Referenced by do_video_out(), and new_video_stream().

short* samples [static]

int64_t start_time = 0 [static]

Definition at line 132 of file ffmpeg.c.

int* streamid_map = NULL [static]

Definition at line 260 of file ffmpeg.c.

char* subtitle_codec_name = NULL [static]

unsigned int subtitle_codec_tag = 0 [static]

Definition at line 192 of file ffmpeg.c.

Referenced by new_subtitle_stream(), and opt_codec_tag().

int subtitle_disable = 0 [static]

Definition at line 189 of file ffmpeg.c.

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

char* subtitle_language = NULL [static]

Definition at line 191 of file ffmpeg.c.

Referenced by new_subtitle_stream().

int subtitle_stream_copy = 0 [static]

Definition at line 211 of file ffmpeg.c.

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

unsigned int sws_flags = SWS_BICUBIC [static]

Definition at line 248 of file ffmpeg.c.

Referenced by do_video_out(), queue_picture(), transcode(), and write_video_frame().

int thread_count = 1 [static]

int64_t timer_start [static]

Definition at line 250 of file ffmpeg.c.

Referenced by print_report(), and transcode().

int top_field_first = -1 [static]

Definition at line 167 of file ffmpeg.c.

Referenced by do_video_out(), mpegvideo_extract_headers(), and opt_top_field_first().

int using_stdin = 0 [static]

Definition at line 232 of file ffmpeg.c.

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

int verbose = 1 [static]

Definition at line 258 of file ffmpeg.c.

int video_channel = 0 [static]

Definition at line 226 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 163 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_codec_tag().

int video_disable = 0 [static]

Definition at line 160 of file ffmpeg.c.

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

int video_discard = 0 [static]

Definition at line 161 of file ffmpeg.c.

Referenced by opt_input_file().

int video_global_header = 0 [static]

Definition at line 218 of file ffmpeg.c.

Referenced by new_video_stream().

char* video_language = NULL [static]

Definition at line 164 of file ffmpeg.c.

Referenced by new_video_stream().

float video_qscale = 0 [static]

Definition at line 156 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_qscale().

const char* video_rc_override_string = NULL [static]

Definition at line 159 of file ffmpeg.c.

Referenced by new_video_stream(), and opt_video_rc_override_string().

int64_t video_size = 0 [static]

Definition at line 236 of file ffmpeg.c.

Referenced by do_video_out(), do_video_stats(), output_packet(), print_report(), and rpl_read_header().

char* video_standard [static]

Definition at line 227 of file ffmpeg.c.

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

int video_stream_copy = 0 [static]

int video_sync_method = -1 [static]

Definition at line 212 of file ffmpeg.c.

Referenced by do_video_out().

FILE* vstats_file [static]

Definition at line 220 of file ffmpeg.c.

Referenced by do_video_stats(), and ffmpeg_exit().

char* vstats_filename [static]

Definition at line 219 of file ffmpeg.c.

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


Generated on Mon May 2 19:50:13 2011 for FFmpeg by  doxygen 1.5.6