From patchwork Tue May 31 09:58:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Tomas_H=C3=A4rdin?= X-Patchwork-Id: 36004 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp2733346pzj; Tue, 31 May 2022 02:58:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyccWzxCwv/Cj/oPlcAnwGj949RcHTIPLV75iDLOC6bN/l+5tdhkWbp891JTLQgKG3gCYfb X-Received: by 2002:aa7:d582:0:b0:42d:ce84:7e07 with SMTP id r2-20020aa7d582000000b0042dce847e07mr11586920edq.297.1653991132732; Tue, 31 May 2022 02:58:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653991132; cv=none; d=google.com; s=arc-20160816; b=Fuy0iv4MHzvoI7buH65TPxCSqx56S+6eYatrCNyayaPjRaQeA6TON70hSfn7DgeUaG YxrOlmH7vsi1S2bqUXDa66wS43cEgK9N671ghKOMLSSpIsHi2Pm/Q53BaiYZvA5y9lD+ oV7wSZLppiJWABCt71SX1O1shLrGiAwTpbZasXozCPxVdmHbu3BfTI4xJQGpdeInDajX HmAwW93y+UrnjWpXnQ8W4r5+FHGBICuz0eO30e++MczW+adZ3j1ex/rEfyxhV5dZVaHG 48cibgDGkjkk0z6qneg1qM7E9qFZjMsdJS/m6rGYjfg5ZNGJDjr+T6xHquueYkODf4vj Hh/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:user-agent:date:to:from:message-id:dkim-signature :dkim-signature:delivered-to; bh=HGmegq//Kd6FRqdn49XGhIiecY49LZLdS2vq3Hm61gQ=; b=ROjGxNH+T7FEES/XaCdbEy0fI3S1Swm/iu+6B5tVgXYG/5NptKkXFksSykwcEZfw7s tFqSfvTPKcsJECuEdbpi9KVilRcKf/A9TiI2xDCCv9g3xJqXNJKZ2NnTvXB0pM1+gvM7 7d87P46t5V+d7cGfuYURiVboArXzrWKUihqqOVbsivsaH7qYvRo1CrADTNhaELdsH2w+ NX9XBzZvRAc8gk9fdZy9cudp+J2bkJHa2vrOSuSJUF/xBjO1XgwF4V9H2htKNIa1gacv Jsa2K871wK/zLiNRo0ZAO7of7na93H9QQoVj+FxCz5kH2BSaCb1ZTB4j0jsJSkXDRT2A WUjA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=rQeTncob; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=rQeTncob; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=acc.umu.se Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l25-20020aa7c319000000b0042dd024cd6csi1367094edq.485.2022.05.31.02.58.52; Tue, 31 May 2022 02:58:52 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=rQeTncob; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=rQeTncob; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=acc.umu.se Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 57F0D68B64F; Tue, 31 May 2022 12:58:48 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail.acc.umu.se (mail.acc.umu.se [130.239.18.156]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7999768B60C for ; Tue, 31 May 2022 12:58:42 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id D35FF44B93 for ; Tue, 31 May 2022 11:58:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991121; bh=LPaE/MFxNViK3XQq4VqCB6N+4sp9Yg3G473Yz7Fe0hA=; h=Subject:From:To:Date:From; b=rQeTncob1T7+4yR891Y4TDecgNEnbDAUDqwGq7BCw/eq0yeEBc/OTT2jAaHAPqzA4 wG6pc80hJRx8bXMp3BqqMnC1qg1YrDEM/vijhjaMu1w153SgVBWYFC4gLjooVfj8+Y pm++7UmGubFHGDKvKB9rt4RlyEpYHBNOmS8LmqSh2QX4eCR34eioezKy3+xyxjMmsu Se+8P0rVKHqcBwolQeXr85r7Rd0x0SnaBCNQt0Bb0c7jbAGJ1F46gGO7d3wEZS4s24 U0YCE4bkQTUTz63ZEsJzFB8QzVLCkSCfR0XNyZVixcEVyKaN49kHrEfa0kRBsV7f3a Sm0aQC6WYckSA== Received: from [192.168.43.169] (host-95-195-143-122.mobileonline.telia.com [95.195.143.122]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: tjoppen) by mail.acc.umu.se (Postfix) with ESMTPSA id F03EE44B90 for ; Tue, 31 May 2022 11:58:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991121; bh=LPaE/MFxNViK3XQq4VqCB6N+4sp9Yg3G473Yz7Fe0hA=; h=Subject:From:To:Date:From; b=rQeTncob1T7+4yR891Y4TDecgNEnbDAUDqwGq7BCw/eq0yeEBc/OTT2jAaHAPqzA4 wG6pc80hJRx8bXMp3BqqMnC1qg1YrDEM/vijhjaMu1w153SgVBWYFC4gLjooVfj8+Y pm++7UmGubFHGDKvKB9rt4RlyEpYHBNOmS8LmqSh2QX4eCR34eioezKy3+xyxjMmsu Se+8P0rVKHqcBwolQeXr85r7Rd0x0SnaBCNQt0Bb0c7jbAGJ1F46gGO7d3wEZS4s24 U0YCE4bkQTUTz63ZEsJzFB8QzVLCkSCfR0XNyZVixcEVyKaN49kHrEfa0kRBsV7f3a Sm0aQC6WYckSA== Message-ID: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 31 May 2022 11:58:39 +0200 User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/8] libavcodec/jpeg2000_parser: Speed up long skips X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: qQndvwm5xl0d From fedd7f9ae2c691a25c37be935d7547be61d46017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Fri, 20 May 2022 11:38:25 +0200 Subject: [PATCH 1/8] libavcodec/jpeg2000_parser: Speed up long skips --- libavcodec/jpeg2000_parser.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libavcodec/jpeg2000_parser.c b/libavcodec/jpeg2000_parser.c index 2975e71482..9fac958dfa 100644 --- a/libavcodec/jpeg2000_parser.c +++ b/libavcodec/jpeg2000_parser.c @@ -95,6 +95,17 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ state64 = state64 << 8 | buf[i]; m->bytes_read++; if (m->skip_bytes) { + // handle long skips + if (m->skip_bytes > 8) { + // need -9 else buf_size - i == 8 ==> i == buf_size after this, + // and thus i == buf_size + 1 after the loop + int64_t skip = FFMIN(m->skip_bytes - 8, buf_size - i - 9); + if (skip > 0) { + m->skip_bytes -= skip; + i += skip; + m->bytes_read += skip; + } + } m->skip_bytes--; continue; } -- 2.30.2