From patchwork Thu Dec 23 09:13:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32863 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp7106341iog; Thu, 23 Dec 2021 01:15:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJwd+BezzPemK8BOX1Zf5M0ANrRAPAY9hk6s7FUmuorAMDJ/+vQ0n35JeEBOtTQb8noPKwaC X-Received: by 2002:a05:6402:5206:: with SMTP id s6mr1318614edd.2.1640250936017; Thu, 23 Dec 2021 01:15:36 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id t2si1759199ejs.549.2021.12.23.01.15.35; Thu, 23 Dec 2021 01:15:36 -0800 (PST) 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; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=nbB15VUd; arc=fail (body hash mismatch); 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8B51C68B174; Thu, 23 Dec 2021 11:14:20 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2109.outbound.protection.outlook.com [40.92.90.109]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3E8B468B165 for ; Thu, 23 Dec 2021 11:14:15 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H46OQqZLmUF7gDaI9/7a7lPP9pL4gW4dP1DlUIREi33JX+l/s1akgaw/0Ezjce3qnv/94goteDfQd20FXFtKKDjvJinMGDHbfyoZw3ewb8//IrVepKrj3ZH/s1yQgsT/vTH7ZNkzB/0xL5NrXaxL3inNhIZSQSaaM7y6eQs6VPRsseJPu7sKfOsqnErM5TMxrlvRKhLXntB7KqhKWrN5aBn0fy4H3htrRGJyHTYV/KnpPrm9YV1qVNmskGd4jLCcPkxlO8idyHuJkqUum6/dL+8r2vgsCNv2s8eZ82+MiuN5xMYjZGOh8ZjFqCaDEDmvhvdckIr0ilfWDiBZ//Drbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ew8jM35owNhZh3lISdrlkLkwTWim6vuLRu/kMaO3IYg=; b=P+JtU8eR7oNL6wCbCYAp7IRdRXhdAVLXQegwyhjpHC8m1mejP7gMnEnJ5Ia0ySJUd/fmKGF243MVXDRLAScMR32hphKa6DHkFO4RK0wTI0FVewYIodiMYHqJa6ri6JH3vFT+JdUCLexJdkdjY40Lpc4l38Ax9lhmVlezdg9LnIDDB0WMCkOMW5u/7A6S+w/cPfU7My3APPF85AAj8fhN4OXVJganWEiyH0gk0LwkMZJC/hUULGyaBtfWAL6ZMS5/KeGTxkBcYvDV0J46ZXVgbyae/PDiVmBCxeTuerQKqaJ2giqYNSj1ITyBCLlx9CYpJJchwLBpxJguPWTrpRgu4g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ew8jM35owNhZh3lISdrlkLkwTWim6vuLRu/kMaO3IYg=; b=nbB15VUd/Sw/mso60OSE6MRZ8ueLoD4Tbw1JdwriQntFoa8KnEIjERhp5WrVsAr8D1tseNZjAS+XaL5jg8IbZP3O/um5xWsWCYGEB6GOlpseqfVYJmgaklcIcA7XU54RsJHBSfM+dgP+uCSRrByTOxgnIOK4waxzfIs+QZPIrSHw0vnFcUUQw6AmUi8UuS3cLTUlcjnaTctrSv85Sww08+XQSWRm7OkZf2qQzkJjoi8ArNRt6Q/uft490iBg2/P4UVpRSa77OnJncSKTaZx6/TE9gOi2v+ZT9Ja96nzDiipXka2quVq9L3Q4UHnNqHZhwTrhZa7ycnNJGClktAT7kg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5607.eurprd03.prod.outlook.com (2603:10a6:20b:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Thu, 23 Dec 2021 09:14:14 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%5]) with mapi id 15.20.4823.019; Thu, 23 Dec 2021 09:14:14 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 10:13:34 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [xk3pUGPdXFGKVrzb1B3jLo8uCpH5YlDM] X-ClientProxiedBy: AM4P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211223091340.1450013-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2ad5e7ca-687d-4c08-7bcb-08d9c5f496f8 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWm3GLoeUntTG6KfWWWbWhl9KIIMeMOs9++zsKlX5VTIC6dIk85Y1kep3ihBX8OYcFYNiK2SuuXovhrH0dH12F/HWlArzAihRPya24KP/uhGvU2Q+E5/nLij2TGo74L7MTp2xgL6cJHPqJ55sbsFbwTQC/sPbl8o0i44YIBz6PqDhki7QVFWzHvOE9Ridm/ZRMx/DMJqc8BlIQ37GSZpp2/lmPIu5QhgWEeMss7v/S2bMIFE974oJSWC9KFKyXgLjqaKQ6tbEaM8I5+/dLDomppL8ouTi0Si2gFba8P4Krh52S7yjFcneIbo+BQtmDt9Bj1c7lkYUg/Ogg8Ts4EBV7E9FD3mFQh85fuL/q3Lq1kDTWJdK5DjF8nhlcbAX+OxzLCjxraiB/y5Dl5blEZRCN+RIlMANAlEZrcP7zTx7BweC69oIvLZTtqZ+jA5NR63mu+nWRWr1VZ1PPfL3D+QH3bxi6dj8OYPFBIFMTfrs4cuGWO9+DIGwWGWO8nScW2RdOiIXfULVfVvbGgdMohOXYwQ/81Rlyl1mEQUyEohI+UT8nqH0iOUCicW6rCFKlm7y+msJ3GtCjtJ/MdbZY3B7W0+TeqI0eBpyR9ZJP8Bw3Z3+ADDUpQy/7ku96qh73SMzydYuC6vcpReisjxSZs/gHdhmXQF0mH3sSchFB3/nT3T5pM0MWy+e93I8s4P+oQZ3tIDFXULVpWn5v+Ay1Del56gnkoS8aiqW8= X-MS-TrafficTypeDiagnostic: AM6PR03MB5607:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MTwB/8DzeyfBa2dijMxmo6IjMKD2S1veCQ3VWia4ism6PUeebgTQG3IHSbnuGsH1PARS8gASfkq03XpK9R93pRaQpHyLzToGNPNXyQQd858kRQLaT1GCaVkDGs3x1KqFkssuAb8OtDEKLzqtFldkNfOtMc2D93Mz4z9WvPMyXr1QGW3d43kN36zZZVkjBrBXE1tVHcciZWpKImGsxscwbm9orm/JexhqPir0X/xqZ+gPivAjA1/vNzRjgtyg0wKeO1ekhybhKvEO0NWpobaHZf+kMHptKwxgw3O9QlHjziA5OguSu4JU/zjAbp9lcR3gO1VnsAfVAyhuva1rnJ0Pgbid6fcqdS0QsrBWIFJp4efONP3W3zMeIye5KtdQ7mw6RncL0SyLz2OJkzA7iT6rFMcIYD5qWDne4kCbPywWsJG3zz2P7LPY6pmivtNhVb/x4wKT5DRs02qgXQBVKjKft/hcti4BreC8e56Q4FAcKHf6vu36pPkyqtgvkDfaR2AgaIurlq7iH/t7HDvM9dTY4CyBVIkKQa0/0+sAutQWqsPprswa8y/2Ir1dNJyEu4voLWK3znokvG7suYTCajsldw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: eflGw+9TxNfS7UNNWenMLbssf5SIROIIeAOGmJw6K3oLszTU5/17pxsltEZ6iiH88pLHLPW1E2gHccQ1LHt4Se64G6qtFCEl7vbyFY4nRnn7UpCyA8V/Z8EZaKnGhKzmGMwUUtBWOHCNc54RrZt87FBNnwqy3uJvB56eDpKaFeg5Iz9qol3erR9eVjy2rKq0ZiPJqezkVRkvssfQmZwtluXwg7K7anmD+UmxPMCPaLhd/x1nK7jfF+54yZy5PV3QGbu8CcDNeheHwk9yArDXEEuldAbXcsi43HOQNLpVXO5n/gwhGQ6VNWz+m3OirGvqMHpPkphQqvNf8/4qL6Jjf1CFEIi5wgv1SyXM8F4pPEjr0xqLdgUpNs1hL+9OmnUMOy02E3xBTFOT2LIH5Z3Gq8giRMOojbuf5YKPOCXIGR6q166TeSQk+Q1J+pDUs1C/oLM8c6iqi3wWRpOrX02r3LtbXjLO4KQRBEobZAcAl2HmTExJTrDwcpdbe2qShRUStJh0y7DQm37QD+92AVzdkEBZjvRovYknkttqe8++DPRXqiAu3Mic9c8DFftNFyHRWi89r7vMYpCyTUbfTyHcqYEEqHAXruoI5K/xvR7HO29IRF4247WyrRJZwlEUiLD/A1/ujdEvthNjwcSpco7ji7bEuscnM7i4asr1vk6HzHaGs9CIRFq5vkU8Oj03p1dHjw3s92hPXFNF6TzVQNMg+raMnRhmlLZlQF2agCUx5guEPyhIz2vURoiCHg0BIecjCwGuPCbRF3ugA2PIx1KoUSyVxUxhulwmE+3EFet8BVmg79kf5jJMWbhVu1w3DEBIFf8MWDCmgaxuVdxmzSWtGsRmUfMF9RPwOqZaGpXx9U836GRBCX2giMJio8MTmNYOq7gqFnkLagKrqhjFbolZKHBQOWVziWtIg6GR3F8hNXwF9MuJommfYAnR6YYNjhmceTCPupcZO9slaTtYlTvNrw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ad5e7ca-687d-4c08-7bcb-08d9c5f496f8 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2021 09:14:14.7850 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB5607 Subject: [FFmpeg-devel] [PATCH 24/30] avcodec/wmv2: Move ff_wmv2_add_mb() to the wmv2dec 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: TD3kXbom8hTo Only the decoder ever used it. Signed-off-by: Andreas Rheinhardt --- libavcodec/wmv2.c | 44 -------------------------------------------- libavcodec/wmv2dec.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/libavcodec/wmv2.c b/libavcodec/wmv2.c index 327c5bdae1..fd64a0938f 100644 --- a/libavcodec/wmv2.c +++ b/libavcodec/wmv2.c @@ -23,7 +23,6 @@ #include "mpegutils.h" #include "mpegvideo.h" #include "msmpeg4data.h" -#include "simple_idct.h" #include "wmv2.h" #include "wmv2data.h" @@ -54,49 +53,6 @@ av_cold void ff_wmv2_common_init(Wmv2Context *w) s->idsp.idct = NULL; } -static void wmv2_add_block(Wmv2Context *w, int16_t *block1, - uint8_t *dst, int stride, int n) -{ - MpegEncContext *const s = &w->s; - - if (s->block_last_index[n] >= 0) { - switch (w->abt_type_table[n]) { - case 0: - w->wdsp.idct_add(dst, stride, block1); - break; - case 1: - ff_simple_idct84_add(dst, stride, block1); - ff_simple_idct84_add(dst + 4 * stride, stride, w->abt_block2[n]); - s->bdsp.clear_block(w->abt_block2[n]); - break; - case 2: - ff_simple_idct48_add(dst, stride, block1); - ff_simple_idct48_add(dst + 4, stride, w->abt_block2[n]); - s->bdsp.clear_block(w->abt_block2[n]); - break; - default: - av_log(s->avctx, AV_LOG_ERROR, "internal error in WMV2 abt\n"); - } - } -} - -void ff_wmv2_add_mb(MpegEncContext *s, int16_t block1[6][64], - uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr) -{ - Wmv2Context *const w = (Wmv2Context *) s; - - wmv2_add_block(w, block1[0], dest_y, s->linesize, 0); - wmv2_add_block(w, block1[1], dest_y + 8, s->linesize, 1); - wmv2_add_block(w, block1[2], dest_y + 8 * s->linesize, s->linesize, 2); - wmv2_add_block(w, block1[3], dest_y + 8 + 8 * s->linesize, s->linesize, 3); - - if (s->avctx->flags & AV_CODEC_FLAG_GRAY) - return; - - wmv2_add_block(w, block1[4], dest_cb, s->uvlinesize, 4); - wmv2_add_block(w, block1[5], dest_cr, s->uvlinesize, 5); -} - void ff_mspel_motion(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, uint8_t **ref_picture, op_pixels_func (*pix_op)[4], diff --git a/libavcodec/wmv2dec.c b/libavcodec/wmv2dec.c index c500e3e779..f7745c5a83 100644 --- a/libavcodec/wmv2dec.c +++ b/libavcodec/wmv2dec.c @@ -27,9 +27,53 @@ #include "mpegvideo.h" #include "msmpeg4.h" #include "msmpeg4data.h" +#include "simple_idct.h" #include "wmv2.h" +static void wmv2_add_block(Wmv2Context *w, int16_t *block1, + uint8_t *dst, int stride, int n) +{ + MpegEncContext *const s = &w->s; + + if (s->block_last_index[n] >= 0) { + switch (w->abt_type_table[n]) { + case 0: + w->wdsp.idct_add(dst, stride, block1); + break; + case 1: + ff_simple_idct84_add(dst, stride, block1); + ff_simple_idct84_add(dst + 4 * stride, stride, w->abt_block2[n]); + s->bdsp.clear_block(w->abt_block2[n]); + break; + case 2: + ff_simple_idct48_add(dst, stride, block1); + ff_simple_idct48_add(dst + 4, stride, w->abt_block2[n]); + s->bdsp.clear_block(w->abt_block2[n]); + break; + default: + av_log(s->avctx, AV_LOG_ERROR, "internal error in WMV2 abt\n"); + } + } +} + +void ff_wmv2_add_mb(MpegEncContext *s, int16_t block1[6][64], + uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr) +{ + Wmv2Context *const w = (Wmv2Context *) s; + + wmv2_add_block(w, block1[0], dest_y, s->linesize, 0); + wmv2_add_block(w, block1[1], dest_y + 8, s->linesize, 1); + wmv2_add_block(w, block1[2], dest_y + 8 * s->linesize, s->linesize, 2); + wmv2_add_block(w, block1[3], dest_y + 8 + 8 * s->linesize, s->linesize, 3); + + if (s->avctx->flags & AV_CODEC_FLAG_GRAY) + return; + + wmv2_add_block(w, block1[4], dest_cb, s->uvlinesize, 4); + wmv2_add_block(w, block1[5], dest_cr, s->uvlinesize, 5); +} + static int parse_mb_skip(Wmv2Context *w) { int mb_x, mb_y;