#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 |
Macros | |
#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 |
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().
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().
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.
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().
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().
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.
Print a listing containing all the codecs supported by the program.
Definition at line 647 of file cmdutils.c.
Print a listing containing all the filters supported by the program.
Definition at line 748 of file cmdutils.c.
Print a listing containing all the formats supported by the program.
Definition at line 600 of file cmdutils.c.
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().
Definition at line 116 of file cmdutils.c.
Referenced by show_help().
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.
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().
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.
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.
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().
AVCodecContext* avcodec_opts[AVMEDIA_TYPE_NB] |
AVFormatContext* avformat_opts |
AVFilter avsink |
AVDictionary * codec_opts |
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().
AVDictionary* format_opts |
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().