# HG changeset patch # User stefano # Date 1280185948 0 # Node ID fbc6fc80e6c67c1541ec55d5a0ddc7fff6c61b89 # Parent 7fb91885433cea24e52648c492aa408d7452088e Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate() in favor of the newly added corresponding functions av_parse_video_size() and av_parse_video_rate() defined in libavcore/parseutils.h. This change also adds a linking-time dependency of libavcodec and of libavfilter on libavcore. diff -r 7fb91885433c -r fbc6fc80e6c6 Makefile --- a/Makefile Mon Jul 26 21:18:19 2010 +0000 +++ b/Makefile Mon Jul 26 23:12:28 2010 +0000 @@ -1,7 +1,7 @@ include $(SUBDIR)../config.mak NAME = avcodec -FFLIBS = avutil +FFLIBS = avutil avcore HEADERS = avcodec.h avfft.h dxva2.h opt.h vaapi.h vdpau.h xvmc.h diff -r 7fb91885433c -r fbc6fc80e6c6 avcodec.h --- a/avcodec.h Mon Jul 26 21:18:19 2010 +0000 +++ b/avcodec.h Mon Jul 26 23:12:28 2010 +0000 @@ -31,7 +31,7 @@ #define LIBAVCODEC_VERSION_MAJOR 52 #define LIBAVCODEC_VERSION_MINOR 84 -#define LIBAVCODEC_VERSION_MICRO 0 +#define LIBAVCODEC_VERSION_MICRO 1 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ @@ -3964,29 +3964,21 @@ */ unsigned int av_xiphlacing(unsigned char *s, unsigned int v); +#if LIBAVCODEC_VERSION_MAJOR < 53 /** * Parse str and put in width_ptr and height_ptr the detected values. * - * @return 0 in case of a successful parsing, a negative value otherwise - * @param[in] str the string to parse: it has to be a string in the format - * width x height or a valid video frame size abbreviation. - * @param[in,out] width_ptr pointer to the variable which will contain the detected - * frame width value - * @param[in,out] height_ptr pointer to the variable which will contain the detected - * frame height value + * @deprecated Deprecated in favor of av_parse_video_size(). */ -int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str); +attribute_deprecated int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str); /** * Parse str and store the detected values in *frame_rate. * - * @return 0 in case of a successful parsing, a negative value otherwise - * @param[in] str the string to parse: it has to be a string in the format - * frame_rate_num / frame_rate_den, a float number or a valid video rate abbreviation - * @param[in,out] frame_rate pointer to the AVRational which will contain the detected - * frame rate + * @deprecated Deprecated in favor of av_parse_video_rate(). */ -int av_parse_video_frame_rate(AVRational *frame_rate, const char *str); +attribute_deprecated int av_parse_video_frame_rate(AVRational *frame_rate, const char *str); +#endif /** * Logs a generic warning message about a missing feature. This function is diff -r 7fb91885433c -r fbc6fc80e6c6 utils.c --- a/utils.c Mon Jul 26 21:18:19 2010 +0000 +++ b/utils.c Mon Jul 26 23:12:28 2010 +0000 @@ -1092,132 +1092,19 @@ return n; } -typedef struct { - const char *abbr; - int width, height; -} VideoFrameSizeAbbr; - -typedef struct { - const char *abbr; - int rate_num, rate_den; -} VideoFrameRateAbbr; - -static const VideoFrameSizeAbbr video_frame_size_abbrs[] = { - { "ntsc", 720, 480 }, - { "pal", 720, 576 }, - { "qntsc", 352, 240 }, /* VCD compliant NTSC */ - { "qpal", 352, 288 }, /* VCD compliant PAL */ - { "sntsc", 640, 480 }, /* square pixel NTSC */ - { "spal", 768, 576 }, /* square pixel PAL */ - { "film", 352, 240 }, - { "ntsc-film", 352, 240 }, - { "sqcif", 128, 96 }, - { "qcif", 176, 144 }, - { "cif", 352, 288 }, - { "4cif", 704, 576 }, - { "16cif", 1408,1152 }, - { "qqvga", 160, 120 }, - { "qvga", 320, 240 }, - { "vga", 640, 480 }, - { "svga", 800, 600 }, - { "xga", 1024, 768 }, - { "uxga", 1600,1200 }, - { "qxga", 2048,1536 }, - { "sxga", 1280,1024 }, - { "qsxga", 2560,2048 }, - { "hsxga", 5120,4096 }, - { "wvga", 852, 480 }, - { "wxga", 1366, 768 }, - { "wsxga", 1600,1024 }, - { "wuxga", 1920,1200 }, - { "woxga", 2560,1600 }, - { "wqsxga", 3200,2048 }, - { "wquxga", 3840,2400 }, - { "whsxga", 6400,4096 }, - { "whuxga", 7680,4800 }, - { "cga", 320, 200 }, - { "ega", 640, 350 }, - { "hd480", 852, 480 }, - { "hd720", 1280, 720 }, - { "hd1080", 1920,1080 }, -}; - -static const VideoFrameRateAbbr video_frame_rate_abbrs[]= { - { "ntsc", 30000, 1001 }, - { "pal", 25, 1 }, - { "qntsc", 30000, 1001 }, /* VCD compliant NTSC */ - { "qpal", 25, 1 }, /* VCD compliant PAL */ - { "sntsc", 30000, 1001 }, /* square pixel NTSC */ - { "spal", 25, 1 }, /* square pixel PAL */ - { "film", 24, 1 }, - { "ntsc-film", 24000, 1001 }, -}; +#if LIBAVCODEC_VERSION_MAJOR < 53 +#include "libavcore/parseutils.h" int av_parse_video_frame_size(int *width_ptr, int *height_ptr, const char *str) { - int i; - int n = FF_ARRAY_ELEMS(video_frame_size_abbrs); - char *p; - int frame_width = 0, frame_height = 0; - - for(i=0;inum = video_frame_rate_abbrs[i].rate_num; - frame_rate->den = video_frame_rate_abbrs[i].rate_den; - return 0; - } - - /* Then, we try to parse it as fraction */ - cp = strchr(arg, '/'); - if (!cp) - cp = strchr(arg, ':'); - if (cp) { - char* cpp; - frame_rate->num = strtol(arg, &cpp, 10); - if (cpp != arg || cpp == cp) - frame_rate->den = strtol(cp+1, &cpp, 10); - else - frame_rate->num = 0; - } - else { - /* Finally we give up and parse it as double */ - AVRational time_base = av_d2q(strtod(arg, 0), 1001000); - frame_rate->den = time_base.den; - frame_rate->num = time_base.num; - } - if (!frame_rate->num || !frame_rate->den) - return -1; - else - return 0; + return av_parse_video_rate(frame_rate, arg); } +#endif int ff_match_2uint16(const uint16_t (*tab)[2], int size, int a, int b){ int i;