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 276594F1A3 for ; Sun, 15 Jun 2025 17:00:16 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 1E4BC68D8C5; Sun, 15 Jun 2025 19:57:23 +0300 (EEST) Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 3F8A968D8BA for ; Sun, 15 Jun 2025 19:57:21 +0300 (EEST) Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-234f17910d8so34322295ad.3 for ; Sun, 15 Jun 2025 09:57:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750006639; x=1750611439; darn=ffmpeg.org; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=IYqH1LOmnNjjZNBRqDPo/xBvExw5IPwzqiW34VgGlgE=; b=RmQw/IFHBkQ7uArHqnPgLpEfQPNPafi4BC7zfm3Glli2WvJLTqHufMC0nNVhiQ66ND OqaRp3OpJHDcRonOiMB5lPL03ZM2vH/YjwTNE+6QwcpOCEqeuTHCt9CWGN5/diAKEF7E es48LW+Wf21jyUN8UxeoHcPCutdQKSg0UbjRoxB//1m4rDZScIXra4gUahEwDMRvET8K bAqZY7FEXUH6sMtApjtHnAQAAiL9ElmoCAUcL1yaiL4UJLpQOKtGAJPD7npW154bKXrj vtB7ULHKa1ZDY7LR6jGCcy8KPt+alHsYdflIIsBsC+tIW+uQzgWSuPpEil0W4/61N1xK Q1bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750006639; x=1750611439; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date :references:in-reply-to:message-id:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=IYqH1LOmnNjjZNBRqDPo/xBvExw5IPwzqiW34VgGlgE=; b=IEhR/DRD15iuCW4rwXeSw9qGterArCTLdJp569LH+10aH2jS2QPElTjvXiT7TP7gKp LRJcbSN955ajdlKvSMfzIgsoGobnOZ0vjFP0NcnxzYfQTIv8Sw6mRxuAHRByhAjfK1uO TQR3oqWz0Oy34jLFsImVjAcBBctZyqeU82Bek1mYwkKa1Ge+n4WmMUxVtdK6N3PPKxt9 tu0rfxKBcmJ8e0l6DlUklIRYTHqhVSNm12JJhTf8M3maoSduQVenHYDkC0syHzZpXGHM 8Ak86M4K+w646L8fgKdYEsLneq47E8FQhx30C0rQmT5V7bY1Rw6F0GKPqXDuZTAyegds f/Hw== X-Gm-Message-State: AOJu0YwizZUzFyWwZ/LLdPDT5QGlu/Hxk04QUps6fOkDmV/Qgy+FaAPx qFT6Y7POcDtrNf7KwZbn3mMIhcZ7CvXCe9aGOBXyRyXC2u/hJEvH3JPgpBwIKQ== X-Gm-Gg: ASbGnctMYlpJhrml92szHo6JK8lU9ebNSGsr0TOatlGqILEsugP3TftwNgMoZCC3OMm BDxiAAzhARKjQXkTdCzofCyPd43IpLsMrQNRirowEJt5Q9aMK1j2zC7cmmJLQerXbQVI64ZR+ON Z0yV1B5Hr+ArG7MzFWCTLJnRU2M54qLAr+YNmvHKwD15djMmLnB8lWTPMyNh3l3B06TA5SKgRgF U4lZnnb8kd3gWZl/pjYwYBaBPnVEjBNHS8DGeS0Cm5nCPbbwZ2cMWG/CXcQvAzItfzUSGgZCe4L 1Fdl7w/cQlqda3wfmvh9oNDoDGTE77t/aEDXmOvkht7ZsmbiISIMKMXgtWiTiHYIAMBZz977HH3 kY/4J+R1T4ptUJeqd X-Google-Smtp-Source: AGHT+IHSkA95mXiJxmtm2Clif/87U3jrHr74254p4V6ovCfW3AuBatSgaYMZr+nO0gcj36nO3vikmQ== X-Received: by 2002:a17:903:ac8:b0:234:909b:3da9 with SMTP id d9443c01a7336-2366b14d30cmr90795875ad.27.1750006639551; Sun, 15 Jun 2025 09:57:19 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-313c19d112dsm6893601a91.16.2025.06.15.09.57.18 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 15 Jun 2025 09:57:19 -0700 (PDT) From: Andreas Rheinhardt X-Google-Original-From: Andreas Rheinhardt Message-Id: <7ca9bef9afb57112ac0b25f86e5f44112af0fd9a.1750006479.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Sun, 15 Jun 2025 16:54:18 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 27/47] avcodec/ituh263dec: Simplify AIC handling 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 Cc: Andreas Rheinhardt Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Andreas Rheinhardt Possible by using block_index. Signed-off-by: Andreas Rheinhardt --- libavcodec/ituh263dec.c | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c index 896556edfb..809bfcf564 100644 --- a/libavcodec/ituh263dec.c +++ b/libavcodec/ituh263dec.c @@ -448,34 +448,25 @@ static void h263_decode_dquant(MpegEncContext *s){ static void h263_pred_acdc(MpegEncContext * s, int16_t *block, int n) { - int x, y, wrap, a, c, pred_dc, scale; - int16_t *dc_val, *ac_val, *ac_val1; + int wrap, a, c, pred_dc, scale; + const int xy = s->block_index[n]; + int16_t *const dc_val = s->dc_val[0] + xy; + int16_t *const ac_val = (s->ac_val[0] + xy)[0]; /* find prediction */ if (n < 4) { - x = 2 * s->mb_x + (n & 1); - y = 2 * s->mb_y + (n>> 1); wrap = s->b8_stride; - dc_val = s->dc_val[0]; - ac_val = s->ac_val[0][0]; scale = s->y_dc_scale; } else { - x = s->mb_x; - y = s->mb_y; wrap = s->mb_stride; - dc_val = s->dc_val[n - 4 + 1]; - ac_val = s->ac_val[n - 4 + 1][0]; scale = s->c_dc_scale; } - ac_val += ((y) * wrap + (x)) * 16; - ac_val1 = ac_val; - /* B C * A X */ - a = dc_val[(x - 1) + (y) * wrap]; - c = dc_val[(x) + (y - 1) * wrap]; + a = dc_val[-1]; + c = dc_val[-wrap]; /* No prediction outside GOB boundary */ if (s->first_slice_line && n != 3) { @@ -488,18 +479,18 @@ static void h263_pred_acdc(MpegEncContext * s, int16_t *block, int n) if (s->h263_aic_dir) { /* left prediction */ if (a != 1024) { - ac_val -= 16; + int16_t *const ac_val2 = ac_val - 16; for (int i = 1; i < 8; i++) { - block[s->idsp.idct_permutation[i << 3]] += ac_val[i]; + block[s->idsp.idct_permutation[i << 3]] += ac_val2[i]; } pred_dc = a; } } else { /* top prediction */ if (c != 1024) { - ac_val -= 16 * wrap; + int16_t *const ac_val2 = ac_val - 16 * wrap; for (int i = 1; i < 8; i++) { - block[s->idsp.idct_permutation[i]] += ac_val[i + 8]; + block[s->idsp.idct_permutation[i]] += ac_val2[i + 8]; } pred_dc = c; } @@ -523,14 +514,14 @@ static void h263_pred_acdc(MpegEncContext * s, int16_t *block, int n) block[0] |= 1; /* Update AC/DC tables */ - dc_val[(x) + (y) * wrap] = block[0]; + *dc_val = block[0]; /* left copy */ for (int i = 1; i < 8; i++) - ac_val1[i] = block[s->idsp.idct_permutation[i << 3]]; + ac_val[i] = block[s->idsp.idct_permutation[i << 3]]; /* top copy */ for (int i = 1; i < 8; i++) - ac_val1[8 + i] = block[s->idsp.idct_permutation[i]]; + ac_val[8 + i] = block[s->idsp.idct_permutation[i]]; } static int h263_decode_block(MpegEncContext * s, int16_t * block, -- ffmpeg-codebot _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".