summaryrefslogtreecommitdiffstats
path: root/media/ffvpx/libavutil/parseutils.c
diff options
context:
space:
mode:
authorMoonchild <mcwerewolf@gmail.com>2018-04-27 19:15:26 +0200
committerGitHub <noreply@github.com>2018-04-27 19:15:26 +0200
commitc75dae3ed21bfa5a8ae46cd83d18329af5bea05a (patch)
treeef657c38feb2368a3c86765778d1f068aa5eb614 /media/ffvpx/libavutil/parseutils.c
parentc82c6d960a7f19d6595171f9705c43514f20c1ec (diff)
parent6ada4b14e4cfc91f5f1b2556623cab691f3ab813 (diff)
downloadUXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar
UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar.gz
UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar.lz
UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar.xz
UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.zip
Merge pull request #275 from trav90/ffvpx-resync
Resync ffvpx code with 3.4.2-release from upstream
Diffstat (limited to 'media/ffvpx/libavutil/parseutils.c')
-rw-r--r--media/ffvpx/libavutil/parseutils.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/media/ffvpx/libavutil/parseutils.c b/media/ffvpx/libavutil/parseutils.c
index a2464cfc6..be4ea1ee1 100644
--- a/media/ffvpx/libavutil/parseutils.c
+++ b/media/ffvpx/libavutil/parseutils.c
@@ -140,6 +140,11 @@ static const VideoRateAbbr video_rate_abbrs[]= {
{ "ntsc-film", { 24000, 1001 } },
};
+static const char *months[12] = {
+ "january", "february", "march", "april", "may", "june", "july", "august",
+ "september", "october", "november", "december"
+};
+
int av_parse_video_size(int *width_ptr, int *height_ptr, const char *str)
{
int i;
@@ -466,6 +471,21 @@ static int date_get_num(const char **pp,
return val;
}
+static int date_get_month(const char **pp) {
+ int i = 0;
+ for (; i < 12; i++) {
+ if (!av_strncasecmp(*pp, months[i], 3)) {
+ const char *mo_full = months[i] + 3;
+ int len = strlen(mo_full);
+ *pp += 3;
+ if (len > 0 && !av_strncasecmp(*pp, mo_full, len))
+ *pp += len;
+ return i;
+ }
+ }
+ return -1;
+}
+
char *av_small_strptime(const char *p, const char *fmt, struct tm *dt)
{
int c, val;
@@ -525,6 +545,14 @@ char *av_small_strptime(const char *p, const char *fmt, struct tm *dt)
if (!p)
return NULL;
break;
+ case 'b':
+ case 'B':
+ case 'h':
+ val = date_get_month(&p);
+ if (val == -1)
+ return NULL;
+ dt->tm_mon = val;
+ break;
case '%':
if (*p++ != '%')
return NULL;