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 From patchwork Tue May 31 09:59:15 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: 36005 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp2733523pzj; Tue, 31 May 2022 02:59:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx5O5VBYMVaAGi6pAwsxEUhnINCFe+0IeUnOUoRJUPYQVo9qJWDfFALLxSfllyzsMDcUHvr X-Received: by 2002:a05:6402:2753:b0:423:3895:7031 with SMTP id z19-20020a056402275300b0042338957031mr62014532edd.170.1653991163064; Tue, 31 May 2022 02:59:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653991163; cv=none; d=google.com; s=arc-20160816; b=lp5GrDnqBoVXOcMEi1wdHwjQzthfkW/iB67w/HQhHrPR0tC/w8JMkbyMYTSN4Y3mWC EWJEZkd11vxmZqOwYb8YUdd+ikBiNP+Q3jVYs9zR7VOQIT4jH4bpCAZXNzUZIukaIDAM 6sGy6sd/Rr5l/hkLLT4nlNeWxHHRufZIksrS68LTpbEWDXFGpCI+Bw8ykpM4n84QqslX /25m8PdsNjs1BKgutwsRddwIs+4zVPnhFYA4Dr1a/aul0C4nhlNaflEJsuLnMVxP8Oii mWFBZb1RZvBXE2vSSBGvUvt58522uNY/z51DGaDaADo1Zouc4dlXfsFYzMAvJdbE5M6f DmNQ== 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:references:in-reply-to:date:to:from :message-id:dkim-signature:dkim-signature:delivered-to; bh=9B8/kXbQ+mBuSO22NbdkC0q9xJ/oh/urjsznWnPdduY=; b=Q3cjiaz+Y5mFc4k8MJLuPAZWIv8voO1fR99FUwUWXPESbDNvIH3O4uMT4yd+0NMcQF +SZ+zhkVyUmVF9xNVKDMcDqygw8x9Q1w+r3FqAskMsP0HUat62tLkPJyugz+kGJbX33Z iOVoXsdKWbSBEWK0LgB/GZfLP8UmH7fT+dJouU+7dWrDWfu2dfkPvpNOeRfql7BUUDdz R1j7Sqpzd/yP9q4PfSSBdeCZOTMNe6BWjmVaV31QVyCz17C7UpFBnI2x2NkucMfIcogb 8FjXx+ntA8OUoba4tVD69EdFrONnA5JXjUKdH2owyDs6o9UR2zxErzmqz6SArVyAF/pP A/Rw== 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="LuRd/jRH"; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=tKITc6Ze; 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 gj4-20020a170906e10400b006e832929deesi13601555ejb.421.2022.05.31.02.59.22; Tue, 31 May 2022 02:59:23 -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="LuRd/jRH"; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=tKITc6Ze; 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 7ABD268B672; Tue, 31 May 2022 12:59:20 +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 DBAA768B659 for ; Tue, 31 May 2022 12:59:18 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id 46BAC44B93 for ; Tue, 31 May 2022 11:59:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991158; bh=lfoBYYK/xdiYF7c94J+mGXpMajwWvm8sI/JHtLbzP9U=; h=Subject:From:To:Date:In-Reply-To:References:From; b=LuRd/jRHs5Q4P3wfCtDj+27V130VNI5m/631YlPZ1qG4GuWWBGrAU2HFqj+A7a/85 8kK5G16j0uW02dWi89p1qlVLVYdTiJOVJxN2X8TNZoAzSQ+AGkVLYxTpHUaDGhGyjy NBWDZ9lJOTCUEeJBw/Tztnfsp3m2W3eXq1seP5UbxsYTJwVXbdu9zaxhESre1zPHb/ TE20E1bQ69t1i8hnYj0P3wOvFK66nFuDyJ2HsGE+3G9p5jbcjylFZ3idKAnA8fmiE9 AhIGkS4lhSquR4kD0n1sqe67ng2Xg5kLgqzVmUjmNdBGJQ+xOf7eDHPxcrifIkU/yd 6ZXpex8IP1WOQ== 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 0139C44B90 for ; Tue, 31 May 2022 11:59:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991157; bh=lfoBYYK/xdiYF7c94J+mGXpMajwWvm8sI/JHtLbzP9U=; h=Subject:From:To:Date:In-Reply-To:References:From; b=tKITc6ZenVpgBCVDgWtSuaEH5TqX5UPklWVgVMwaNPg9DI/mam334dnLbw8xeaz+m LMjvXyqpjZ8rIww8frfQqiMfOJ5PVLWC3V6LGbCKL897uaP/2o2y5VYZy753OmXnOX npYzimT3KQCWhIps2d2iOdGPtN+Ij5rlL71LgXFw2AD1u4P3GVijBJcX0goMjTnDdG mcFlxJxQGgCzdMqta+E6UCsTxl5LTfV0eC8HjeHMPfDtdyvnIsazN7xnjRfyaQFrRS 64uwNe6Ito0V6pS83VuDB9B5krP+bNAdFuESXNGH++qi0jTRnwVQWN0O93KFqFcqiR e6lezgQ13hvsA== Message-ID: From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 31 May 2022 11:59:15 +0200 In-Reply-To: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> References: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/8] libavcodec/jpeg2000_parser: Simplify, fix reset_context() 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: D/DxwZwACps2 From 4bf4593c0d4cbc36d8fcaabe9e36b39134403c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Fri, 20 May 2022 11:44:06 +0200 Subject: [PATCH 2/8] libavcodec/jpeg2000_parser: Simplify, fix reset_context() --- libavcodec/jpeg2000_parser.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/libavcodec/jpeg2000_parser.c b/libavcodec/jpeg2000_parser.c index 9fac958dfa..a7f72710e4 100644 --- a/libavcodec/jpeg2000_parser.c +++ b/libavcodec/jpeg2000_parser.c @@ -51,7 +51,7 @@ static inline void reset_context(JPEG2000ParserContext *m) ParseContext *pc = &m->pc; pc->frame_start_found= 0; - pc->state = 0; + pc->state64 = 0; m->bytes_read = 0; m->ft = 0; m->skipped_codestream = 0; @@ -82,16 +82,14 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ { ParseContext *pc= &m->pc; int i; - uint32_t state, next_state; - uint64_t state64; - state= pc->state; - state64 = pc->state64; + uint32_t next_state; + uint64_t state64 = pc->state64; + if (buf_size == 0) { return 0; } for (i = 0; i < buf_size; i++) { - state = state << 8 | buf[i]; state64 = state64 << 8 | buf[i]; m->bytes_read++; if (m->skip_bytes) { @@ -132,9 +130,9 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ } m->fheader_read--; } - if (state == 0x0000000C && m->bytes_read >= 3) { // Indicates start of JP2 file. Check signature next. + if ((state64 & 0xFFFFFFFF) == 0x0000000C && m->bytes_read >= 3) { // Indicates start of JP2 file. Check signature next. m->fheader_read = 8; - } else if ((state & 0xFFFF) == 0xFF4F) { + } else if ((state64 & 0xFFFF) == 0xFF4F) { m->in_codestream = 1; if (!pc->frame_start_found) { pc->frame_start_found = 1; @@ -143,7 +141,7 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ reset_context(m); return i - 1; } - } else if ((state & 0xFFFF) == 0xFFD9) { + } else if ((state64 & 0xFFFF) == 0xFFD9) { if (pc->frame_start_found && m->ft == jp2_file) { m->skipped_codestream = 1; } else if (pc->frame_start_found && m->ft == j2k_cstream) { @@ -151,11 +149,11 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ return i + 1; // End of frame detected, return frame size. } m->in_codestream = 0; - } else if (m->in_codestream && (state & 0xFFFF) == 0xFF90) { // Are we in tile part header? + } else if (m->in_codestream && (state64 & 0xFFFF) == 0xFF90) { // Are we in tile part header? m->read_tp = 8; - } else if (pc->frame_start_found && info_marker((state & 0xFFFF0000)>>16) && m->in_codestream && (state & 0xFFFF)) { + } else if (pc->frame_start_found && info_marker((state64 & 0xFFFF0000)>>16) && m->in_codestream && (state64 & 0xFFFF)) { // Calculate number of bytes to skip to get to end of the next marker. - m->skip_bytes = (state & 0xFFFF)-1; + m->skip_bytes = (state64 & 0xFFFF)-1; // If the next marker is an info marker, skip to the end of of the marker length. if (i + m->skip_bytes + 1 < buf_size) { @@ -168,7 +166,6 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ } } - pc->state = state; pc->state64 = state64; return END_NOT_FOUND; } -- 2.30.2 From patchwork Tue May 31 09:59:42 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: 36006 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp2733673pzj; Tue, 31 May 2022 02:59:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwZZIAKkznIOpAHFh5YH05Kcpw4+noY2et4Jlh9061SfKMmiMoa1K7hlPSTc4AUuwUn9zeM X-Received: by 2002:a17:907:6d92:b0:6ff:11bb:cce7 with SMTP id sb18-20020a1709076d9200b006ff11bbcce7mr24795071ejc.166.1653991194049; Tue, 31 May 2022 02:59:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653991194; cv=none; d=google.com; s=arc-20160816; b=XGXFjn/XN+dO52hwSiahCzM7UWUl+FDVhQmXQMnYsWi2T8f/7ay9hORtScECjDR1F6 aDxp2MBrWrvyIMvxB3MKubZ9n7sy79gqxDlCJ0rLz/ENFlZ8ZpjrgXD6I5Z9XBWxo11e 5+lLnD/rom5sJVVV1baW3J/LyFxPt5/vfR9kAzwlYgQ2iqscdyILqTedA+N1d3WXlT2i ifpffZmwrI28czHXrk2pURq62GojzNTtO5/XiRHvqj2Jcelb12FHVmLq6a6YfCl6In4b XQ+932qtsDMgUuQip0GY0sBYjTBssJNykZzvxdfVVsABctH2uRRQQYP4Jwts+cC2zwIp oXow== 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:references:in-reply-to:date:to:from :message-id:dkim-signature:dkim-signature:delivered-to; bh=1G8YSGejn/x03H2f04OZ4xJ0QSTV0gpDWK2H8uG4QyA=; b=ep1DnKnYF68XzmlaP619isoPRqxddrFuTCiUVNtfBrTpgNXb3vxUIRJQq4vq8brotF u6Wwhg89mK7TD7lTfc8XyFo3sKhJ2Zmgj206Cr4TOG/B/xFEZZg+W2NSu07jOU0r4eIb RP/cazOdL5rTGuKq7ANzk9PWAbk1zzi+TF57rrLSiO+Pv1norlyB1u/UZhiEzfWhvy15 fvAQIEjyVl8Z6jOeo7VB/C+W1ZxYm5Ekd9ixW9c7XfKsuniFgj4qAaNin0lO6UJtXbsd b3nNmSJfwrjH2lAV+7Lo7TFAap3PKmWATbcG+8TwywUduhI5DBSRGV1Clhyf9n9VsqXq z6+A== 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=F59xLBZ8; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=F59xLBZ8; 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 i25-20020a0564020f1900b00418c2b5befdsi9451871eda.479.2022.05.31.02.59.53; Tue, 31 May 2022 02:59:54 -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=F59xLBZ8; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=F59xLBZ8; 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 8CED068B67A; Tue, 31 May 2022 12:59:51 +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 2793468B636 for ; Tue, 31 May 2022 12:59:45 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id A4EC744B93 for ; Tue, 31 May 2022 11:59:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991184; bh=FqVxsU77a5ec1fLn5R8FQaru7q2ETnQv6CC1HXo84eE=; h=Subject:From:To:Date:In-Reply-To:References:From; b=F59xLBZ8I+uTmM05l5FMDUIsNYLIETI643zQT2JnH9ITBxj25rF+Cmj160mkeFlbp 0az9PS6NBKFyRCkpOaAx3FedRVcUJazXKRKvMvu4E/+HjUFe2YFAtxXKxgAy62SH4a u78nlNeJwjK48XeXMTjfzKyr/VceVt+0BeJg1BYgGe4XS/Rk1qDWzVDfE0Z8XFWND1 PbMBgq/KOZPVnAZTauUQUapyG+ywnNZPX37k6QQJf69e5eEj8amZr6Rjjgqttz87HZ 6tzOR+TdkBgy3Vjrb+ljgD1wUJdrg0nknF7UoqkPiES9z04TZWgsczdjtGvvxY2SWf wa4Kmr5U9Ewyw== 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 0A74D44B90 for ; Tue, 31 May 2022 11:59:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991184; bh=FqVxsU77a5ec1fLn5R8FQaru7q2ETnQv6CC1HXo84eE=; h=Subject:From:To:Date:In-Reply-To:References:From; b=F59xLBZ8I+uTmM05l5FMDUIsNYLIETI643zQT2JnH9ITBxj25rF+Cmj160mkeFlbp 0az9PS6NBKFyRCkpOaAx3FedRVcUJazXKRKvMvu4E/+HjUFe2YFAtxXKxgAy62SH4a u78nlNeJwjK48XeXMTjfzKyr/VceVt+0BeJg1BYgGe4XS/Rk1qDWzVDfE0Z8XFWND1 PbMBgq/KOZPVnAZTauUQUapyG+ywnNZPX37k6QQJf69e5eEj8amZr6Rjjgqttz87HZ 6tzOR+TdkBgy3Vjrb+ljgD1wUJdrg0nknF7UoqkPiES9z04TZWgsczdjtGvvxY2SWf wa4Kmr5U9Ewyw== Message-ID: <6ed6259c6d9bb5145610c88d1694abdc8a869cf1.camel@acc.umu.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 31 May 2022 11:59:42 +0200 In-Reply-To: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> References: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/8] libavcodec/jpeg2000_parser: next_state is just a temporary 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: HpDulijNgzw0 From 682701613a9b816aac9e75848216e3c7e6a12974 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Fri, 20 May 2022 11:45:23 +0200 Subject: [PATCH 3/8] libavcodec/jpeg2000_parser: next_state is just a temporary --- libavcodec/jpeg2000_parser.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavcodec/jpeg2000_parser.c b/libavcodec/jpeg2000_parser.c index a7f72710e4..c6d8416d43 100644 --- a/libavcodec/jpeg2000_parser.c +++ b/libavcodec/jpeg2000_parser.c @@ -82,7 +82,6 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ { ParseContext *pc= &m->pc; int i; - uint32_t next_state; uint64_t state64 = pc->state64; if (buf_size == 0) { @@ -157,7 +156,7 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ // If the next marker is an info marker, skip to the end of of the marker length. if (i + m->skip_bytes + 1 < buf_size) { - next_state = (buf[i + m->skip_bytes] << 8) | buf[i + m->skip_bytes + 1]; + uint32_t next_state = (buf[i + m->skip_bytes] << 8) | buf[i + m->skip_bytes + 1]; if (info_marker(next_state)) { // Skip an additional 2 bytes to get to the end of the marker length. m->skip_bytes += 2; -- 2.30.2 From patchwork Tue May 31 10:00:05 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: 36007 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp2733870pzj; Tue, 31 May 2022 03:00:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwQxRuqWlu36FDL7IhvV6ytPw/ANz1t1FbS6vK/Y+cHjD1qSAIJT3kXAQgttGUqaStHy19I X-Received: by 2002:a17:907:908b:b0:703:9e42:3d07 with SMTP id ge11-20020a170907908b00b007039e423d07mr693910ejb.748.1653991220159; Tue, 31 May 2022 03:00:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653991220; cv=none; d=google.com; s=arc-20160816; b=LMSDAiV3cYSNgeQpA0WKR0xtf42trAuoqWx9aDBh9fzsZMHJAftc6UyztwqasrHoQC pCzukonefWim2+PfyzCTGw/rCLqrJjYemzqrM5aRl42IJGI4Woab5Sd+H7+nUBqWWumU cn4m8txTcM4WSuA95JpVmzOyw/ac7ExVNyREftAvdbk/l9+nHeMpbfbXBurA4g+OYAnA Rpl4QXk4PfKjO/lMFqcrLy/Q7+uSxN4XwdxUcNBhWCqOjb3QNoxuo5o2T5+OOLUVxQjQ jUCRcXZamauztXiXxyUd5yHU8taMK4V+AkQt857kyDGwhWSwpYozWWUygRKmU0LY4XTp g2Dw== 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:references:in-reply-to:date:to:from :message-id:dkim-signature:dkim-signature:delivered-to; bh=IsgQ7XMYNmCHq0BdRpgoc5HqjhWnVxux5X299/1PDUo=; b=VHtyOv3m5wgP02mG0inAuUbzAAYTk7ADtzT6mc7TPt6sEoyIxXYUs8f5o2dsLCqht8 lRxoWMVGELqVxg9h31+TYsBNFPEzrfrjxJgHWTzrBDd5jiHiah5rk+6vH/IRPP7V4hs6 406a9jYDYSCGIgkkdikU5FU9UrtFZiHqMZXgLHJQuEqU3gOgxylOiiHh6rNr+Mm+MpWB Lf54C+x/YNXIM1oGY3Yg532kvh6gYYzpRAoYT4R+gV7RlBWCMEZAVVcmOuk49XSWPhEd IJXujKZslud2Hadb6w4WcalOboMIvRzE07tzFSjRe6wAblqRZNfAUsDdTL6Or218kTFM w4qA== 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=E7mAdonb; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=I9AZhhxF; 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 le8-20020a170907170800b006f3997f2199si12924182ejc.328.2022.05.31.03.00.19; Tue, 31 May 2022 03:00:20 -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=E7mAdonb; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=I9AZhhxF; 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 934D768B683; Tue, 31 May 2022 13:00:17 +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 279E668B649 for ; Tue, 31 May 2022 13:00:11 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id A9F2C44B93 for ; Tue, 31 May 2022 12:00:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991210; bh=zauePxnRc+a+AOZCGJPCCmk8IdASFAJfIjPsuI/zmpA=; h=Subject:From:To:Date:In-Reply-To:References:From; b=E7mAdonbM8RIN6N+RY2aICqcPuZZx3GaNkcciy085BasrFAb1iKKgaH+POHMxiGox xisqz7ytxzP6EyDT1a188VZvyOXfPNvqE+tzW9F5g1Xx7VzB/LrDhEp0q823xckk3Z /gd0BLdANUGYG7Mb57IgsKe+L+IPh5CkblKkAK+4YVwv60viOMi6rT9E3+KCckjs2z jZqLNyr0z6sTIoYarSoTQ5sJIY1wOD9+Ex4z0gOtgVeGXYahQj89K5Iv8TZ7tfoJmh Lmc7RujfpD/e7gQCJPaBrJHqilxd2EAzg8x24lKnqYL/dlHhCoex4f7RiVNP9GgN6V oXcSHwYQIjBCA== 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 2DEEA44B90 for ; Tue, 31 May 2022 12:00:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991206; bh=zauePxnRc+a+AOZCGJPCCmk8IdASFAJfIjPsuI/zmpA=; h=Subject:From:To:Date:In-Reply-To:References:From; b=I9AZhhxFFykWcTg2zv0S6TWkmiKFEZ+98ou/kUTdwDHKt+sX8bdyAqwe6IXBjc//4 z0zEgzgRplvIoPzE2Yt6MdASIHlHqQ27S5kj0A+5lamQ0Z4z+HpES8ViSbrGjJ16Ja gC+rQ6/ve5CyIYpRpjc+CpNoS9P+21WHM3G0A44aBXtduzEFgTYahsTfIgIPx20m3R fXjWqUOFeUYrwX4OyFnW4BwAXuP5IOpWN3jyyaL0hWt4rFM2DF6PeE/2SzLUVDcEE1 WmJ8NpmUXkRxndcsO3e0o9jLyIpsHjMHr89Isn1M1xp96k+RqhwdlgTw2IWDP0inQ8 1KfyP36LNhERA== Message-ID: From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 31 May 2022 12:00:05 +0200 In-Reply-To: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> References: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/8] libavcodec/jpeg2000_parser: LUTify info_marker() 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: RIGY1GIF/Iba From d84f106d1eac7a3ea98935d11dc65e0afe8a8fb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Fri, 20 May 2022 14:41:38 +0200 Subject: [PATCH 4/8] libavcodec/jpeg2000_parser: LUTify info_marker() This speeds find_frame_end() up by 39% according to valgrind --- libavcodec/jpeg2000_parser.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/libavcodec/jpeg2000_parser.c b/libavcodec/jpeg2000_parser.c index c6d8416d43..88e4a142f8 100644 --- a/libavcodec/jpeg2000_parser.c +++ b/libavcodec/jpeg2000_parser.c @@ -65,13 +65,25 @@ static inline void reset_context(JPEG2000ParserContext *m) */ static uint8_t info_marker(uint16_t marker) { - if (marker == 0xFF92 || marker == 0xFF4F || - marker == 0xFF90 || marker == 0xFF93 || - marker == 0xFFD9) - return 0; - else - if (marker > 0xFF00) return 1; - return 0; + static const uint8_t lut[256] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, // 0xFF4F + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xFF90 0xFF92 0xFF93 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, // 0xFFD9 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + }; + return marker < 0xFF00 ? 0 : lut[marker & 0xFF]; } /** -- 2.30.2 From patchwork Tue May 31 10:00:26 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: 36008 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp2733987pzj; Tue, 31 May 2022 03:00:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyM8ovcTCc6PM703+Cp9f8WDp4/pWY5SyCRM1gNZ58+qFGwCM+7jpNBcVQtmDdmm+5rpGtl X-Received: by 2002:a17:907:94c7:b0:6fe:d85b:e101 with SMTP id dn7-20020a17090794c700b006fed85be101mr36759274ejc.533.1653991233707; Tue, 31 May 2022 03:00:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653991233; cv=none; d=google.com; s=arc-20160816; b=o9VaNQkzQncWoU/s2XMuc/vhJXWyqaGD2GbeEf4askk4Ch6YKH+5wmVQqZgnrendsj hPefkpblEcbtlfgiOhZeBk7Z072PY3dnvll0odW9m6c//E2/KTBf+6KNBG7WBanuqe94 g10nkUqRjJYcbNt1pYie5FgRcX3XNTOesTzljCqnwusekaFOhD6zKr5kt90VH6e820rb /Mf4movGhoWqhYQHe7fM5akT6bJ3NlGjv2an5MC1RoGYGg0E+b8LWZGaLfYoqi7ygw5L usbZ3692uNCuHbgdaVSNZ4+1ltDUvQrmUvtMSPmEHpeuN1fGHsIqy4USVwWSU3LLfdxV +YLA== 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:references:in-reply-to:date:to:from :message-id:dkim-signature:dkim-signature:delivered-to; bh=eCJcjEwO3DeLDcNYATSmcwhy3oVPj1pWtCTHyRJ6FVw=; b=qBUgx9mG3eY/yifKhsBPM/PRVqYbFapf4L2Ae5W35u+dwwzLrgKgH0DTNPMfkz8eLi 36+P6yvZZneY56wD8kHjczXjeLzmqpum000jVsKOzF++wK5GFVocVwyAdTlTMs/Nvd8v gurA2jfJ+kmD8UTwkSRENnX01H5EvwellLMi3P9H0Qm8Pho2cR24+ZtSQMrWO05gbGxN dP7RHIOVFUv+EtL4LZJk1ph7An0B4qg5JNzyRqLfnk9sgplmXG8yyqInoGmbyMQLhQLH 0LxEnfA6VYRTxwJTAZ4Xwe4Nh6awWdAr2CidbtRnLt75RMKz+ktc1T1Uh4OzK3BL5NAA v0sQ== 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=bq62nCAn; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=L814M80U; 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 f24-20020a170906c09800b006fec6d8ca1bsi9629554ejz.919.2022.05.31.03.00.33; Tue, 31 May 2022 03:00:33 -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=bq62nCAn; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=L814M80U; 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 90C5368B685; Tue, 31 May 2022 13:00:30 +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 DB88568B685 for ; Tue, 31 May 2022 13:00:28 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id 518E344B93 for ; Tue, 31 May 2022 12:00:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991228; bh=BiGn+ZLRp91YfNDu719KeFjOxKjv+KnYV/yVKDq9Qc8=; h=Subject:From:To:Date:In-Reply-To:References:From; b=bq62nCAniSxKzSqYETzFh1WKbKPDeXQc6D3nySWLuj055dTIdyHRxI3omjG6zCdWC w2iFBvOaiCAZOC5WHPzzKZuLFwJBZdihofvsjiSiYFQ6QcKEFKJXTNi/60NPAkrEQo ywd5l15oCpGOa6jRzmKhLNLLZwZhbqmF9tcLB7fg2hK//jmsRjInxkQGu4iS+bkzMG SLMdNEc26AGtQKp4TCww8HOmTzOmEI+c7iHPhKx/Eqgh7vUvMyZel3m2Nb8uOag/RU 2KWvAB7p1GDYh8xjU97cHmt0jUhJt1La6t9qVB4Ds00ciaAqpn9NFWIvCMGioVD4dH g6k+mkEDY74lA== 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 A21DD44B90 for ; Tue, 31 May 2022 12:00:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991227; bh=BiGn+ZLRp91YfNDu719KeFjOxKjv+KnYV/yVKDq9Qc8=; h=Subject:From:To:Date:In-Reply-To:References:From; b=L814M80U85uZuVBFiLcprqiVC0b4O0Wros3+Ed8D0k90rJHrmb2VJ/LzHeNdWN8Eg 340/mCUGki1jXGo4xehfK8ebHaIqBYMoSk3kC37Ug5XSFDIrrDxVPL3Lx/hqMcXLtO mCHjxCog8NaiVu/GzcLZHoCVOKRG+LKM38c9bmR78LQCbLBf4pwB9bVDA86tmiTifV n+SWA34CzOSYa4DufX0mBZ0jr+zIXzIAReczQZAsXFi7Hx+s/vrwakJjv3PuddMOAk yKGRwQNddt68dk7WMc4OqwCDUJChGyOTDpwa+dOyiCGVvjwGgLPRXgk3odJ0bzs49n y/IF4US2XU7Yw== Message-ID: <5183c4e7d92b53d7a55c724195d2f2415ad32909.camel@acc.umu.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 31 May 2022 12:00:26 +0200 In-Reply-To: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> References: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/8] libavcodec/jpeg2000_parser: Rearrange ifs 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: ujgbFF1swvgC From 68add7a3abb85d84e484ae58b1661d7bbf66c04d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Fri, 20 May 2022 14:44:54 +0200 Subject: [PATCH 5/8] libavcodec/jpeg2000_parser: Rearrange ifs A modest 8% improvement --- libavcodec/jpeg2000_parser.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavcodec/jpeg2000_parser.c b/libavcodec/jpeg2000_parser.c index 88e4a142f8..bd966b3acf 100644 --- a/libavcodec/jpeg2000_parser.c +++ b/libavcodec/jpeg2000_parser.c @@ -160,9 +160,10 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ return i + 1; // End of frame detected, return frame size. } m->in_codestream = 0; - } else if (m->in_codestream && (state64 & 0xFFFF) == 0xFF90) { // Are we in tile part header? + } else if (m->in_codestream) { + if ((state64 & 0xFFFF) == 0xFF90) { // Are we in tile part header? m->read_tp = 8; - } else if (pc->frame_start_found && info_marker((state64 & 0xFFFF0000)>>16) && m->in_codestream && (state64 & 0xFFFF)) { + } else if (info_marker((state64 & 0xFFFF0000)>>16) && pc->frame_start_found && (state64 & 0xFFFF)) { // Calculate number of bytes to skip to get to end of the next marker. m->skip_bytes = (state64 & 0xFFFF)-1; @@ -174,6 +175,7 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ m->skip_bytes += 2; } } + } } } -- 2.30.2 From patchwork Tue May 31 10:00:51 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: 36003 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp2734166pzj; Tue, 31 May 2022 03:00:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyJuZJUKqAlA9eQ+eEHHLl+zuOrRUDC35SBiV5sotAnTGN2cMbVYIJhyiWIN4kZebJP7cdT X-Received: by 2002:aa7:cd52:0:b0:42d:d656:a49f with SMTP id v18-20020aa7cd52000000b0042dd656a49fmr7489309edw.383.1653991258278; Tue, 31 May 2022 03:00:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653991258; cv=none; d=google.com; s=arc-20160816; b=DVZcMdaUBWdtMz3h1R3IIeq01UbXP1R49KDjPDBgPtZJKIakkHG6sazeulpCpcO98f jriwro8Z8CgrqXyENArQeOuSXVZLf5XmKrZSFeiCqtmbjY/iN/Umlex5br0dYjosYak3 WQoawPI2QucQ+s3vCReZEudh6u48yuYnZc4htqs/QuI1buvsAzXdb4W0SfrkyruGCJAm tIVHfxlOIuSKCk/2yYbBz+tc6k7h2rwE3tO43POlqx1+P1DU4KdkAOhun/ifSClIQawM pelCG8/b1dp2hHYvQg8TBc20Fz02MRdfJRy97MVByQaaZtuIYi4w7jw4vHFl9z+HafMn QU2A== 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:references:in-reply-to:date:to:from :message-id:dkim-signature:dkim-signature:delivered-to; bh=A/ZUuzzdcqtj4oDsAqaAU29e/llCuj+4wm6QhPSqiZs=; b=NeTOTVtMUvSyVVcRY9dImeOyUvz009r3BGuzPM8KQFs/p8kkwbENXXeVUZ1xJxZYgX KkbQ2BcaJ3N+duv9UQY+ZXrDuMJgStQxCGtEGHnQ69X+dACQIgGWZqq/v0nS1AbdfyPv H3A15fX8+zQ1IqmG9aBtgNeR9WDdF88fGUzgl4KLXObZYLMyrOd2N0WZYhaEM8msTzv0 Xl3tWc57sih+NxdPujVoh0YBx0CAYv2QGeVyQ0pobAJTZCZh3uq+mIxk8DyFfi0bpEel jZF01mr8C3m16+gcIgoYmBD8A8DCAKCb4Zh59rrmrANxcax80uIQQwwKz57ELI3JRwtU g4+g== 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=orIwVZK7; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=orIwVZK7; 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 x5-20020aa7dac5000000b0042dc89f0dfasi7001496eds.375.2022.05.31.03.00.57; Tue, 31 May 2022 03:00:58 -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=orIwVZK7; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=orIwVZK7; 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 9B6FE68B679; Tue, 31 May 2022 13:00:55 +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 428D068B677 for ; Tue, 31 May 2022 13:00:53 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id A1B6C44B97 for ; Tue, 31 May 2022 12:00:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991252; bh=ojwStQCYdbA4Ml3LUZwFDAC5A+Rl0bc/TohheFITIbk=; h=Subject:From:To:Date:In-Reply-To:References:From; b=orIwVZK7DhhS0b2ZDFMWSXWCYZz/zXA9yvUqZr4hh5BQetrrNH7bv8ZHaAe13qKnI TFPd4OLCdBQZ+mQZJe5UtfGoq2FNge8/Q+2BUO49BgqrTMl1xPy4QTGo3mjcKIF4hO kEwZ7vkqlhXZOAG/6i1jDqKk1PSijmbboEstaMJCL9zblC7a/TJcWGQhqXqEURz1Ig AVPEFwomCOonXJkSzHMx9ERoVwtjpbxIDcL50Gt619FZl2WbMeXnBi0jdEKYW6Nk8H dji7O5g88cOgSQ7r3TPbauW2EexXXsBS36j4xrxo3GYOjxRatVe77s0PvgtFIHDoVu 7hTWCLd09l+ZQ== 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 034BC44B93 for ; Tue, 31 May 2022 12:00:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991252; bh=ojwStQCYdbA4Ml3LUZwFDAC5A+Rl0bc/TohheFITIbk=; h=Subject:From:To:Date:In-Reply-To:References:From; b=orIwVZK7DhhS0b2ZDFMWSXWCYZz/zXA9yvUqZr4hh5BQetrrNH7bv8ZHaAe13qKnI TFPd4OLCdBQZ+mQZJe5UtfGoq2FNge8/Q+2BUO49BgqrTMl1xPy4QTGo3mjcKIF4hO kEwZ7vkqlhXZOAG/6i1jDqKk1PSijmbboEstaMJCL9zblC7a/TJcWGQhqXqEURz1Ig AVPEFwomCOonXJkSzHMx9ERoVwtjpbxIDcL50Gt619FZl2WbMeXnBi0jdEKYW6Nk8H dji7O5g88cOgSQ7r3TPbauW2EexXXsBS36j4xrxo3GYOjxRatVe77s0PvgtFIHDoVu 7hTWCLd09l+ZQ== Message-ID: From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 31 May 2022 12:00:51 +0200 In-Reply-To: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> References: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 6/8] libavcodec/jpeg2000_parser: Reindent 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: Pp0cfbWcN8TN From 96fc66ca55a306575faf6d3b17ea58aae4c6c046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Tue, 31 May 2022 11:37:55 +0200 Subject: [PATCH 6/8] libavcodec/jpeg2000_parser: Reindent --- libavcodec/jpeg2000_parser.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/libavcodec/jpeg2000_parser.c b/libavcodec/jpeg2000_parser.c index bd966b3acf..e66ef0e1f0 100644 --- a/libavcodec/jpeg2000_parser.c +++ b/libavcodec/jpeg2000_parser.c @@ -161,21 +161,21 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ } m->in_codestream = 0; } else if (m->in_codestream) { - if ((state64 & 0xFFFF) == 0xFF90) { // Are we in tile part header? - m->read_tp = 8; - } else if (info_marker((state64 & 0xFFFF0000)>>16) && pc->frame_start_found && (state64 & 0xFFFF)) { - // Calculate number of bytes to skip to get to end of the next marker. - m->skip_bytes = (state64 & 0xFFFF)-1; - - // If the next marker is an info marker, skip to the end of of the marker length. - if (i + m->skip_bytes + 1 < buf_size) { - uint32_t next_state = (buf[i + m->skip_bytes] << 8) | buf[i + m->skip_bytes + 1]; - if (info_marker(next_state)) { - // Skip an additional 2 bytes to get to the end of the marker length. - m->skip_bytes += 2; + if ((state64 & 0xFFFF) == 0xFF90) { // Are we in tile part header? + m->read_tp = 8; + } else if (info_marker((state64 & 0xFFFF0000)>>16) && pc->frame_start_found && (state64 & 0xFFFF)) { + // Calculate number of bytes to skip to get to end of the next marker. + m->skip_bytes = (state64 & 0xFFFF)-1; + + // If the next marker is an info marker, skip to the end of of the marker length. + if (i + m->skip_bytes + 1 < buf_size) { + uint32_t next_state = (buf[i + m->skip_bytes] << 8) | buf[i + m->skip_bytes + 1]; + if (info_marker(next_state)) { + // Skip an additional 2 bytes to get to the end of the marker length. + m->skip_bytes += 2; + } } } - } } } -- 2.30.2 From patchwork Tue May 31 10:01:12 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: 36009 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp2734354pzj; Tue, 31 May 2022 03:01:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwCKf/RVIFtP8O3Cfc1KHZ8+Kyek2S2gce6uVJbgSvMkCb9UeauxFc745nR4vahi6ERr+MG X-Received: by 2002:a17:907:d05:b0:6f4:3729:8e36 with SMTP id gn5-20020a1709070d0500b006f437298e36mr51049350ejc.475.1653991280177; Tue, 31 May 2022 03:01:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653991280; cv=none; d=google.com; s=arc-20160816; b=p1eEu5qOO4+nHs2UEfC/YodZi4LgcibaJ3wij9IkcCM0EK+vfw9sI6BEX4bdsVLp6r qd9gqQog/V5Pb8Iqb4q//GHEXGXbyzXMNetjGzHLRba8pLxT4cXPawL0TqPZXHodNz/a L32L3J8jJgJp5LyeNa/1nzBc0RAqxmFrZ4rOIBu+MLIM/f8IikeU4aG7bP0q0x0p150r dzNZj8EXYhu6hsNrqzuJcI22/y93wMah7CCsG+KiCBAA0TmrRSSCTYsN6/quw2TQOy1p fEZcKp/h/UV0L4hqtJ+69qd7kjJ0lByitgOLucjcxuHge5prd1ePUi1jYIWu/v38fYq4 8Irg== 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:references:in-reply-to:date:to:from :message-id:dkim-signature:dkim-signature:delivered-to; bh=GtT2MqYgagzMFmqgMMbRe5EytjDyY4avcmshJ5M+snk=; b=SiGldsMZXk0emvi84yhNAfVy6qm1d9vJTRRJZvWnNZJTh8mLaJDDwnrIP+IEU53EaS 8+LUvDHFJlrn0IQ2dVWwWvyYb0zUjUJgyfFhfgYqqH7lnPJKs9YIR4ccOdjy4+jyECd6 X2Z0AKyWkDAfbR9vnRTk2rnE/lqhaoTcfIH1JzYlAFZw5zanUCOkQ275T0gBgY9vpoWy AC3KofhMmTVcCFV/JRz1vIg7PQdM+rEHUXGopKbXkyeFejFxtYurnce5TjeKyI9UDr6d dEesUEvbF1szbtuX2t7f/yqldlfxtc0e32eU9Eqknh4rvYnizeb72W3DZAQk9BTOlHlz Hx5g== 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=QYppbGx4; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=DlsmSGG4; 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 t15-20020a1709064f0f00b006f458fb419bsi16584158eju.219.2022.05.31.03.01.19; Tue, 31 May 2022 03:01:20 -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=QYppbGx4; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=DlsmSGG4; 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 9CA2868B69B; Tue, 31 May 2022 13:01:17 +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 43B6068B580 for ; Tue, 31 May 2022 13:01:15 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id A7A4C44B90 for ; Tue, 31 May 2022 12:01:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991274; bh=4+6quUQrcZxXEExRxMOn7uwOQXGnfwGzLk47hycbByI=; h=Subject:From:To:Date:In-Reply-To:References:From; b=QYppbGx4LNqfGUXjCqmw8Ul3RxX+QiyUPZbh2nFy3UC7IGGv6v6r3G1t2+539K5E3 YUMIqdhhiJE+/GGL18kzMk/hmtJeidtPIbzejkkNS1a+fPzGoW8a57VEb9ENZTyfwy 7HZtfEmh/2or73GD4A0yUB4RRQ7Y6tASlkpTkw0dkB4GyU90m36lSdRztgKYnaTvma SLtRmXf/VZjwpJZQ3nddjZZL4t0JagS44AYEoJz6XUeUIwaEMo1B+y04szaFmgqEpQ dZRAUVROaaZOwYl+Uz0mlfYoVAKysTN/Wl5T0UApsniA0SCYBhMhuVCinlg7UmdI/g 3kJMIG57faQ+g== 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 7104E44B96 for ; Tue, 31 May 2022 12:01:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991273; bh=4+6quUQrcZxXEExRxMOn7uwOQXGnfwGzLk47hycbByI=; h=Subject:From:To:Date:In-Reply-To:References:From; b=DlsmSGG4t8nqR8R/I+Jug9C5nJXxWWL7Dav8b7p7YIFsPusvjKvsV1j0WeyMyAFsK Vmyy4Zy/PMFZ27l58atZJ13nN+XeG/kaHyXGnuZ+5jYC0qQGcHGJ55+m7zqlRAl5WV YeSb7h1WLvU1KT/NgdLA9ptAlHCozuHyQhbr6Pg6BbDUXCY5d9FhJ7OvZhywHtInlc w+wW3XiLGEW3Fx34s4bv/XGIwNEvzZgE/1uiB1N9k5KlFAVoCK/rKoWexEydPJObIx o6OaGPMQOsR1lDhaAMuySwq9/YkH3FUMqjQCkHlHB6Y9IdVlK88QDWz7NHD3+QZnyR m2EoPVrAlnyaQ== Message-ID: <497a7012a874adea218562dbb405e87996fa77f8.camel@acc.umu.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 31 May 2022 12:01:12 +0200 In-Reply-To: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> References: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 7/8] libavcodec/jpeg2000_parser: Localize m->bytes_read 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: hJiQIPQ1guX6 From 7b5e442033f0691bddbe2c2a0292f4abffd46c3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Fri, 20 May 2022 14:50:00 +0200 Subject: [PATCH 7/8] libavcodec/jpeg2000_parser: Localize m->bytes_read Another 6% --- libavcodec/jpeg2000_parser.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavcodec/jpeg2000_parser.c b/libavcodec/jpeg2000_parser.c index e66ef0e1f0..de73196855 100644 --- a/libavcodec/jpeg2000_parser.c +++ b/libavcodec/jpeg2000_parser.c @@ -95,6 +95,7 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ ParseContext *pc= &m->pc; int i; uint64_t state64 = pc->state64; + uint64_t bytes_read = m->bytes_read; if (buf_size == 0) { return 0; @@ -102,7 +103,7 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ for (i = 0; i < buf_size; i++) { state64 = state64 << 8 | buf[i]; - m->bytes_read++; + bytes_read++; if (m->skip_bytes) { // handle long skips if (m->skip_bytes > 8) { @@ -112,7 +113,7 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ if (skip > 0) { m->skip_bytes -= skip; i += skip; - m->bytes_read += skip; + bytes_read += skip; } } m->skip_bytes--; @@ -141,7 +142,7 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ } m->fheader_read--; } - if ((state64 & 0xFFFFFFFF) == 0x0000000C && m->bytes_read >= 3) { // Indicates start of JP2 file. Check signature next. + if ((state64 & 0xFFFFFFFF) == 0x0000000C && bytes_read >= 3) { // Indicates start of JP2 file. Check signature next. m->fheader_read = 8; } else if ((state64 & 0xFFFF) == 0xFF4F) { m->in_codestream = 1; @@ -180,6 +181,7 @@ static int find_frame_end(JPEG2000ParserContext *m, const uint8_t *buf, int buf_ } pc->state64 = state64; + m->bytes_read = bytes_read; return END_NOT_FOUND; } -- 2.30.2 From patchwork Tue May 31 10:01:35 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: 36002 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp2734611pzj; Tue, 31 May 2022 03:01:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxJULXx3wkBcY7wBT0FH211tgLfz8xh8bDthxWER0qoA36c4J8qcLbJuyFH6ANpKer2+mSk X-Received: by 2002:a17:907:9717:b0:6fe:b4cd:e0a with SMTP id jg23-20020a170907971700b006feb4cd0e0amr46085468ejc.152.1653991306104; Tue, 31 May 2022 03:01:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653991306; cv=none; d=google.com; s=arc-20160816; b=jwE2k3gCm577nYZKjdudyxZKJ0NzCYOntMUd8pzAqpGy2YWuN4VNHFequLjwpNR/FV aDB0yh4ln6rleTYcCS/MRkRtKGUWf/y5YVBAtSEkU1OzxGmBzSE+aZHOKZoQDuXYxgL4 6VDV/5KWQaup8+PgqSnWrpW98g0bbFgLRwH1dMXLePYuxS5RZQ8QoLU57EuC0uTUBaUT /aU1QqTaKxhUbHnA+v0KLcArrwZNeOhspPUg59BX2c1tdcPhQn37ZFfA+dcX+1ZQ3cNR wiYi/qKC83w+Lpbw7bn4MPFs85Jdh/HbbQhrhK/4u2GimyUvJwUx3QQ1rAxKP4riGUqa CTYw== 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:references:in-reply-to:date:to:from :message-id:dkim-signature:dkim-signature:delivered-to; bh=zquQPppb48yXkLAjAT4Ktd+aLg8kSxyXizTubHtuOfA=; b=bE+e5RtTNCoolyTDhxZLt2IBx6Uy+q/bEhM/NkJRcFgse4oz2ob8Hw7k63bIgYwVov 0Pg+KVOioIvApY6Vw+S7y8/1w6iTvMV9KClntG8bJjI37YBHxAfixeOsTgTQwNTMziFS oa9DBcovdNG0gM9AW2g7+S0N5wG4bN6vNdwfhMa/eYjFf6bU2u/QTf1zFa1bi39GyThZ C8UUIXl+mYPFaxaGQM8c+at/GIAFXiS7PP1hD+bn9q54311cEo3SNYzWyX9fFAshvOYq oYufjdc2QqW3ZUF0XkQbvmHVMGB2t7Qy5kHCpRbSZe1NrYwAZR8zKlpkPtFXt749NnfK fbcg== 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=cEZXBe8l; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=P3FWCydP; 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 js17-20020a17090797d100b006f385c98ca8si12922782ejc.615.2022.05.31.03.01.45; Tue, 31 May 2022 03:01:46 -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=cEZXBe8l; dkim=neutral (body hash did not verify) header.i=@acc.umu.se header.s=mail1 header.b=P3FWCydP; 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 A33D268B682; Tue, 31 May 2022 13:01:43 +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 5665168B682 for ; Tue, 31 May 2022 13:01:41 +0300 (EEST) Received: from localhost (localhost.localdomain [127.0.0.1]) by amavisd-new (Postfix) with ESMTP id BDC3444B93 for ; Tue, 31 May 2022 12:01:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991300; bh=c6kijJ9xipZgnrx8PisIhcXhJYVT9Gnq4nAILq4g4G4=; h=Subject:From:To:Date:In-Reply-To:References:From; b=cEZXBe8lMCXceY1S9b6GdNzlopfpJuhIlKyv3axfszgP2hgEtRfJr4PKkGiyaRbZp 1X530fkA0DAMEhuoTuLob26DhKQALypISbBdX6cGoexYlI4wtcSTBEpP8qBQHQ6gpa acF9srJfAEQte5RfXPCyacqmXicShUxIyCW0s7IHPitrVKGAizvXvVG9kXBhnoapwC uJVXWFv8PnKS4giCCQ4HZg6qDNWxZ7DGMNsPcTuKT4lDGhEDAnSTUaTYwgUqNprunD q6aFiC6rJ/tnvbwrhjY1ofQeTu9MuuJOpa+WAlbCKz9KqjBSuuuxYfxiorjnNt6wVx ie7aC8+15urTA== 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 431DA44B90 for ; Tue, 31 May 2022 12:01:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=acc.umu.se; s=mail1; t=1653991296; bh=c6kijJ9xipZgnrx8PisIhcXhJYVT9Gnq4nAILq4g4G4=; h=Subject:From:To:Date:In-Reply-To:References:From; b=P3FWCydPZ2pal1NvKOwK+iK1l47deZqxy+KecJM5AnfSDVUDnk1n3Qzx/3T4lTJwr XTXegm83yw1WxrB+4VsFi+mtfY+QDex4X4FqJsqXcmyZCtSShX3q9P3JPjVP8LVT33 a8cVdAcyjAIa7TQ/sjtjvOcL1lMAm94/hc7LbJSDxkWWK3/22zs/xFWv1vEIrLo4uM vOZWP58kmIpDIQcci8hbR0MPB8hmiD1PnIWAM3kst7LbAzH6qdsG3nkaALpYRilf/A fHSVOOUq1/toiz+F5x8TvKQcAiMTWNRIeAuY2CT3A8Y79aRjeVEKkLwGBTmzKHKot7 ZUBRAGfIxGikA== Message-ID: <59a03d6a765d4626738cea828551d424246fa9bb.camel@acc.umu.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Tue, 31 May 2022 12:01:35 +0200 In-Reply-To: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> References: <152f94f0779c645542f5a678d9392ee53584d45a.camel@acc.umu.se> User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 8/8] libavcodec/jpeg2000: Call av_codec_is_encoder() only once in init_prec() 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: xH9utWoGVK9T From 1485b06278f38dcda5ff83f17e0a3446949809b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Mon, 23 May 2022 11:20:57 +0200 Subject: [PATCH 8/8] libavcodec/jpeg2000: Call av_codec_is_encoder() only once in init_prec() --- libavcodec/jpeg2000.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/jpeg2000.c b/libavcodec/jpeg2000.c index 0aa984bc53..0d4b18b38d 100644 --- a/libavcodec/jpeg2000.c +++ b/libavcodec/jpeg2000.c @@ -278,7 +278,7 @@ static int init_prec(AVCodecContext *avctx, int log2_band_prec_height) { Jpeg2000Prec *prec = band->prec + precno; - int nb_codeblocks, cblkno; + int nb_codeblocks, cblkno, is_enc; prec->decoded_layers = 0; @@ -336,6 +336,9 @@ static int init_prec(AVCodecContext *avctx, prec->cblk = av_calloc(nb_codeblocks, sizeof(*prec->cblk)); if (!prec->cblk) return AVERROR(ENOMEM); + + is_enc = av_codec_is_encoder(avctx->codec); + for (cblkno = 0; cblkno < nb_codeblocks; cblkno++) { Jpeg2000Cblk *cblk = prec->cblk + cblkno; int Cx0, Cy0; @@ -375,7 +378,7 @@ static int init_prec(AVCodecContext *avctx, cblk->lblock = 3; cblk->length = 0; cblk->npasses = 0; - if (av_codec_is_encoder(avctx->codec)) { + if (is_enc) { cblk->layers = av_calloc(codsty->nlayers, sizeof(*cblk->layers)); if (!cblk->layers) return AVERROR(ENOMEM); -- 2.30.2