Minor speed increase, end is calculated before entering parse_str_int(), so let's take advantage of the value and avoid recalculating twice more. This also allows parse_str_int() to work with file size larger than int.
Signed-off-by: Joe Da Silva <digi...@joescat.com> --- libavcodec/xbmdec.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libavcodec/xbmdec.c b/libavcodec/xbmdec.c index d19bdaee23..2ce70204cf 100644 --- a/libavcodec/xbmdec.c +++ b/libavcodec/xbmdec.c @@ -37,10 +37,8 @@ static int convert(uint8_t x) return x; } -static int parse_str_int(const uint8_t *p, int len, const uint8_t *key) +static int parse_str_int(const uint8_t *p, const uint8_t *end, const uint8_t *key) { - const uint8_t *end = p + len; - for(; p<end - strlen(key); p++) { if (!memcmp(p, key, strlen(key))) break; @@ -72,8 +70,8 @@ static int xbm_decode_frame(AVCodecContext *avctx, void *data, avctx->pix_fmt = AV_PIX_FMT_MONOWHITE; end = avpkt->data + avpkt->size; - width = parse_str_int(avpkt->data, avpkt->size, "_width"); - height = parse_str_int(avpkt->data, avpkt->size, "_height"); + width = parse_str_int(avpkt->data, end, "_width"); + height = parse_str_int(avpkt->data, end, "_height"); if ((ret = ff_set_dimensions(avctx, width, height)) < 0) return ret; -- 2.30.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".