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 "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. | |
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. | |
int | av_parse_video_rate (AVRational *rate, const char *arg) |
Parse str and store the detected values in *rate. | |
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. | |
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. | |
static int | date_get_num (const char **pp, int n_min, int n_max, int len_max) |
char * | av_small_strptime (const char *p, const char *fmt, struct tm *dt) |
Parse the input string p according to the format string fmt and store its results in the structure dt. | |
time_t | av_timegm (struct tm *tm) |
Convert the decomposed UTC time in tm to a time_t value. | |
int | av_parse_time (int64_t *timeval, const char *timestr, int duration) |
Parse timestr and return in *time a corresponding number of microseconds. | |
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. | |
Variables | |
static const VideoSizeAbbr | video_size_abbrs [] |
static const VideoRateAbbr | video_rate_abbrs [] |
static const ColorEntry | color_table [] |
misc parsing utilities
Definition in file parseutils.c.
#define ALPHA_SEP '@' |
Definition at line 341 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 43 of file parseutils.c.
Referenced by ff_parse_time_base(), get_aspect_ratio(), new_video_stream(), and vivo_read_header().
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 137 of file parseutils.c.
Referenced by add_input_streams(), dc1394_read_common(), init_dict(), main(), new_subtitle_stream(), new_video_stream(), parse_ffconfig(), 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 168 of file parseutils.c.
Referenced by add_input_streams(), cdxl_read_header(), dc1394_read_common(), dshow_read_header(), grab_read_header(), new_video_stream(), parse_ffconfig(), set_string_video_rate(), v4l2_set_parameters(), and vfw_read_header().
Definition at line 336 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 343 of file parseutils.c.
Referenced by html_color_parse(), init(), set_param(), and set_string_color().
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 |
rgbp | if not NULL, will point to a 3-elements array with the color value in RGB |
Definition at line 423 of file parseutils.c.
Referenced by show_colors().
|
static |
Definition at line 439 of file parseutils.c.
Referenced by av_small_strptime().
char* av_small_strptime | ( | const char * | p, |
const char * | fmt, | ||
struct tm * | dt | ||
) |
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().
In particular it actually supports the parameters:
Definition at line 463 of file parseutils.c.
Referenced by av_parse_time(), and ff_iso8601_to_unix_time().
time_t av_timegm | ( | struct tm * | tm | ) |
Convert the decomposed UTC time in tm to a time_t value.
Definition at line 531 of file parseutils.c.
Referenced by av_parse_time(), and ff_iso8601_to_unix_time().
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 550 of file parseutils.c.
Referenced by av_opt_set(), concat_read_header(), ffm_write_header(), func_pts(), open_input_stream(), parse_interval(), parse_read_interval(), parse_time_or_die(), parse_times(), rtsp_parse_range_npt(), and seg_write_header().
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 669 of file parseutils.c.
Referenced by ff_rtp_set_remote_url(), ff_udp_set_remote_url(), open_input_stream(), rtp_open(), sap_write_header(), sctp_open(), set_options(), tcp_open(), tls_open(), and udp_open().
|
static |
Definition at line 74 of file parseutils.c.
|
static |
Definition at line 126 of file parseutils.c.
|
static |
Definition at line 193 of file parseutils.c.
Referenced by mov_parse_stsd_video(), and seq_decode_op1().