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 2B5C04DEE0 for ; Wed, 7 Jan 2026 04:07:23 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'wgSYCaXS+1zIWM4sRbOlEgHo4UftvL3YWrXi2IUv/s0=', expected b'Jb/J9xcoHAQ8XdQ+k6x1Ik9JF67lFd8Ir0uvgpTbAek=')) 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=1767758833; 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=wgSYCaXS+1zIWM4sRbOlEgHo4UftvL3YWrXi2IUv/s0=; b=yOTaskA+MT8KX4KGGMzEIm+ESCi6CZW0OEQ7mLhDM5sMxjgnhXUaSfRJPGA5ZaYBT7oWw 0oim63vfWni5woHJvYObooqHuzniHPy5lMJy9BsLvSuQwbhxInYe1b/e2aP4OG791ioUfze 1g1EUYupWDVThFX+kQCBBoLfq/0UX7paKAILrotbV+xpDIm/aNVYBMblxJskZdWxzdA35IR ZXtRCkZy4YCo56IZSAv0+xjYoVmeEMJR2qcPwPHEZ0ru/enBRKXDUX0SBRElRZ4zxB7ypEa 3D0JjcwX0jREnwEn3RCp2e511TVki3Yawr3dtx+4j9nVUyVvx4VpPrkuD9og== Received: from [172.20.0.4] (unknown [172.20.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 1EE2E690D22; Wed, 7 Jan 2026 06:07:13 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1767758813; b=YjO51JTB/zp2x87kMKymWOhbJtc2mLxlWVIh8aMLU6hPJ5XRu4fb5VrGiYTuTr68n88HC d453tTGfm+s/PxPtP7d/LSc+LrTBOAkU4Ddb7wDUa7goAMB4jKbmah+UMGSpDWuKUYeTurg jEvNNbUTYz7P8/XFco9/wWnMJXhGZ9K7izjqR7x3D9Vi4Ia2FXnbDX+b0+l/xAx4VOv54mB ICloKEYCnT50amTHb5jPVXwn4AJ4999/nSbMRfrDb9GnSTI09xOj3lbwC0Nl+dZZHZrAImv IpmPj1Y6FMzcGpPy0DreNk/wKT7T6paY0N0Ww0RcWkzK9yQY5yXvn9diH3Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1767758813; 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=HHpeRm/aV6c2zZge/F1fEPybxPZBAjqdtxP4NHoXNaI=; b=WOrLWbxyQmVZzT0C9S6MyiOsChqP4TmfNAgj8/E9r2xO/esbtgnrmLCF07Gi7wZDxEQ6+ 45SL2QmI1prCqTDQz3V76gl6Ow+ceQ0iExx+lT0wPAQVRFcNoft3YQrEk93NUbmxB50CIsL +JQqvbTqKtrjRg8gzvNITz1M4+OeiJMRbZM0Ce+QoNbOY/6/qJ0y7bTR+u5JcKulQTUTrtg PLuOUsOGfxu/ekp58frIKMiuoTIT1rYXrxQivlP62lyvrIncS8IRZ1SnUFTIOr1OYzU8Efe DykdmFoOTm8wYYEtLIcBxOLSXTYauMg1cPF//KpR53P4Du4eXQ3877P+4Nwg== 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=1767758805; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=Jb/J9xcoHAQ8XdQ+k6x1Ik9JF67lFd8Ir0uvgpTbAek=; b=kpG6+svdrTqik82tDb8pgUJ7arBvnPvULCHoHd8c/m/aqd+g4phc/D+oGijiBDxp55Wj/ INxRyYHoEctqZ8uJjtZP68cEJ1v1CC4xjirvb2Psum0yY6fgBRZ65vX+dLyHu6/sB7Sm5ek Vybo1VgYxv+0vI9dnwJtZ/WxfzFtqbusuBNn51ZU1RDsElDrCjigmmS3Qclj/PodeGULw51 8U648QikuFepDWhmwoYLxm9RA7yaKSsNKWTm1gn0T8dM76S9+rkB0H1NdMF3SCCFVUnC5Rd du9JkwejAWyR0ape7ved9Mpwc3yxc34wttxL/7U6B1stFuc3fQ/KBShpT7zQ== Received: from de3a2b3407a2 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id A870868A34D for ; Wed, 7 Jan 2026 06:06:45 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Wed, 07 Jan 2026 04:06:45 -0000 Message-ID: <176775880581.25.15127232675605401545@4457048688e7> Message-ID-Hash: UNYQP57Y7BDMSSUNZBLEZDRXWABUW25G X-Message-ID-Hash: UNYQP57Y7BDMSSUNZBLEZDRXWABUW25G 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] [PR] avcodec/mjpegdec: remove start_code field from MJpegDecodeContext (PR #21405) 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 #21405 opened by Ramiro Polla (ramiro) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21405 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21405.patch Instead, pass it as a parameter to the only function that uses it. >>From 40593b5a3c81b580cbd6de1819473e6375a18952 Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Thu, 11 Sep 2025 17:45:47 +0200 Subject: [PATCH] avcodec/mjpegdec: remove start_code field from MJpegDecodeContext Instead, pass it as a parameter to the only function that uses it. --- libavcodec/mjpegbdec.c | 4 ---- libavcodec/mjpegdec.c | 14 ++++++-------- libavcodec/mjpegdec.h | 1 - 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/libavcodec/mjpegbdec.c b/libavcodec/mjpegbdec.c index 79eed6eaa6..5a21ea47fc 100644 --- a/libavcodec/mjpegbdec.c +++ b/libavcodec/mjpegbdec.c @@ -85,7 +85,6 @@ read_header: av_log(avctx, AV_LOG_DEBUG, "dqt offs: 0x%"PRIx32"\n", dqt_offs); if (dqt_offs) { bytestream2_init(&s->gB, buf_ptr+dqt_offs, buf_end - (buf_ptr+dqt_offs)); - s->start_code = DQT; ret = ff_mjpeg_decode_dqt(s); if (ret < 0 && (avctx->err_recognition & AV_EF_EXPLODE)) return ret; @@ -95,7 +94,6 @@ read_header: av_log(avctx, AV_LOG_DEBUG, "dht offs: 0x%"PRIx32"\n", dht_offs); if (dht_offs) { bytestream2_init(&s->gB, buf_ptr+dht_offs, buf_end - (buf_ptr+dht_offs)); - s->start_code = DHT; ff_mjpeg_decode_dht(s); } @@ -103,7 +101,6 @@ read_header: av_log(avctx, AV_LOG_DEBUG, "sof offs: 0x%"PRIx32"\n", sof_offs); if (sof_offs) { bytestream2_init(&s->gB, buf_ptr+sof_offs, buf_end - (buf_ptr+sof_offs)); - s->start_code = SOF0; if ((ret = ff_mjpeg_decode_sof(s)) < 0) return ret; } @@ -116,7 +113,6 @@ read_header: bytestream2_init(&s->gB, buf_ptr+sos_offs, FFMIN(field_size, buf_end - buf_ptr - sos_offs)); s->mjpb_skiptosod = (sod_offs - sos_offs - bytestream2_peek_be16(&s->gB)); - s->start_code = SOS; if (avctx->skip_frame == AVDISCARD_ALL) { bytestream2_skipu(&s->gB, bytestream2_get_bytes_left(&s->gB)); } else { diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 417cedae4a..ada98b0174 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -135,7 +135,6 @@ av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx) init_idct(avctx); s->buffer_size = 0; s->buffer = NULL; - s->start_code = -1; s->first_picture = 1; s->got_picture = 0; s->orig_height = avctx->coded_height; @@ -1871,7 +1870,7 @@ static int mjpeg_decode_dri(MJpegDecodeContext *s) return 0; } -static int mjpeg_decode_app(MJpegDecodeContext *s) +static int mjpeg_decode_app(MJpegDecodeContext *s, int start_code) { int len, id, i; @@ -2016,7 +2015,7 @@ static int mjpeg_decode_app(MJpegDecodeContext *s) } /* JPS extension by VRex */ - if (s->start_code == APP3 && id == AV_RB32("_JPS") && len >= 10) { + if (start_code == APP3 && id == AV_RB32("_JPS") && len >= 10) { int flags, layout, type; if (s->avctx->debug & FF_DEBUG_PICT_INFO) av_log(s->avctx, AV_LOG_INFO, "_JPSJPS_\n"); @@ -2056,7 +2055,7 @@ static int mjpeg_decode_app(MJpegDecodeContext *s) } /* EXIF metadata */ - if (s->start_code == APP1 && id == AV_RB32("Exif") && len >= 2) { + if (start_code == APP1 && id == AV_RB32("Exif") && len >= 2) { int ret; bytestream2_skipu(&s->gB, 2); // skip padding @@ -2075,7 +2074,7 @@ static int mjpeg_decode_app(MJpegDecodeContext *s) } /* Apple MJPEG-A */ - if ((s->start_code == APP1) && (len > (0x28 - 8))) { + if ((start_code == APP1) && (len > (0x28 - 8))) { id = bytestream2_get_be32u(&s->gB); len -= 4; /* Apple MJPEG-A */ @@ -2095,7 +2094,7 @@ static int mjpeg_decode_app(MJpegDecodeContext *s) } } - if (s->start_code == APP2 && id == AV_RB32("ICC_") && len >= 10) { + if (start_code == APP2 && id == AV_RB32("ICC_") && len >= 10) { int id2; unsigned seqno; unsigned nummarkers; @@ -2421,7 +2420,6 @@ redo_for_pal8: bytestream2_init(&s->gB, unescaped_buf_ptr, unescaped_buf_size); - s->start_code = start_code; if (avctx->debug & FF_DEBUG_STARTCODE) av_log(avctx, AV_LOG_DEBUG, "startcode: %X\n", start_code); @@ -2431,7 +2429,7 @@ redo_for_pal8: "restart marker: %d\n", start_code & 0x0f); /* APP fields */ } else if (start_code >= APP0 && start_code <= APP15) { - if ((ret = mjpeg_decode_app(s)) < 0) + if ((ret = mjpeg_decode_app(s, start_code)) < 0) av_log(avctx, AV_LOG_ERROR, "unable to decode APP fields: %s\n", av_err2str(ret)); /* Comment */ diff --git a/libavcodec/mjpegdec.h b/libavcodec/mjpegdec.h index 4f4139dcc4..4d391ff9f9 100644 --- a/libavcodec/mjpegdec.h +++ b/libavcodec/mjpegdec.h @@ -60,7 +60,6 @@ typedef struct MJpegDecodeContext { GetByteContext gB; int buf_size; - int start_code; /* current start code */ int buffer_size; uint8_t *buffer; -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org