From patchwork Thu Apr 15 09:13:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikhail Nitenko X-Patchwork-Id: 26924 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 9178A448F7B for ; Thu, 15 Apr 2021 12:40:14 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6FBA868A6E7; Thu, 15 Apr 2021 12:40:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 94F1C689CF7 for ; Thu, 15 Apr 2021 12:40:07 +0300 (EEST) Received: by mail-lf1-f47.google.com with SMTP id r8so38044804lfp.10 for ; Thu, 15 Apr 2021 02:40:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=COvlA3aHqTXPQr1g5vDhnqy392roiS9plSu4SvkwooM=; b=EPzazdkkvNjFJvKgYa332qjiwf01N4rEblGa2I3l9NPFA9BC+x/lmTTUFY0khNc7qn +RTi1LrEfKQVpoheBS1EYmeq9ukS3vG25xmyUMAFjK3o6WHIDAdR4xoC692kKZYfUEkH t3gPfCbXbsyu26e7nqWmWt5mAODQz/VRN1ZEj6avHwsLeLnYgt4TmaWr3znhtXWMCGqp XQ1/RDxdHg0Fgcp2XxFRsLuRkvKrrlLROH5wYQivDuRz8hiCSG2AXNXxehjPnUDgXNj3 VTcgrOB2dWM7lcYAIDaoVX1XVTbB7ROJavwt8AnnOUZu0+1xgDQLR7vYzGYMjmZUX1Io d+zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=COvlA3aHqTXPQr1g5vDhnqy392roiS9plSu4SvkwooM=; b=Ea2QhFnv+gAtruiOzwB0XNIflnPqD8gBgvS1qzTMkXLKyYxzo05vBaxK1GFGsWRthB FaVssgAVL/7+al7SqX0yB1yaeGKjYYAjD0xS+GZ3MUnYG7eTru5YFD0FMKR4d0yDElsP H8CcN3T5I1kPV95D+iL3YzOdHETz4N8G5/FUm+gO8L04PE2d+dEv3BUaDkzilyQZbyJn PSR8EWDo80+UQUbUJjCBoKCf9+WDBhUgemgXmAq5ye6y6K8Jl1IXA+JSSwG99DaEO1Kq TGZU6lYRmPZBm/nQ02BGbYm4vnEirzbPV8eBYWVeUcPwOfHZrBBoeUye6anT4F9UznHj U0Dw== X-Gm-Message-State: AOAM531zWF446V+i3FKeKE2/4z/PGR7OF6PXNRVvgrOBLnKUpqH6sLcV giyz6KW6TNJhsxam/1Syqta3UdHF94PFpDs9 X-Google-Smtp-Source: ABdhPJwuQi1WQV/Ci/7/eF1tL9ZSE1HuVcv4QWPXUvV7cs38agPb/uu1I6OvwitjOTRFTxFUTwtfrw== X-Received: by 2002:a05:6512:314b:: with SMTP id s11mr764909lfi.276.1618478043787; Thu, 15 Apr 2021 02:14:03 -0700 (PDT) Received: from localhost.localdomain (broadband-109-173-73-178.ip.moscow.rt.ru. [109.173.73.178]) by smtp.gmail.com with ESMTPSA id f9sm596654lft.242.2021.04.15.02.14.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Apr 2021 02:14:03 -0700 (PDT) From: Mikhail Nitenko To: ffmpeg-devel@ffmpeg.org Date: Thu, 15 Apr 2021 12:13:51 +0300 Message-Id: <20210415091352.2757-1-mnitenko@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 1/2] lavc/aarch64: change h264pred_init structure X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Mikhail Nitenko Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Change structure to allow the addition of other bit depths. --- libavcodec/aarch64/h264pred_init.c | 57 ++++++++++++++---------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/libavcodec/aarch64/h264pred_init.c b/libavcodec/aarch64/h264pred_init.c index b144376f90..fc8989ae0d 100644 --- a/libavcodec/aarch64/h264pred_init.c +++ b/libavcodec/aarch64/h264pred_init.c @@ -49,38 +49,35 @@ static av_cold void h264_pred_init_neon(H264PredContext *h, int codec_id, const int bit_depth, const int chroma_format_idc) { - const int high_depth = bit_depth > 8; - - if (high_depth) - return; - - if (chroma_format_idc <= 1) { - h->pred8x8[VERT_PRED8x8 ] = ff_pred8x8_vert_neon; - h->pred8x8[HOR_PRED8x8 ] = ff_pred8x8_hor_neon; - if (codec_id != AV_CODEC_ID_VP7 && codec_id != AV_CODEC_ID_VP8) - h->pred8x8[PLANE_PRED8x8] = ff_pred8x8_plane_neon; - h->pred8x8[DC_128_PRED8x8 ] = ff_pred8x8_128_dc_neon; - if (codec_id != AV_CODEC_ID_RV40 && codec_id != AV_CODEC_ID_VP7 && - codec_id != AV_CODEC_ID_VP8) { - h->pred8x8[DC_PRED8x8 ] = ff_pred8x8_dc_neon; - h->pred8x8[LEFT_DC_PRED8x8] = ff_pred8x8_left_dc_neon; - h->pred8x8[TOP_DC_PRED8x8 ] = ff_pred8x8_top_dc_neon; - h->pred8x8[ALZHEIMER_DC_L0T_PRED8x8] = ff_pred8x8_l0t_dc_neon; - h->pred8x8[ALZHEIMER_DC_0LT_PRED8x8] = ff_pred8x8_0lt_dc_neon; - h->pred8x8[ALZHEIMER_DC_L00_PRED8x8] = ff_pred8x8_l00_dc_neon; - h->pred8x8[ALZHEIMER_DC_0L0_PRED8x8] = ff_pred8x8_0l0_dc_neon; + if (bit_depth == 8) { + if (chroma_format_idc <= 1) { + h->pred8x8[VERT_PRED8x8 ] = ff_pred8x8_vert_neon; + h->pred8x8[HOR_PRED8x8 ] = ff_pred8x8_hor_neon; + if (codec_id != AV_CODEC_ID_VP7 && codec_id != AV_CODEC_ID_VP8) + h->pred8x8[PLANE_PRED8x8] = ff_pred8x8_plane_neon; + h->pred8x8[DC_128_PRED8x8 ] = ff_pred8x8_128_dc_neon; + if (codec_id != AV_CODEC_ID_RV40 && codec_id != AV_CODEC_ID_VP7 && + codec_id != AV_CODEC_ID_VP8) { + h->pred8x8[DC_PRED8x8 ] = ff_pred8x8_dc_neon; + h->pred8x8[LEFT_DC_PRED8x8] = ff_pred8x8_left_dc_neon; + h->pred8x8[TOP_DC_PRED8x8 ] = ff_pred8x8_top_dc_neon; + h->pred8x8[ALZHEIMER_DC_L0T_PRED8x8] = ff_pred8x8_l0t_dc_neon; + h->pred8x8[ALZHEIMER_DC_0LT_PRED8x8] = ff_pred8x8_0lt_dc_neon; + h->pred8x8[ALZHEIMER_DC_L00_PRED8x8] = ff_pred8x8_l00_dc_neon; + h->pred8x8[ALZHEIMER_DC_0L0_PRED8x8] = ff_pred8x8_0l0_dc_neon; + } } - } - h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_neon; - h->pred16x16[VERT_PRED8x8 ] = ff_pred16x16_vert_neon; - h->pred16x16[HOR_PRED8x8 ] = ff_pred16x16_hor_neon; - h->pred16x16[LEFT_DC_PRED8x8] = ff_pred16x16_left_dc_neon; - h->pred16x16[TOP_DC_PRED8x8 ] = ff_pred16x16_top_dc_neon; - h->pred16x16[DC_128_PRED8x8 ] = ff_pred16x16_128_dc_neon; - if (codec_id != AV_CODEC_ID_SVQ3 && codec_id != AV_CODEC_ID_RV40 && - codec_id != AV_CODEC_ID_VP7 && codec_id != AV_CODEC_ID_VP8) - h->pred16x16[PLANE_PRED8x8 ] = ff_pred16x16_plane_neon; + h->pred16x16[DC_PRED8x8 ] = ff_pred16x16_dc_neon; + h->pred16x16[VERT_PRED8x8 ] = ff_pred16x16_vert_neon; + h->pred16x16[HOR_PRED8x8 ] = ff_pred16x16_hor_neon; + h->pred16x16[LEFT_DC_PRED8x8] = ff_pred16x16_left_dc_neon; + h->pred16x16[TOP_DC_PRED8x8 ] = ff_pred16x16_top_dc_neon; + h->pred16x16[DC_128_PRED8x8 ] = ff_pred16x16_128_dc_neon; + if (codec_id != AV_CODEC_ID_SVQ3 && codec_id != AV_CODEC_ID_RV40 && + codec_id != AV_CODEC_ID_VP7 && codec_id != AV_CODEC_ID_VP8) + h->pred16x16[PLANE_PRED8x8 ] = ff_pred16x16_plane_neon; + } } av_cold void ff_h264_pred_init_aarch64(H264PredContext *h, int codec_id,