FFmpeg
|
misc parsing utilities More...
#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 352 of file parseutils.c.
Referenced by av_parse_color().
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 ff_parse_time_base(), get_aspect_ratio(), new_output_stream(), new_video_stream(), and vivo_read_header().
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 148 of file parseutils.c.
Referenced by add_input_streams(), av_opt_is_set_to_default(), create_stream(), dc1394_read_common(), ffserver_parse_config_stream(), init_dict(), main(), new_subtitle_stream(), new_video_stream(), 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 179 of file parseutils.c.
Referenced by add_input_streams(), av_opt_is_set_to_default(), cdxl_read_header(), create_stream(), dc1394_read_common(), dshow_read_header(), grab_read_header(), new_video_stream(), set_string_video_rate(), test_av_parse_video_rate(), v4l2_set_parameters(), and vfw_read_header().
Definition at line 347 of file parseutils.c.
Referenced by av_parse_color().
Put the RGBA values that correspond to color_string in rgba_color.
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. |
Definition at line 354 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(), and test_av_parse_color().
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 |
rgbp | if not NULL, will point to a 3-elements array with the color value in RGB |
Definition at line 434 of file parseutils.c.
Referenced by show_colors(), and test_av_get_known_color_name().
Definition at line 450 of file parseutils.c.
Referenced by av_small_strptime().
|
static |
Definition at line 474 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.
Definition at line 489 of file parseutils.c.
Referenced by av_parse_time(), av_small_strptime(), ftp_parse_date(), parse_set_cookie_expiry_time(), 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 568 of file parseutils.c.
Referenced by av_parse_time(), ftp_parse_date(), get_cookies(), mxf_timestamp_to_int64(), and parse_cookie().
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 587 of file parseutils.c.
Referenced by av_opt_set(), concat_read_header(), ff_parse_creation_time_metadata(), func_pts(), get_metadata_duration(), open_input_stream(), parse_interval(), parse_read_interval(), parse_time_or_die(), parse_times(), rtsp_parse_range_npt(), seg_init(), and test_av_parse_time().
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 733 of file parseutils.c.
Referenced by ff_rtp_set_remote_url(), ff_tls_open_underlying(), ff_udp_set_remote_url(), open_input_stream(), 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.
|
static |
Definition at line 132 of file parseutils.c.
|
static |
Definition at line 143 of file parseutils.c.
Referenced by date_get_month().
|
static |
Definition at line 204 of file parseutils.c.
Referenced by test_av_get_known_color_name().