Loading...
Searching...
No Matches
parseutils.h File Reference

misc parsing utilities More...

`#include <time.h>`
`#include "rational.h"`

Go to the source code of this file.

## Macros

#define | av_parse_ratio_quiet(rate, str, max)

## 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 *str)
| Parse str and store the detected values in *rate.
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 **rgb)
| Get the name of a color from the internal table of hard-coded named colors.
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.
char * | av_small_strptime (const char *p, const char *fmt, struct tm *dt)
| Simplified version of strptime.
time_t | av_timegm (struct tm *tm)
| Convert the decomposed UTC time in tm to a time_t value.

## Detailed Description

misc parsing utilities

Definition in file parseutils.h.

## Macro Definition Documentation

## av_parse_ratio_quiet

#define av_parse_ratio_quiet | ( |  | rate,
|  |  | str,
|  |  | max )

Value:
av_parse_ratio(rate, str, max, AV_LOG_MAX_OFFSET, NULL)
AV_LOG_MAX_OFFSET
#define AV_LOG_MAX_OFFSET
Definition log.h:238
av_parse_ratio
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.

Definition at line 52 of file parseutils.h.

## Function Documentation

## av_parse_ratio()

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.

Parameters

  [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

Returns
  >= 0 on success, a negative error code otherwise

## av_parse_video_size()

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.

Parameters

  [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.

Returns
  >= 0 on success, a negative error code otherwise

Examples
  scale_video.c.

Referenced by main().

## av_parse_video_rate()

int av_parse_video_rate | ( | AVRational * | rate,
|  | const char * | str )

Parse str and store the detected values in *rate.

Parameters

  [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

Returns
  >= 0 on success, a negative error code otherwise

## 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.

Parameters

  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.

Returns
  >= 0 in case of success, a negative value in case of failure (for example if color_string cannot be parsed).

## av_get_known_color_name()

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().

Parameters

  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

Returns
  the color name string or NULL if color_idx is not in the array

## av_parse_time()

int av_parse_time | ( | int64_t * | timeval,
|  | const char * | timestr,
|  | int | duration )

Parse timestr and return in *time a corresponding number of microseconds.

Parameters

  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.
  - If a date the syntax is:
    [{YYYY-MM-DD|YYYYMMDD}[T|t| ]]{{HH:MM:SS[.m...]]]}|{HHMMSS[.m...]]]}}[Z]
    now
    If the value is "now" it takes the current time. Time is local time unless Z is appended, in which case it is interpreted as UTC. If the year-month-day part is not specified it takes the current year-month-day.
  - If a duration the syntax is:
    [-][HH:]MM:SS[.m...]
    [-]S+[.m...]

  duration | flag which tells how to interpret timestr, if not zero timestr is interpreted as a duration, otherwise as a date

Returns
  >= 0 in case of success, a negative value corresponding to an AVERROR code otherwise

## av_find_info_tag()

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.

## 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 %

Returns
  a pointer to the first character not processed in this function call. In case the input string contains more characters than required by the format string the return value points right after the last consumed input character. In case the whole input string is consumed the return value points to the null byte at the end of the string. On failure NULL is returned.

## av_timegm()

time_t av_timegm | ( | struct tm * | tm | ) |

Convert the decomposed UTC time in tm to a time_t value.