From patchwork Sun Jul 7 11:44:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= X-Patchwork-Id: 50387 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp5252740vqv; Sun, 7 Jul 2024 04:45:00 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWZtkxfFOZRR/1Dm9JP3YhmNGkY+oEl9uLF0LhVahaAX1OZf5BuSxAq26EQPY03qxPGq1fNkB0NAJIEMcJZzs7GHt+x26EnuduocQ== X-Google-Smtp-Source: AGHT+IEt4tcpxnsm0C7XkWOeQcGNM1gMI0kzVuo16NpazxwWh6QtI+QYYegoG3s4kHTRK+EefRRo X-Received: by 2002:a05:6402:274c:b0:57c:6d9a:9149 with SMTP id 4fb4d7f45d1cf-58e5adce5efmr5737630a12.15.1720352700320; Sun, 07 Jul 2024 04:45:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1720352700; cv=none; d=google.com; s=arc-20160816; b=ujfDEOut3IOmetSLBEFOhnF+URTFbnQIiE5ClAa3snGTP51pJ7ry6p0Qe0gMkMx1Mv AuVc7xLuZNWvsVjpcdjWgLXnqOnej3OEq6q0cE/CfYvGm3owCzSj2SWuZfDlJ7zkpbR9 K52lrFd2mYtYCepaa80bHz1nLIpZSeBrtdUc7MEs5UBHMSvpk4w0a6CfF2ty5JnAa3M1 pBoscfeK9Le+nooRXIftihqyonC8sxCiAvFVqxqTv0O+643RawYmHcurNCX57nalK5n0 bqZpWu2hH6VF8RDLMCiz8Y5xD8MqJ3jCiNFe0B3Gsz3XsLRWn4e5WqZrjdILM3j+I044 w40Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=iHUMGpmugIuc5cW94HZhVoUQHls9pctmi8jA1kwwvMw=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=o7ARiSRUoyVQU2Kk+uQM6zJOO106abQe8sUblePElgS0msEwsIxfgP0qB1HpTHC9t6 ACN6WdefaTa0/qkDQOHZBR0sNrxPDbDPebAbyFXUhFToGj0ZoKHY4VjSj9Ml1jLfUz4S aXXFLExG7N25a1pAoTJtgB6qfES66bjvNhri6L7+ZD6iYuA1kHJAbitx9Gmn/jLyFRIX xfZ+R5U2I3sLMuvhZxqnBKChQyrPVl1VfawR5t9qQaeCGc4q7rSeVSRvQxkjzDcIQUvH 6khJxdGvpu3//6gmU3p8p0vsuI5peAemzEL1OOfqvNWeX2UptHONEsta15+gSGMVMYEC qy6g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-58b0022c682si6521317a12.453.2024.07.07.04.44.59; Sun, 07 Jul 2024 04:45:00 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0E51468DAAA; Sun, 7 Jul 2024 14:44:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from ursule.remlab.net (vps-a2bccee9.vps.ovh.net [51.75.19.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D017A68DA8F for ; Sun, 7 Jul 2024 14:44:49 +0300 (EEST) Received: from basile.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id 42D91C009A for ; Sun, 7 Jul 2024 14:44:49 +0300 (EEST) From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= To: ffmpeg-devel@ffmpeg.org Date: Sun, 7 Jul 2024 14:44:48 +0300 Message-ID: <20240707114448.32270-2-remi@remlab.net> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240707114448.32270-1-remi@remlab.net> References: <20240707114448.32270-1-remi@remlab.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] lavc/h264dsp: remove MMI 8-bit 4:2:2 chroma DC dequant 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: ckkwwDpmV5lq The function is exactly identical to the C reference, only with the constant propagated and the loop unrolled manually. --- libavcodec/mips/h264dsp_init_mips.c | 4 ---- libavcodec/mips/h264dsp_mips.h | 1 - libavcodec/mips/h264dsp_mmi.c | 33 ----------------------------- 3 files changed, 38 deletions(-) diff --git a/libavcodec/mips/h264dsp_init_mips.c b/libavcodec/mips/h264dsp_init_mips.c index 615b00d142..72f42895e8 100644 --- a/libavcodec/mips/h264dsp_init_mips.c +++ b/libavcodec/mips/h264dsp_init_mips.c @@ -46,10 +46,6 @@ av_cold void ff_h264dsp_init_mips(H264DSPContext *c, const int bit_depth, c->h264_luma_dc_dequant_idct = ff_h264_luma_dc_dequant_idct_8_mmi; - if (chroma_format_idc > 1) - c->h264_chroma_dc_dequant_idct = - ff_h264_chroma422_dc_dequant_idct_8_mmi; - c->weight_h264_pixels_tab[0] = ff_h264_weight_pixels16_8_mmi; c->weight_h264_pixels_tab[1] = ff_h264_weight_pixels8_8_mmi; c->weight_h264_pixels_tab[2] = ff_h264_weight_pixels4_8_mmi; diff --git a/libavcodec/mips/h264dsp_mips.h b/libavcodec/mips/h264dsp_mips.h index 7e1dcdd013..4a2a2c2559 100644 --- a/libavcodec/mips/h264dsp_mips.h +++ b/libavcodec/mips/h264dsp_mips.h @@ -340,7 +340,6 @@ void ff_h264_idct_add8_422_8_mmi(uint8_t **dest, const int *block_offset, int16_t *block, int stride, const uint8_t nnzc[15*8]); void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, int qmul); -void ff_h264_chroma422_dc_dequant_idct_8_mmi(int16_t *block, int qmul); void ff_h264_weight_pixels16_8_mmi(uint8_t *block, ptrdiff_t stride, int height, int log2_denom, int weight, int offset); diff --git a/libavcodec/mips/h264dsp_mmi.c b/libavcodec/mips/h264dsp_mmi.c index 1ee8ca2f1c..bae1052dcf 100644 --- a/libavcodec/mips/h264dsp_mmi.c +++ b/libavcodec/mips/h264dsp_mmi.c @@ -1084,39 +1084,6 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, ); } -void ff_h264_chroma422_dc_dequant_idct_8_mmi(int16_t *block, int qmul) -{ - int temp[8]; - int t[8]; - - temp[0] = block[0] + block[16]; - temp[1] = block[0] - block[16]; - temp[2] = block[32] + block[48]; - temp[3] = block[32] - block[48]; - temp[4] = block[64] + block[80]; - temp[5] = block[64] - block[80]; - temp[6] = block[96] + block[112]; - temp[7] = block[96] - block[112]; - - t[0] = temp[0] + temp[4] + temp[2] + temp[6]; - t[1] = temp[0] - temp[4] + temp[2] - temp[6]; - t[2] = temp[0] - temp[4] - temp[2] + temp[6]; - t[3] = temp[0] + temp[4] - temp[2] - temp[6]; - t[4] = temp[1] + temp[5] + temp[3] + temp[7]; - t[5] = temp[1] - temp[5] + temp[3] - temp[7]; - t[6] = temp[1] - temp[5] - temp[3] + temp[7]; - t[7] = temp[1] + temp[5] - temp[3] - temp[7]; - - block[ 0]= (t[0]*qmul + 128) >> 8; - block[ 32]= (t[1]*qmul + 128) >> 8; - block[ 64]= (t[2]*qmul + 128) >> 8; - block[ 96]= (t[3]*qmul + 128) >> 8; - block[ 16]= (t[4]*qmul + 128) >> 8; - block[ 48]= (t[5]*qmul + 128) >> 8; - block[ 80]= (t[6]*qmul + 128) >> 8; - block[112]= (t[7]*qmul + 128) >> 8; -} - void ff_h264_weight_pixels16_8_mmi(uint8_t *block, ptrdiff_t stride, int height, int log2_denom, int weight, int offset) {