diff options
author | Jose Da Silva <digital@joescat.com> | 2021-01-31 19:50:57 -0800 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2021-02-03 16:03:15 +0100 |
commit | 42c636c9722f64fe6290ea8eee13658d25f5fbe3 (patch) | |
tree | bfd4e5ead5b0267ee94d9428ab15cd1b71470b33 | |
parent | b6bc981d257565d77d8d14d233cf9b461e63c280 (diff) | |
download | ffmpeg-42c636c9722f64fe6290ea8eee13658d25f5fbe3.tar.gz |
avcodec/xbmenc: Pre-compute variables once for parse_str_int()
Some compilers are very intuitive, and others are not so much, so let's
pre-compute the variables e and keylen outside the for loop. Ensuring a
minor speed increase regardless of if compiler is smart enough to solve
this improvement for itself, or not.
Signed-off-by: Joe Da Silva <digital@joescat.com>
-rw-r--r-- | libavcodec/xbmdec.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libavcodec/xbmdec.c b/libavcodec/xbmdec.c index 2ce70204cf..b783d5abe5 100644 --- a/libavcodec/xbmdec.c +++ b/libavcodec/xbmdec.c @@ -39,11 +39,14 @@ static int convert(uint8_t x) static int parse_str_int(const uint8_t *p, const uint8_t *end, const uint8_t *key) { - for(; p<end - strlen(key); p++) { - if (!memcmp(p, key, strlen(key))) + int keylen = strlen(key); + const uint8_t *e = end - keylen; + + for(; p < e; p++) { + if (!memcmp(p, key, keylen)) break; } - p += strlen(key); + p += keylen; if (p >= end) return INT_MIN; |