libavutil/parseutils.c File Reference

misc parsing utilities More...

#include <sys/time.h>
#include <time.h>
#include "avstring.h"
#include "avutil.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

Defines

#define ALPHA_SEP   '@'

Functions

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.
static int date_get_num (const char **pp, int n_min, int n_max, int len_max)
static const char * 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)
 Parses timestr and returns 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 []


Detailed Description

misc parsing utilities

Definition in file parseutils.c.


Define Documentation

#define ALPHA_SEP   '@'

Definition at line 299 of file parseutils.c.

Referenced by av_parse_color().


Function Documentation

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 618 of file parseutils.c.

Referenced by ff_udp_set_remote_url(), find_info_tag(), open_input_stream(), rtp_open(), sap_write_header(), tcp_open(), and udp_open().

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:
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.
Returns:
>= 0 in case of success, a negative value in case of failure (for example if color_string cannot be parsed).

Definition at line 301 of file parseutils.c.

Referenced by color_init(), html_color_parse(), init(), and set_param().

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

Parses timestr and returns 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...]]]}|{HH[MM[SS[.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

Definition at line 493 of file parseutils.c.

Referenced by init(), open_input_stream(), parse_date(), parse_time_or_die(), and rtsp_parse_range_npt().

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

Definition at line 123 of file parseutils.c.

Referenced by color_init(), dshow_read_header(), fbdev_read_header(), ff_raw_read_header(), ff_raw_video_read_header(), grab_read_header(), init(), new_video_stream(), parse_ffconfig(), read_header(), source_init(), v4l2_set_parameters(), vfw_read_header(), and x11grab_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.

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

Definition at line 95 of file parseutils.c.

Referenced by color_init(), dc1394_read_header(), dshow_read_header(), ff_raw_read_header(), grab_read_header(), init(), new_video_stream(), parse_ffconfig(), read_header(), sdl_write_header(), source_init(), v4l2_read_header(), vfw_read_header(), and x11grab_read_header().

time_t av_timegm ( struct tm *  tm  ) 

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

Definition at line 474 of file parseutils.c.

Referenced by av_parse_time(), and ff_iso8601_to_unix_time().

static int color_table_compare ( const void *  lhs,
const void *  rhs 
) [static]

Definition at line 294 of file parseutils.c.

Referenced by av_parse_color().

static int date_get_num ( const char **  pp,
int  n_min,
int  n_max,
int  len_max 
) [static]

Definition at line 379 of file parseutils.c.

Referenced by small_strptime().

static const char* small_strptime ( const char *  p,
const char *  fmt,
struct tm *  dt 
) [static]

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

Returns:
a pointer to the first character not processed in this function call, or NULL in case the function fails to match all of the fmt string and therefore an error occurred

Definition at line 413 of file parseutils.c.

Referenced by av_parse_time().


Variable Documentation

const ColorEntry color_table[] [static]

Definition at line 151 of file parseutils.c.

Referenced by ff_mov_read_stsd_entries(), and seq_decode_op1().

const VideoRateAbbr video_rate_abbrs[] [static]

Initial value:

 {
    { "ntsc",      { 30000, 1001 } },
    { "pal",       {    25,    1 } },
    { "qntsc",     { 30000, 1001 } }, 
    { "qpal",      {    25,    1 } }, 
    { "sntsc",     { 30000, 1001 } }, 
    { "spal",      {    25,    1 } }, 
    { "film",      {    24,    1 } },
    { "ntsc-film", { 24000, 1001 } },
}

Definition at line 84 of file parseutils.c.

const VideoSizeAbbr video_size_abbrs[] [static]

Definition at line 44 of file parseutils.c.


Generated on Fri Oct 26 02:43:53 2012 for FFmpeg by  doxygen 1.5.8