#include <stdint.h>
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
Go to the source code of this file.
Data Structures | |
struct | SpecifierOpt |
struct | OptionDef |
struct | PtsCorrectionContext |
struct | AVSinkContext |
Defines | |
#define | HAS_ARG 0x0001 |
#define | OPT_BOOL 0x0002 |
#define | OPT_EXPERT 0x0004 |
#define | OPT_STRING 0x0008 |
#define | OPT_VIDEO 0x0010 |
#define | OPT_AUDIO 0x0020 |
#define | OPT_GRAB 0x0040 |
#define | OPT_INT 0x0080 |
#define | OPT_FLOAT 0x0100 |
#define | OPT_SUBTITLE 0x0200 |
#define | OPT_INT64 0x0400 |
#define | OPT_EXIT 0x0800 |
#define | OPT_DATA 0x1000 |
#define | OPT_FUNC2 0x2000 |
#define | OPT_OFFSET 0x4000 /* option is specified as an offset in a passed optctx */ |
#define | OPT_SPEC |
#define | OPT_TIME 0x10000 |
#define | OPT_DOUBLE 0x20000 |
Typedefs | |
typedef struct SpecifierOpt | SpecifierOpt |
Functions | |
void | init_opts (void) |
Initialize the cmdutils option system, in particular allocate the *_opts contexts. | |
void | uninit_opts (void) |
Uninitialize the cmdutils option system, in particular free the *_opts contexts and their contents. | |
void | log_callback_help (void *ptr, int level, const char *fmt, va_list vl) |
Trivial log callback. | |
int | opt_default (const char *opt, const char *arg) |
Fallback for options that are not explicitly handled, these will be parsed through AVOptions. | |
int | opt_loglevel (const char *opt, const char *arg) |
Set the libav* libraries log level. | |
int | opt_timelimit (const char *opt, const char *arg) |
Limit the execution time. | |
double | parse_number_or_die (const char *context, const char *numstr, int type, double min, double max) |
Parse a string and return its corresponding value as a double. | |
int64_t | parse_time_or_die (const char *context, const char *timestr, int is_duration) |
Parse a string specifying a time and return its corresponding value as a number of microseconds. | |
void | show_help_options (const OptionDef *options, const char *msg, int mask, int value) |
void | show_help_children (const AVClass *class, int flags) |
Show help for all options with given flags in class and all its children. | |
void | parse_options (void *optctx, int argc, char **argv, const OptionDef *options, void(*parse_arg_function)(void *optctx, const char *)) |
Parse the command line arguments. | |
int | parse_option (void *optctx, const char *opt, const char *arg, const OptionDef *options) |
Parse one given option. | |
void | parse_loglevel (int argc, char **argv, const OptionDef *options) |
Find the '-loglevel' option in the command line args and apply it. | |
int | check_stream_specifier (AVFormatContext *s, AVStream *st, const char *spec) |
Check if the given stream matches a stream specifier. | |
AVDictionary * | filter_codec_opts (AVDictionary *opts, enum CodecID codec_id, AVFormatContext *s, AVStream *st) |
Filter out options for given codec. | |
AVDictionary ** | setup_find_stream_info_opts (AVFormatContext *s, AVDictionary *codec_opts) |
Setup AVCodecContext options for avformat_find_stream_info(). | |
void | print_error (const char *filename, int err) |
Print an error message to stderr, indicating filename and a human readable description of the error code err. | |
void | show_banner (void) |
Print the program banner to stderr. | |
void | show_version (void) |
Print the version of the program to stdout. | |
void | show_license (void) |
Print the license of the program to stdout. | |
void | show_formats (void) |
Print a listing containing all the formats supported by the program. | |
void | show_codecs (void) |
Print a listing containing all the codecs supported by the program. | |
void | show_filters (void) |
Print a listing containing all the filters supported by the program. | |
void | show_bsfs (void) |
Print a listing containing all the bit stream filters supported by the program. | |
void | show_protocols (void) |
Print a listing containing all the protocols supported by the program. | |
void | show_pix_fmts (void) |
Print a listing containing all the pixel formats supported by the program. | |
int | show_sample_fmts (const char *opt, const char *arg) |
Print a listing containing all the sample formats supported by the program. | |
int | read_yesno (void) |
Return a positive value if a line read from standard input starts with [yY], otherwise return 0. | |
int | cmdutils_read_file (const char *filename, char **bufptr, size_t *size) |
Read the file with name filename, and put its content in a newly allocated 0-terminated buffer. | |
void | init_pts_correction (PtsCorrectionContext *ctx) |
Reset the state of the PtsCorrectionContext. | |
int64_t | guess_correct_pts (PtsCorrectionContext *ctx, int64_t pts, int64_t dts) |
Attempt to guess proper monotonic timestamps for decoded video frames which might have incorrect times. | |
FILE * | get_preset_file (char *filename, size_t filename_size, const char *preset_name, int is_path, const char *codec_name) |
Get a file corresponding to a preset file. | |
int | get_filtered_video_frame (AVFilterContext *sink, AVFrame *frame, AVFilterBufferRef **picref, AVRational *pts_tb) |
Extract a frame from sink. | |
void | exit_program (int ret) |
Do all the necessary cleanup and abort. | |
void * | grow_array (void *array, int elem_size, int *size, int new_size) |
Realloc array to hold new_size elements of elem_size. | |
Variables | |
const char | program_name [] |
program name, defined by the program for show_version(). | |
const int | program_birth_year |
program birth year, defined by the program for show_banner() | |
AVCodecContext * | avcodec_opts [AVMEDIA_TYPE_NB] |
AVFormatContext * | avformat_opts |
struct SwsContext * | sws_opts |
AVDictionary * | format_opts |
AVDictionary * | codec_opts |
AVFilter | avsink |
#define HAS_ARG 0x0001 |
Definition at line 127 of file cmdutils.h.
Referenced by locate_option(), parse_option(), and show_help_options().
#define OPT_AUDIO 0x0020 |
Definition at line 132 of file cmdutils.h.
Referenced by show_help().
#define OPT_BOOL 0x0002 |
Definition at line 128 of file cmdutils.h.
Referenced by parse_option().
#define OPT_DATA 0x1000 |
Definition at line 139 of file cmdutils.h.
#define OPT_DOUBLE 0x20000 |
Definition at line 144 of file cmdutils.h.
Referenced by parse_option().
#define OPT_EXIT 0x0800 |
Definition at line 138 of file cmdutils.h.
Referenced by parse_option().
#define OPT_EXPERT 0x0004 |
Definition at line 129 of file cmdutils.h.
Referenced by show_help().
#define OPT_FLOAT 0x0100 |
Definition at line 135 of file cmdutils.h.
Referenced by opt_qscale(), and parse_option().
#define OPT_FUNC2 0x2000 |
Definition at line 140 of file cmdutils.h.
Referenced by parse_option().
#define OPT_GRAB 0x0040 |
Definition at line 133 of file cmdutils.h.
Referenced by show_help().
#define OPT_INT 0x0080 |
Definition at line 134 of file cmdutils.h.
Referenced by opt_pass(), opt_streamid(), opt_top_field_first(), opt_vsync(), parse_number_or_die(), and parse_option().
#define OPT_INT64 0x0400 |
Definition at line 137 of file cmdutils.h.
Referenced by opt_audio_channels(), opt_audio_rate(), opt_debug(), opt_height(), opt_me_threshold(), opt_thread_count(), opt_timelimit(), opt_verbose(), opt_vismv(), opt_width(), parse_number_or_die(), and parse_option().
#define OPT_OFFSET 0x4000 /* option is specified as an offset in a passed optctx */ |
Definition at line 141 of file cmdutils.h.
Referenced by parse_option(), and reset_options().
#define OPT_SPEC |
0x8000 /* option is to be stored in an array of SpecifierOpt. Implies OPT_OFFSET. Next element after the offset is an int containing element count in the array. */
Definition at line 142 of file cmdutils.h.
Referenced by parse_option(), and reset_options().
#define OPT_STRING 0x0008 |
Definition at line 130 of file cmdutils.h.
Referenced by parse_option(), and reset_options().
#define OPT_SUBTITLE 0x0200 |
Definition at line 136 of file cmdutils.h.
Referenced by show_help().
#define OPT_TIME 0x10000 |
Definition at line 143 of file cmdutils.h.
Referenced by parse_option().
#define OPT_VIDEO 0x0010 |
Definition at line 131 of file cmdutils.h.
Referenced by show_help().
typedef struct SpecifierOpt SpecifierOpt |
int check_stream_specifier | ( | AVFormatContext * | s, |
AVStream * | st, | ||
const char * | spec | ||
) |
Check if the given stream matches a stream specifier.
s | Corresponding format context. |
st | Stream from s to be checked. |
spec | A stream specifier of the [v|a|s|d]:[<stream index>] form. |
Definition at line 909 of file cmdutils.c.
Referenced by copy_metadata(), filter_codec_opts(), opt_input_file(), opt_map(), and opt_output_file().
int cmdutils_read_file | ( | const char * | filename, |
char ** | bufptr, | ||
size_t * | size | ||
) |
Read the file with name filename, and put its content in a newly allocated 0-terminated buffer.
bufptr | location where pointer to buffer is returned |
size | location where size of buffer is returned |
Definition at line 811 of file cmdutils.c.
Referenced by transcode(), and transcode_init().
void exit_program | ( | int | ret | ) |
Do all the necessary cleanup and abort.
This function is implemented in the avtools, not cmdutils.
Definition at line 663 of file avconv.c.
Referenced by assert_avoptions(), assert_codec_experimental(), assert_file_overwrite(), copy_metadata(), do_audio_out(), do_subtitle_out(), do_video_out(), do_video_resample(), do_video_stats(), dump_attachment(), encode_audio_frame(), find_codec_or_die(), flush_encoders(), get_line(), grow_array(), main(), new_audio_stream(), new_data_stream(), new_output_stream(), new_video_stream(), opt_audio_sample_fmt(), opt_bsf(), opt_frame_pix_fmt(), opt_frame_rate(), opt_input_file(), opt_loglevel(), opt_map(), opt_metadata(), opt_new_stream(), opt_output_file(), opt_preset(), opt_streamid(), opt_target(), output_packet(), parse_forced_key_frames(), parse_frame_aspect_ratio(), parse_matrix_coeffs(), parse_meta_type(), parse_number_or_die(), parse_option(), parse_options(), parse_time_or_die(), print_sdp(), transcode(), transcode_audio(), transcode_init(), transcode_video(), and write_frame().
AVDictionary* filter_codec_opts | ( | AVDictionary * | opts, |
enum CodecID | codec_id, | ||
AVFormatContext * | s, | ||
AVStream * | st | ||
) |
Filter out options for given codec.
Create a new options dictionary containing only the options from opts which apply to the codec with ID codec_id.
s | Corresponding format context. |
st | A stream from s for which the options should be filtered. |
Definition at line 962 of file cmdutils.c.
Referenced by add_input_streams(), new_output_stream(), opt_input_file(), setup_find_stream_info_opts(), and stream_component_open().
int get_filtered_video_frame | ( | AVFilterContext * | sink, |
AVFrame * | frame, | ||
AVFilterBufferRef ** | picref, | ||
AVRational * | pts_tb | ||
) |
Extract a frame from sink.
Referenced by output_packet(), transcode_video(), and video_thread().
FILE* get_preset_file | ( | char * | filename, |
size_t | filename_size, | ||
const char * | preset_name, | ||
int | is_path, | ||
const char * | codec_name | ||
) |
Get a file corresponding to a preset file.
If is_path is non-zero, look for the file in the path preset_name. Otherwise search for a file named arg.avpreset in the directories $AVCONV_DATADIR (if set), $HOME/.avconv, and in the datadir defined at configuration time, in that order. If no such file is found and codec_name is defined, then search for a file named codec_name-preset_name.avpreset in the above-mentioned directories.
filename | buffer where the name of the found filename is written |
filename_size | size in bytes of the filename buffer |
preset_name | name of the preset to search |
is_path | tell if preset_name is a filename path |
codec_name | name of the codec for which to look for the preset, may be NULL |
Definition at line 876 of file cmdutils.c.
Referenced by avserver_opt_preset(), and opt_preset().
void* grow_array | ( | void * | array, |
int | elem_size, | ||
int * | size, | ||
int | new_size | ||
) |
Realloc array to hold new_size elements of elem_size.
Calls exit_program() on failure.
elem_size | size in bytes of each element |
size | new element count will be written here |
Definition at line 1105 of file cmdutils.c.
Referenced by add_input_streams(), new_output_stream(), opt_attach(), opt_input_file(), opt_input_ts_scale(), opt_map(), opt_map_chapters(), opt_map_metadata(), opt_output_file(), opt_streamid(), and parse_option().
int64_t guess_correct_pts | ( | PtsCorrectionContext * | ctx, |
int64_t | pts, | ||
int64_t | dts | ||
) |
Attempt to guess proper monotonic timestamps for decoded video frames which might have incorrect times.
Input timestamps may wrap around, in which case the output will as well.
pts | the pts field of the decoded AVPacket, as passed through AVCodecContext.reordered_opaque |
dts | the dts field of the decoded AVPacket |
Definition at line 854 of file cmdutils.c.
Referenced by get_video_frame(), output_packet(), and transcode_video().
Initialize the cmdutils option system, in particular allocate the *_opts contexts.
Definition at line 60 of file cmdutils.c.
Referenced by main(), opt_input_file(), opt_output_file(), and reset_options().
void init_pts_correction | ( | PtsCorrectionContext * | ctx | ) |
Reset the state of the PtsCorrectionContext.
Definition at line 848 of file cmdutils.c.
Referenced by get_video_frame(), init_input_stream(), and transcode().
void log_callback_help | ( | void * | ptr, |
int | level, | ||
const char * | fmt, | ||
va_list | vl | ||
) |
Trivial log callback.
Only suitable for show_help and similar since it lacks prefix handling.
Definition at line 78 of file cmdutils.c.
Referenced by show_help(), and show_version().
int opt_default | ( | const char * | opt, |
const char * | arg | ||
) |
Fallback for options that are not explicitly handled, these will be parsed through AVOptions.
Definition at line 367 of file cmdutils.c.
Referenced by opt_preset(), opt_target(), opt_video_channel(), and opt_video_standard().
int opt_loglevel | ( | const char * | opt, |
const char * | arg | ||
) |
Set the libav* libraries log level.
Definition at line 407 of file cmdutils.c.
Referenced by parse_loglevel().
int opt_timelimit | ( | const char * | opt, |
const char * | arg | ||
) |
Limit the execution time.
Definition at line 442 of file cmdutils.c.
void parse_loglevel | ( | int | argc, |
char ** | argv, | ||
const OptionDef * | options | ||
) |
Find the '-loglevel' option in the command line args and apply it.
Definition at line 357 of file cmdutils.c.
Referenced by main().
double parse_number_or_die | ( | const char * | context, |
const char * | numstr, | ||
int | type, | ||
double | min, | ||
double | max | ||
) |
Parse a string and return its corresponding value as a double.
Exit from the application if the string cannot be correctly parsed or the corresponding value is invalid.
context | the context of the value to be set (e.g. the corresponding command line option name) |
numstr | the string to be parsed |
type | the type (OPT_INT64 or OPT_FLOAT) as which the string should be parsed |
min | the minimum valid accepted value |
max | the maximum valid accepted value |
Definition at line 83 of file cmdutils.c.
Referenced by opt_audio_channels(), opt_audio_rate(), opt_debug(), opt_height(), opt_me_threshold(), opt_pass(), opt_qscale(), opt_streamid(), opt_thread_count(), opt_timelimit(), opt_top_field_first(), opt_verbose(), opt_vismv(), opt_vsync(), opt_width(), and parse_option().
int parse_option | ( | void * | optctx, |
const char * | opt, | ||
const char * | arg, | ||
const OptionDef * | options | ||
) |
Parse one given option.
Definition at line 224 of file cmdutils.c.
Referenced by opt_audio_codec(), opt_audio_frames(), opt_audio_qscale(), opt_audio_tag(), opt_data_codec(), opt_data_frames(), opt_subtitle_codec(), opt_subtitle_tag(), opt_target(), opt_video_codec(), opt_video_filters(), opt_video_frames(), opt_video_tag(), and parse_options().
void parse_options | ( | void * | optctx, |
int | argc, | ||
char ** | argv, | ||
const OptionDef * | options, | ||
void(*)(void *optctx, const char *) | parse_arg_function | ||
) |
Parse the command line arguments.
optctx | an opaque options context |
options | Array with the definitions required to interpret every option of the form: -option_name [argument] |
parse_arg_function | Name of the function called to process every argument without a leading option name flag. NULL if such arguments do not have to be processed. |
int64_t parse_time_or_die | ( | const char * | context, |
const char * | timestr, | ||
int | is_duration | ||
) |
Parse a string specifying a time and return its corresponding value as a number of microseconds.
Exit from the application if the string cannot be correctly parsed.
context | the context of the value to be set (e.g. the corresponding command line option name) |
timestr | the string to be parsed |
is_duration | a flag which tells how to interpret timestr, if not zero timestr is interpreted as a duration, otherwise as a date |
Definition at line 104 of file cmdutils.c.
Referenced by opt_duration(), opt_input_ts_offset(), opt_recording_time(), opt_recording_timestamp(), opt_seek(), opt_start_time(), parse_forced_key_frames(), and parse_option().
void print_error | ( | const char * | filename, |
int | err | ||
) |
Print an error message to stderr, indicating filename and a human readable description of the error code err.
If strerror_r() is not available the use of this function in a multithreaded application may be unsafe.
Definition at line 455 of file cmdutils.c.
Referenced by decode_thread(), open_input_file(), opt_input_file(), opt_output_file(), and write_frame().
int read_yesno | ( | void | ) |
Return a positive value if a line read from standard input starts with [yY], otherwise return 0.
Definition at line 800 of file cmdutils.c.
Referenced by assert_file_overwrite(), and opt_output_file().
AVDictionary** setup_find_stream_info_opts | ( | AVFormatContext * | s, |
AVDictionary * | codec_opts | ||
) |
Setup AVCodecContext options for avformat_find_stream_info().
Create an array of dictionaries, one dictionary for each stream contained in s. Each dictionary will contain the options from codec_opts which can be applied to the corresponding stream codec context.
Definition at line 1019 of file cmdutils.c.
Referenced by decode_thread(), and opt_input_file().
void show_banner | ( | void | ) |
Print the program banner to stderr.
The banner contents depend on the current version of the repository and of the libav* libraries used by the program.
Definition at line 513 of file cmdutils.c.
Referenced by main().
Print a listing containing all the bit stream filters supported by the program.
Definition at line 724 of file cmdutils.c.
void show_codecs | ( | void | ) |
Print a listing containing all the codecs supported by the program.
Definition at line 647 of file cmdutils.c.
void show_filters | ( | void | ) |
Print a listing containing all the filters supported by the program.
Definition at line 748 of file cmdutils.c.
void show_formats | ( | void | ) |
Print a listing containing all the formats supported by the program.
Definition at line 600 of file cmdutils.c.
void show_help_children | ( | const AVClass * | class, |
int | flags | ||
) |
Show help for all options with given flags in class and all its children.
Definition at line 140 of file cmdutils.c.
Referenced by show_help(), and show_help_children().
void show_help_options | ( | const OptionDef * | options, |
const char * | msg, | ||
int | mask, | ||
int | value | ||
) |
Definition at line 116 of file cmdutils.c.
Referenced by show_help().
void show_license | ( | void | ) |
Print the license of the program to stdout.
The license depends on the license of the libraries compiled into the program.
Definition at line 531 of file cmdutils.c.
void show_pix_fmts | ( | void | ) |
Print a listing containing all the pixel formats supported by the program.
Definition at line 759 of file cmdutils.c.
Referenced by opt_frame_pix_fmt().
void show_protocols | ( | void | ) |
Print a listing containing all the protocols supported by the program.
Definition at line 734 of file cmdutils.c.
int show_sample_fmts | ( | const char * | opt, |
const char * | arg | ||
) |
Print a listing containing all the sample formats supported by the program.
Definition at line 791 of file cmdutils.c.
void show_version | ( | void | ) |
Print the version of the program to stdout.
The version message depends on the current versions of the repository and of the libav* libraries.
Definition at line 525 of file cmdutils.c.
void uninit_opts | ( | void | ) |
Uninitialize the cmdutils option system, in particular free the *_opts contexts and their contents.
Definition at line 68 of file cmdutils.c.
Referenced by do_exit(), exit_program(), opt_input_file(), opt_output_file(), and reset_options().
Definition at line 56 of file cmdutils.c.
Referenced by add_input_streams(), decode_thread(), new_output_stream(), opt_input_file(), and stream_component_open().
Definition at line 56 of file cmdutils.c.
Referenced by decode_thread(), main(), open_input_file(), opt_input_file(), and opt_output_file().
const int program_birth_year |
program birth year, defined by the program for show_banner()
Definition at line 85 of file avconv.c.
Referenced by show_banner().
const char program_name[] |
program name, defined by the program for show_version().
Definition at line 84 of file avconv.c.
Referenced by compute_status(), main(), show_banner(), show_license(), show_usage(), and show_version().
struct SwsContext* sws_opts |
Definition at line 55 of file cmdutils.c.
Referenced by new_output_stream(), and queue_picture().