FFmpeg
|
#include <time.h>
#include "avstring.h"
#include "avutil.h"
#include "common.h"
#include "eval.h"
#include "log.h"
#include "random_seed.h"
#include "time_internal.h"
#include "parseutils.h"
Go to the source code of this file.
Data Structures | |
struct | VideoSizeAbbr |
struct | VideoRateAbbr |
struct | ColorEntry |
Macros | |
#define | ALPHA_SEP '@' |
Functions | |
int | av_parse_ratio (AVRational *q, const char *str, int max, int log_offset, void *log_ctx) |
Parse str and store the parsed ratio in q. More... | |
int | av_parse_video_size (int *width_ptr, int *height_ptr, const char *str) |
Parse str and put in width_ptr and height_ptr the detected values. More... | |
int | av_parse_video_rate (AVRational *rate, const char *arg) |
Parse str and store the detected values in *rate. More... | |
static int | color_table_compare (const void *lhs, const void *rhs) |
int | av_parse_color (uint8_t *rgba_color, const char *color_string, int slen, void *log_ctx) |
Put the RGBA values that correspond to color_string in rgba_color. More... | |
const char * | av_get_known_color_name (int color_idx, const uint8_t **rgbp) |
Get the name of a color from the internal table of hard-coded named colors. More... | |
static int | date_get_num (const char **pp, int n_min, int n_max, int len_max) |
static int | date_get_month (const char **pp) |
char * | av_small_strptime (const char *p, const char *fmt, struct tm *dt) |
Simplified version of strptime. More... | |
time_t | av_timegm (struct tm *tm) |
Convert the decomposed UTC time in tm to a time_t value. More... | |
int | av_parse_time (int64_t *timeval, const char *timestr, int duration) |
Parse timestr and return in *time a corresponding number of microseconds. More... | |
int | av_find_info_tag (char *arg, int arg_size, const char *tag1, const char *info) |
Attempt to find a specific tag in a URL. More... | |
Variables | |
static const VideoSizeAbbr | video_size_abbrs [] |
static const VideoRateAbbr | video_rate_abbrs [] |
static const char * | months [12] |
static const ColorEntry | color_table [] |
misc parsing utilities
Definition in file parseutils.c.
#define ALPHA_SEP '@' |
Definition at line 357 of file parseutils.c.
int av_parse_ratio | ( | AVRational * | q, |
const char * | str, | ||
int | max, | ||
int | log_offset, | ||
void * | log_ctx | ||
) |
Parse str and store the parsed ratio in q.
Note that a ratio with infinite (1/0) or negative value is considered valid, so you should check on the returned value if you want to exclude those values.
The undefined value can be expressed using the "0:0" string.
[in,out] | q | pointer to the AVRational which will contain the ratio |
[in] | str | the string to parse: it has to be a string in the format num:den, a float number or an expression |
[in] | max | the maximum allowed numerator and denominator |
[in] | log_offset | log level offset which is applied to the log level of log_ctx |
[in] | log_ctx | parent logging context |
Definition at line 45 of file parseutils.c.
Referenced by get_aspect_ratio(), new_stream_video(), and ost_add().
int av_parse_video_size | ( | int * | width_ptr, |
int * | height_ptr, | ||
const char * | str | ||
) |
Parse str and put in width_ptr and height_ptr the detected values.
[in,out] | width_ptr | pointer to the variable which will contain the detected width value |
[in,out] | height_ptr | pointer to the variable which will contain the detected height value |
[in] | str | the string to parse: it has to be a string in the format width x height or a valid video size abbreviation. |
Definition at line 150 of file parseutils.c.
Referenced by av_opt_is_set_to_default(), config_comm_output(), dc1394_read_common(), init(), ist_add(), main(), new_stream_subtitle(), new_stream_video(), nppscale_init(), set_string_image_size(), and vfw_read_header().
int av_parse_video_rate | ( | AVRational * | rate, |
const char * | str | ||
) |
Parse str and store the detected values in *rate.
[in,out] | rate | pointer to the AVRational which will contain the detected frame rate |
[in] | str | the string to parse: it has to be a string in the format rate_num / rate_den, a float number or a valid video rate abbreviation |
Definition at line 181 of file parseutils.c.
Referenced by av_opt_is_set_to_default(), config_output(), create_stream(), dc1394_read_common(), dshow_read_header(), grab_read_header(), ist_add(), libplacebo_init(), new_stream_video(), parse_manifest_representation(), rfc4175_parse_fmtp(), set_string_video_rate(), test_av_parse_video_rate(), v4l2_set_parameters(), and vfw_read_header().
|
static |
Definition at line 352 of file parseutils.c.
Referenced by av_parse_color().
int av_parse_color | ( | uint8_t * | rgba_color, |
const char * | color_string, | ||
int | slen, | ||
void * | log_ctx | ||
) |
Put the RGBA values that correspond to color_string in rgba_color.
rgba_color | 4-elements array of uint8_t values, where the respective red, green, blue and alpha component values are written. |
color_string | a string specifying a color. It can be the name of a color (case insensitive match) or a [0x|#]RRGGBB[AA] sequence, possibly followed by "@" and a string representing the alpha component. The alpha component may be a string composed by "0x" followed by an hexadecimal number or a decimal number between 0.0 and 1.0, which represents the opacity value (0x00/0.0 means completely transparent, 0xff/1.0 completely opaque). If the alpha component is not specified then 0xff is assumed. The string "random" will result in a random color. |
slen | length of the initial part of color_string containing the color. It can be set to -1 if color_string is a null terminated string containing nothing else than the color. |
log_ctx | a pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct (used for av_log()). Can be NULL. |
Definition at line 359 of file parseutils.c.
Referenced by av_opt_is_set_to_default(), config_input(), config_output(), config_video_output(), draw_curves(), draw_text(), html_color_parse(), init(), plot_freqs(), set_param(), set_string_color(), stack_init(), test_av_parse_color(), and update_settings().
const char* av_get_known_color_name | ( | int | color_idx, |
const uint8_t ** | rgb | ||
) |
Get the name of a color from the internal table of hard-coded named colors.
This function is meant to enumerate the color names recognized by av_parse_color().
color_idx | index of the requested color, starting from 0 |
rgb | if not NULL, will point to a 3-elements array with the color value in RGB |
Definition at line 439 of file parseutils.c.
Referenced by show_colors(), and test_av_get_known_color_name().
|
static |
Definition at line 455 of file parseutils.c.
Referenced by av_small_strptime().
|
static |
Definition at line 479 of file parseutils.c.
Referenced by av_small_strptime().
char* av_small_strptime | ( | const char * | p, |
const char * | fmt, | ||
struct tm * | dt | ||
) |
Simplified version of strptime.
Parse the input string p according to the format string fmt and store its results in the structure dt. This implementation supports only a subset of the formats supported by the standard strptime().
The supported input field descriptors are listed below.
%H
: the hour as a decimal number, using a 24-hour clock, in the range '00' through '23'%J
: hours as a decimal number, in the range '0' through INT_MAX%M
: the minute as a decimal number, using a 24-hour clock, in the range '00' through '59'%S
: the second as a decimal number, using a 24-hour clock, in the range '00' through '59'%Y
: the year as a decimal number, using the Gregorian calendar%m
: the month as a decimal number, in the range '1' through '12'%d
: the day of the month as a decimal number, in the range '1' through '31'%T
: alias for %H:%M:%S
%%
: a literal %
Definition at line 494 of file parseutils.c.
Referenced by av_parse_time(), av_small_strptime(), ftp_parse_date(), parse_http_date(), and test_av_small_strptime().
time_t av_timegm | ( | struct tm * | tm | ) |
Convert the decomposed UTC time in tm to a time_t value.
Definition at line 573 of file parseutils.c.
Referenced by av_parse_time(), ftp_parse_date(), get_cookies(), get_duration(), get_pts(), get_utc_date_time_insec(), mxf_timestamp_to_int64(), parse_cookie(), parse_expires(), and process_line().
int av_parse_time | ( | int64_t * | timeval, |
const char * | timestr, | ||
int | duration | ||
) |
Parse timestr and return in *time a corresponding number of microseconds.
timeval | puts here the number of microseconds corresponding to the string in timestr. If the string represents a duration, it is the number of microseconds contained in the time interval. If the string is a date, is the number of microseconds since 1st of January, 1970 up to the time of the parsed date. If timestr cannot be successfully parsed, set *time to INT64_MIN. |
timestr | a string representing a date or a duration.
|
duration | flag which tells how to interpret timestr, if not zero timestr is interpreted as a duration, otherwise as a date |
Definition at line 592 of file parseutils.c.
Referenced by concat_parse_script(), ff_parse_creation_time_metadata(), ff_print_pts(), get_metadata_duration(), opt_recording_timestamp(), opt_set_elem(), opt_stats_period(), parse_adaptation_sets(), parse_forced_key_frames(), parse_interval(), parse_points(), parse_read_interval(), parse_times(), rtsp_parse_range_npt(), test_av_parse_time(), and write_option().
int av_find_info_tag | ( | char * | arg, |
int | arg_size, | ||
const char * | tag1, | ||
const char * | info | ||
) |
Attempt to find a specific tag in a URL.
syntax: '?tag1=val1&tag2=val2...'. Little URL decoding is done. Return 1 if found.
Definition at line 756 of file parseutils.c.
Referenced by ff_rtp_set_remote_url(), ff_tls_open_underlying(), ff_udp_set_remote_url(), libsrt_open(), libsrt_setup(), parse_options(), rtp_open(), sap_write_header(), sctp_open(), set_options(), tcp_open(), test_av_find_info_tag(), and udp_open().
|
static |
Definition at line 76 of file parseutils.c.
Referenced by av_parse_video_size().
|
static |
Definition at line 134 of file parseutils.c.
Referenced by av_parse_video_rate().
|
static |
Definition at line 145 of file parseutils.c.
Referenced by date_get_month().
|
static |
Definition at line 209 of file parseutils.c.
Referenced by av_get_known_color_name(), av_parse_color(), and test_av_get_known_color_name().