libavutil/parseutils.c File Reference

misc parsing utilities More...

#include <strings.h>
#include <sys/time.h>
#include <time.h>
#include "avstring.h"
#include "avutil.h"
#include "eval.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)
static time_t mktimegm (struct tm *tm)
int av_parse_time (int64_t *timeval, const char *datestr, 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 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 612 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.
datestr 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 487 of file parseutils.c.

Referenced by 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(), fbdev_read_header(), ff_raw_read_header(), ff_raw_video_read_header(), grab_read_header(), opt_frame_rate(), parse_ffconfig(), read_header(), source_init(), v4l2_set_parameters(), 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(), ff_raw_read_header(), grab_read_header(), opt_frame_size(), parse_ffconfig(), read_header(), sdl_write_header(), source_init(), v4l2_read_header(), vfw_read_header(), and x11grab_read_header().

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 time_t mktimegm ( struct tm *  tm  )  [static]

Definition at line 468 of file parseutils.c.

Referenced by av_parse_time().

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

Definition at line 405 of file parseutils.c.

Referenced by av_parse_time().


Variable Documentation

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:39:50 2012 for FFmpeg by  doxygen 1.5.8