Data Structures | Defines | Typedefs | Functions | Variables

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 "libavfilter/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/avfiltergraph.h"
#include "libavfilter/vsink_buffer.h"
#include "libavfilter/vsrc_buffer.h"
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <termios.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)

Typedefs

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

Functions

static int configure_video_filters (AVInputStream *ist, AVOutputStream *ost)
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 char * vfilters = NULL
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 struct termios oldtty
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 1088 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,
  b 
)    ((a)+AV_SAMPLE_FMT_NB*(b))

Referenced by do_audio_out(), and transcode().

#define MAX_AUDIO_PACKET_SIZE   (128 * 1024)

Definition at line 802 of file ffmpeg.c.

#define MAX_FILES   100

Definition at line 115 of file ffmpeg.c.

#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().


Typedef Documentation

typedef struct AVChapterMap AVChapterMap
typedef struct AVInputFile AVInputFile
typedef struct AVInputStream AVInputStream
typedef struct AVMetaDataMap AVMetaDataMap

select an input file for an output file

typedef struct AVStreamMap AVStreamMap

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

Referenced by opt_output_file().

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

Definition at line 657 of file ffmpeg.c.

Referenced by read_ffserver_streams(), and transcode().

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

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

Referenced by transcode().

static int configure_video_filters ( AVInputStream ist,
AVOutputStream ost 
) [static]

filter graph containing all filters including input & output

Definition at line 365 of file ffmpeg.c.

Referenced by transcode().

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

Definition at line 1937 of file ffmpeg.c.

Referenced by transcode().

static int decode_interrupt_cb ( void   )  [static]

Definition at line 530 of file ffmpeg.c.

Referenced by main(), and transcode().

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

Definition at line 804 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 1090 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 1156 of file ffmpeg.c.

Referenced by output_packet().

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

Definition at line 1342 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 3246 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 1510 of file ffmpeg.c.

Referenced by output_packet().

static double get_sync_ipts ( const AVOutputStream ost  )  [static]

Definition at line 764 of file ffmpeg.c.

Referenced by do_audio_out(), and do_video_out().

static int64_t getmaxrss ( void   )  [static]

Definition at line 4051 of file ffmpeg.c.

Referenced by main().

static int64_t getutime ( void   )  [static]

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

Referenced by main().

int main ( int  argc,
char **  argv 
)

Definition at line 4541 of file ffmpeg.c.

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

Definition at line 3681 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 3754 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 3791 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 3540 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 3051 of file ffmpeg.c.

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

Definition at line 3045 of file ffmpeg.c.

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

Definition at line 3027 of file ffmpeg.c.

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

Definition at line 2913 of file ffmpeg.c.

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

Definition at line 4330 of file ffmpeg.c.

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

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

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

Definition at line 2880 of file ffmpeg.c.

Referenced by opt_target().

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

Definition at line 2960 of file ffmpeg.c.

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

Definition at line 2925 of file ffmpeg.c.

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

Definition at line 2945 of file ffmpeg.c.

Referenced by opt_target().

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

Definition at line 2904 of file ffmpeg.c.

Referenced by opt_target().

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

Definition at line 2931 of file ffmpeg.c.

Referenced by opt_target().

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

Definition at line 4107 of file ffmpeg.c.

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

Definition at line 3280 of file ffmpeg.c.

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

Definition at line 3240 of file ffmpeg.c.

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

Definition at line 3203 of file ffmpeg.c.

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

Definition at line 4086 of file ffmpeg.c.

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

Definition at line 4093 of file ffmpeg.c.

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

Definition at line 3105 of file ffmpeg.c.

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

Definition at line 3187 of file ffmpeg.c.

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

Definition at line 3180 of file ffmpeg.c.

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

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

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

Definition at line 2985 of file ffmpeg.c.

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

Definition at line 3848 of file ffmpeg.c.

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

Definition at line 3888 of file ffmpeg.c.

Referenced by main().

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

Definition at line 2940 of file ffmpeg.c.

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

Definition at line 4027 of file ffmpeg.c.

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

Definition at line 4393 of file ffmpeg.c.

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

Definition at line 4351 of file ffmpeg.c.

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

Definition at line 3000 of file ffmpeg.c.

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

Definition at line 3222 of file ffmpeg.c.

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

Definition at line 3234 of file ffmpeg.c.

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

Definition at line 3228 of file ffmpeg.c.

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

Definition at line 3867 of file ffmpeg.c.

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

Definition at line 4165 of file ffmpeg.c.

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

Definition at line 3017 of file ffmpeg.c.

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

Definition at line 3010 of file ffmpeg.c.

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

Definition at line 2898 of file ffmpeg.c.

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

Definition at line 3057 of file ffmpeg.c.

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

Definition at line 2886 of file ffmpeg.c.

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

Definition at line 3063 of file ffmpeg.c.

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

Definition at line 4319 of file ffmpeg.c.

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

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

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

Definition at line 1977 of file ffmpeg.c.

Referenced by transcode().

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

Definition at line 4069 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 3131 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 1048 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 1379 of file ffmpeg.c.

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

Definition at line 1928 of file ffmpeg.c.

Referenced by transcode().

static double psnr ( double  d  )  [static]

Definition at line 1338 of file ffmpeg.c.

Referenced by do_video_stats(), and print_report().

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

Definition at line 707 of file ffmpeg.c.

Referenced by opt_output_file().

static int read_key ( void   )  [static]

Definition at line 500 of file ffmpeg.c.

Referenced by decode_interrupt_cb(), and transcode().

static void show_usage ( void   )  [static]

Definition at line 4100 of file ffmpeg.c.

Referenced by main(), and opt_help().

static void sigterm_handler ( int  sig  )  [static]

Definition at line 461 of file ffmpeg.c.

Referenced by term_init().

static void term_exit ( void   )  [static]

Definition at line 449 of file ffmpeg.c.

Referenced by sigterm_handler(), and term_init().

static void term_init ( void   )  [static]

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

Referenced by main().

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

Definition at line 770 of file ffmpeg.c.

Referenced by do_audio_out(), do_subtitle_out(), do_video_out(), and output_packet().


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 new_audio_stream(), opt_input_file(), and opt_output_file().

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

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

int bit_buffer_size = 1024*256 [static]

Definition at line 1153 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 360 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 358 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().

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 359 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 322 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]
struct termios oldtty [static]

Definition at line 355 of file ffmpeg.c.

Referenced by term_exit(), and term_init().

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 ff_rtsp_make_setup_request(), and 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 321 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 458 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]
char* vfilters = NULL [static]

Definition at line 173 of file ffmpeg.c.

Referenced by new_video_stream().

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 new_video_stream(), opt_input_file(), and opt_output_file().

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().