From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 3D7F34CB10 for ; Mon, 29 Dec 2025 18:43:03 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'N82v4wbOzHCixIJJpksXV6Kakkqr1fCpo7bq7tP9uXs=', expected b'sPF0n884BRK90BlTPgrhlP7hVNtY/tXgZbm4rASNSZg=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1767033774; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=N82v4wbOzHCixIJJpksXV6Kakkqr1fCpo7bq7tP9uXs=; b=hYj256xxR2GnT57xxVZiPlxEoXBd4Rccb7C97n6DKMAzTaGkRor0NQWOm+R9W2+BRWKj0 nnCUEjfW3fezLfl4P/ctjH0EPt+5uLP63mogsEOkDaa89ZpgxcaRjIMSENHEEn8Mrb7xGfP pDbWuLPxwq36Fpgp/zBeKVkX3cOaDO0XYiNvi891AsAc0GnMelPrcHXdGyK2DLAm2rR8sVV MM067Na8InbJZiNiDNW5TGC2mAuh3SscpyHzM8G1+yBQmKzXyk29A6VYkkmXCCCB6pfnyrb HZw7unqcCFhs+jv1atCukDtvQxN4KKK6WQZy2LCmkchy2zSVbpok4LTWM8Xw== Received: from [172.20.0.4] (unknown [172.20.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 35DDC690C92; Mon, 29 Dec 2025 20:42:54 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1767033761; b=lv0z2QhhanlPV+VpwgKQyKEgyJr4RR3gQobzKQo5kdeiKhtKoz+YuMVdD4SrPOV3n8OAo 0CEdshfviDjgcnQOEHKnnmYMfUyfGczWaABlaV2jEnW7Llo9g3c7GpzC9eLQ6XUNDv6eDUZ 4nxmHzStPI70bj70Of4/uTGGzRX5j3Yra2SKMR82WJTA6APClbVHFoue4/G1UCxD6kNy586 lwVYbeeMxLGecrJVhu8bUvdyd60QER0knLkNPkfZRQAovp0ak80Gz3XSXdGUoHoDwcnK5Ed Jo9GnyFaxCdPW4lFAeDs5Vc2gQWSBwznR1UXxq5oAL0iKdOGZ6s0vzyUf/yQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1767033761; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=s59gN8FQdFtehNuHjVNftCs/ufwvl29DZG9AOckfwBI=; b=YDJrrBN5TRFu4i83C6zk/F/JueugK0uW5ce8Pfc4XickvmoSNsaoY8mjsazdGe3QafwfT QjOd1BE5b5rYPUZSTE26b45gnZYg0h626BJOB+UDVOVpJKIH9uQF1mgrbzu8oGmzeEQt/8Z g6qtn/iPENygjLaDndGvK8Q5W/lkbrv0JyPLicWFwNRYJgiErYQGMN80Si0pQkoecSVMxFp jBQhhoNAtSy4u/KYwd0vai4Bp86PpjCrIAgH3GTWQcYhjmEt87sIwchSpfXZfskfeexaZuI ptuUoDsnNLWyN8yM/Qn479wzdH11TwJuF80cZ+aS4QsN08a2XjR5VZmLNl6g== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1767033754; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=sPF0n884BRK90BlTPgrhlP7hVNtY/tXgZbm4rASNSZg=; b=ItAAa1NPsA5zRKZIG2izplHYMSn/FIfwFt3csrTuu9uUa+PjucUZHCBx3p+vDdCcxYQ3S p8D/mAtvAEtoNtWCled4D4RB20sko3FvkLyFkIj/OLQ7YBV3GrplgHJ+kt9sseLo7k0aRoF fw5cnUd3uz5MzxXSCNZLnrEJ/m30DezTLuLKongzXq5rxMAqkts/UUx/i306lnMxFepf1h8 umaTteE8hp0+r5r1QYweXsiD4WaYDvSvGpWDacazOMTvC2X0h3OixDBPFskgHRGZ/DkW1Po B6B/Xg9Lc4J+FtUL5m4d/qIgT5ygqZGjivG7H+VDZKz+Y8MPHJpDqvI1VNiA== Received: from 55ca25703178 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 6F595690BFA for ; Mon, 29 Dec 2025 20:42:34 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Mon, 29 Dec 2025 18:42:34 -0000 Message-ID: <176703375463.25.10211214697437099362@4457048688e7> Message-ID-Hash: RPDA2X4TKRBI3LI3EE5HLAGJV3Q2B5NO X-Message-ID-Hash: RPDA2X4TKRBI3LI3EE5HLAGJV3Q2B5NO X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avcodec/mjpegdec: speed up find_marker() (PR #21313) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Ramiro Polla via ffmpeg-devel Cc: Ramiro Polla Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21313 opened by Ramiro Polla (ramiro) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21313 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21313.patch Minimize number of reads and simplify conditionals. Also use memchr(), as suggested by Andreas Rheinhardt >>From ab28b728b8a337f5f74e6b42239bdd1c8257dcba Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Tue, 23 Sep 2025 17:11:40 +0200 Subject: [PATCH] avcodec/mjpegdec: speed up find_marker() Minimize number of reads and simplify conditionals. Also use memchr(), as suggested by Andreas Rheinhardt --- libavcodec/mjpegdec.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 05150e982c..cc05e87898 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -2193,17 +2193,19 @@ static int mjpeg_decode_com(MJpegDecodeContext *s) static int find_marker(const uint8_t **pbuf_ptr, const uint8_t *buf_end) { const uint8_t *buf_ptr; - unsigned int v, v2; int val; int skipped = 0; buf_ptr = *pbuf_ptr; - while (buf_end - buf_ptr > 1) { - v = *buf_ptr++; - v2 = *buf_ptr; - if ((v == 0xff) && (v2 >= SOF0) && (v2 <= COM) && buf_ptr < buf_end) { + while ((buf_ptr = memchr(buf_ptr, 0xff, buf_end - buf_ptr))) { + buf_ptr++; + while (buf_ptr < buf_end) { val = *buf_ptr++; - goto found; + if (val != 0xff) { + if ((val >= SOF0) && (val <= COM)) + goto found; + break; + } } skipped++; } -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org