From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 5DB14400F1 for ; Thu, 3 Nov 2022 02:57:56 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7058568BECA; Thu, 3 Nov 2022 04:57:49 +0200 (EET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074031.outbound.protection.outlook.com [40.92.74.31]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BC78D68BEC4 for ; Thu, 3 Nov 2022 04:57:42 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=euj25ONhrEESNkmbxDwiRTCUWbT2cJUInZkde3zRbMl8aGUEuE0z2UlwRxQhQuzknTXmFmmPDETV5DfkcRB2X4GGd+y+voSps0iczsKv4jqMn/JCcj8j3uKp38jRVYKNSLfcdDBW6q2iyGcT4ltv8Owt+pImxFLc01aXkwPUILXGFOUvfg6+/6SnDwkeC4f+wlDm5CaEzoAaRCDP4KpKDSd3PNBxcE/nv2m2ocUNPg0XKfHu9+cVaj98xcHhWGjzFIZwJx7AI29AODU2a1/wgj80R7di5xNQEHX9hQ2eT+PRnLq+c2RHahE4jCNkUVkbbfzfxqGdSw0uHuPcbfbhwA== 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=4KPOJH/npohqSXPSbKsXC2vxhVsvxPbfC08g+3pX7Kg=; b=aMbGgfdDXqe9+bfh2TbFWtL7ztxrkqgTBENRKyZsAZuUIrciGLaRUTxCFfKWqMqkgPHQLvlFP7M7RFW8R0DASZgm5pYvyjnKKX+FCMKQFulDi5MY/QNxNv8rH5QjJj8prtNpalNJPP3+pEULwxf1P1gZelOVuAt7hHdcKVz3B9HQvTknNq24gclFgLYifTNGKqQBiHb2Al/0CCVD+jy1Q2WatNA/gw/ayzK3zDw35vHNBNGr2W0CaLKtDUx/qDz/w+2LGtvuhD7AchsXk5wcdtt0Rz8XKOHYZx5ZotyTgRiSJDS2mLRk0di3k49P+Q5cpO8mNZOM4kGbSVz5jpETtg== 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=4KPOJH/npohqSXPSbKsXC2vxhVsvxPbfC08g+3pX7Kg=; b=enzkluKXwx+yb2ObmuPTZoOwo00ZPT7qo/fHT99skQ84WLPuCNdE7sa/3tjUjNxhvnFTkGa1WE1mTA4dMVRoTf8p9tshjIy0sfKv6wFSVXnco/yDmD8yS3zEsiRAwsbECGSYhOKVqb+bgaMiHFQdcKAvQ88kJV8JTY7+UDX9KToLXlmo+su+bVQ2YMjEpuJpi5sOX5n/Xz7X4PfM5uYN67EnSi2Fv7ryuN3YDEujQRD2AkWsGXY7r07WCwkXAZwYdVrtWdp9Z2t8PnmxL2fstn6Pm09la/zopnOV6K7TTrnm64x2rMU1+D11leTALMeoXAY5Rfx+2npp964swOCEEg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0257.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.16; Thu, 3 Nov 2022 02:57:39 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::9587:72b8:e3ec:c4fe%6]) with mapi id 15.20.5791.022; Thu, 3 Nov 2022 02:57:39 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 3 Nov 2022 03:57:37 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [zuwcQG5J/3BtaziU60fqu0c/4fokWpzsj1lFsUbBoMs=] X-ClientProxiedBy: AS9PR04CA0125.eurprd04.prod.outlook.com (2603:10a6:20b:531::16) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221103025740.620315-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0257:EE_ X-MS-Office365-Filtering-Correlation-Id: ebc215d6-bb0e-42c8-8004-08dabd472b8d X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3mWo+RneW5ABDpC3jepZYKOFGm9FHRBaLnC+zML0OQcnN4tiN6YFsJXPYbaerNBQCIc/O/rcrVoINI/bqL0ztTiDiWFia4tSghQPePYexricGDmOLc+uaeJj3Tw0rtzS5Pt8KWLMJnQOgRf25f3V0d+QY3aiXOH1+Y02Ljn8YOkb9nz8FmfGnfMstUMDKm0XWfulaBJ3zRc5PjzDMms3uiyBGNiDQ1MTqhGcmRWyUsLzz+d5WC1XRgFHD7w81wfe6QaXnUZc0yTrn/RBwqy5rWpPMZx8Je0Vs7B1IBpfvgfKghfUhy9FLO/zmdDS8f2FQsDJcvEROV5Fc9DHzsL8IGukwnGojMIAw8aD5dWkLK1+Km1ARDnvPa5au6jA9xT5T54wu+jS+YPSyFT73Z8IS9FZPwk3i1bE+Ruckiv35E9c/9dTutAqqocY+MeSeCLeSANnbuYadgVce+d9Xj1anVgXoYTtwXMBZa1Zg5w3Do6gjpcbcVBhgt52TZEDizaGDGKPrJDPF2a8CTbgZMzavxAhAL2JkB6UHVd1PvcfWKZvAHtBYAU8XRRPxK8lABV3cs9Z2Zx4rVX5SmgH9Na7t4Y7g2GTzhEAzE1gCwlChNYI+5rteVbrofECo5nIxS8IqS6Jqz/kEMc9diUS+oQaAZbqEI8Tb/qV+UxL6+pEt8oxlcBZcROro7NjdXaF/q5ejI9NBtlNA8wpEVGylUvjac+h1KtYNWaVcqWrbayLBokYuM+5ZH0xtRebvGM8EzS3GO2VBiLz3jbMfB6BMB+u9n4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7i0O/Z9FGlwMwB1QUhHa4mTXFLP7SpbRzQAojOL7bNowu753SbM/lsCuqw92H+yOCXw4Bv7qPmqvuVU/uLWJb9ayC1NV+mEZ/iX1ilBWtmbHtgcFCiV6nqlI3LB1v0stQtbK1SlN04/ABjJH6afrzdDa/9X3hUcPO8nG0UTU+Hzs70WFCbBOXEyow0RdyjRylknttnqBVGlmkvLfRSvOiJbVGpAhaAPgynIp/4DnxpIO6eBgfawqA3ZfrpJg5ryF9udJxtsEsrUs5J/+qVQo0xwMk878/a7ZY5GmKyNvIl2Xie2ip2OBkZ56YNHndndm1iXv4f/cGVPhuG9Bw2L9dflZxheEy+2HkL3tz3Fsic+NXUHWrjuAEUw7e6mkITXOBAmwjr23MB66d6os7eaNbSAkzeGSSfpLgXBHGJOGpI6lYTOnBcMAAviVBX+tVvpGaRjkMheuY1tL1n9AEZoS5PZxiBcRi5lFhqXbxTmLyr+4/5NwEod2tIU8gYSCnRCjEtiy66oNjkjHW9wTjedzBXAncPAGjoU2rsFI+VIY+V8MnCMjLa5X9d373o5Iui9KvgQkgk2AILn0FaF78gJXOKgMvy3cgIpVCHD1GwrjxuvCjo2GuBUggG88ZwT9XUq6FOJ6+jlV97AngAd0D4igy0uKDTuQjIsOc5vpV+CZqNubiTh9T+JN2Wz2Wj1swNr9 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tndndbY618Y9L7NtPXQFMt4BQ5OxML0NMbrtza/A8NYEpyXU3swnQ5GVcTFM?= =?us-ascii?Q?77TDyKBIjIBjKy1xdrqrHmKKYuTVYZjEmeUazF9ROPjEYjkpy3sOfrTnx8kF?= =?us-ascii?Q?QLZIc2v396xdnC1LbSR/6/vFdVSdZ74m6nItKuxycjBy/fYB/eCSQ9e39h+A?= =?us-ascii?Q?DWpJQDx+6R1shGokQqKfF+1SE42FiLUA4nvJS8kAejvPQIpTey/CKOK24QKr?= =?us-ascii?Q?YlfOo8cW8kqVIAenBMS8Fpp3Jlr3Vcyl6r/FXD39s13MtfMZOrYVXqg1X72X?= =?us-ascii?Q?FAgFqCNNVgnoMW6cH8FQMwfYMcPLh2ZQ2NM+ausX++SiuI8emeh/E3pL/A38?= =?us-ascii?Q?0cqXLfTjNotDZPxCJx2a+Sp6vqlxk480emryPPxw3TRKvbvSIT/T65TvgYKR?= =?us-ascii?Q?5i9SVHsTRs39AM/rHCV3OuZAy2oMqrzrho5VH67e3fRgMeJKJ6FZbKlzzP6a?= =?us-ascii?Q?eLwTmCBkkWlk2/sKOxXyjKNSfwDLFAiVRnvAo9umx6mm/aQ96xucq0Zuf3Za?= =?us-ascii?Q?fEJB3f49wOUiCd44sy3JcY6EBfg+QvJIgFV9owhOiAsIqUbE4kVoc79dkoCn?= =?us-ascii?Q?wTwyUvQrluCknJXQFeDeo7Pfm5wQURycKQJqyAbyxROIeh5kSAw4SJUnB8Bh?= =?us-ascii?Q?/ufBT+WOUtPzLjcpIL4LTiDCgQpwjj6tsRugKwn/dQK/rftEPLdl3TfB5Xu6?= =?us-ascii?Q?pfUWuy1W0wnpyVAlMVwa7hhHN8ZZUup6UBT8DZyY5Sf0G6dt1I5jT6EAEl40?= =?us-ascii?Q?h4sdF1WigCUAFzTsCMsUNlZ2tnObh4GkudGvESKv60YSUeIlq8cD1I3iBRSW?= =?us-ascii?Q?XuOf8u0FfSesggpYpWHRNpxKJdtOn8KF4ansqB58FxzatHbA+VVldGSMWGbC?= =?us-ascii?Q?AJvh/3DRspnIsAtmhI9ZebwaMw2f0WCMF8YoY88cFcBTq3gnEH1I7lwmldC5?= =?us-ascii?Q?CQoPG/bRxhB1/sxcjX3TN3OnpDi9hClcHyUN/MP9JDmcGKObMcmd4D3rkCwP?= =?us-ascii?Q?8RYylUNmPowjdvrQfBE75BSAT4BbzJHZ6AeKp3pWkZxrNaRnSL5ZOw0MDHg/?= =?us-ascii?Q?DsLNvKLHGA8x2TVrsSc2v5/9Hg8JRIRVA5Yg8zcixQzX0qzF0CkHEIGTGjgJ?= =?us-ascii?Q?W+rDKz7ywKRRAthWwIWV4YDN2GYWIjQbeejMm+shm1NcUBkkqpiypgvHQ5A2?= =?us-ascii?Q?doFCYu/PwKWIZFsr/Zh7Yq7OYO6L97TMlK1xo06JvRr4lt4tssYro0Rzx6Eg?= =?us-ascii?Q?i6+37PnIFPLLa8U+HKL6CcuiphWhpFZiqpyiFIraWkgWoZkftZN4QuyanPqc?= =?us-ascii?Q?wOwwqGuH8W1QRCSD+dFUgeJS?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ebc215d6-bb0e-42c8-8004-08dabd472b8d X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2022 02:57:39.8929 (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: PR3P250MB0257 Subject: [FFmpeg-devel] [PATCH 21/24] avcodec/vc1dec: Remove VC-1 decoders->H.263 decoder dependency 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: The only thing from the H.263 decoder that is reachable by the VC-1 decoder is ff_h263_decode_init(); but it does not even use all of it; e.g. h263dsp is unused and so are the VLCs initialized in ff_h263_decode_init() (they amount to about 77KB which are now no longer touched). Notice that one could also call ff_idctdsp_init() directly instead of ff_mpv_idct_init(); one could even do so in ff_vc1_init_common(). Signed-off-by: Andreas Rheinhardt --- configure | 2 +- libavcodec/h263dec.c | 12 ------------ libavcodec/vc1dec.c | 32 ++++++++++++++++++++++++++++++-- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/configure b/configure index 0822498efe..a59e9a898d 100755 --- a/configure +++ b/configure @@ -2981,7 +2981,7 @@ utvideo_encoder_select="bswapdsp huffman llvidencdsp" vble_decoder_select="llviddsp" vbn_decoder_select="texturedsp" vbn_encoder_select="texturedspenc" -vc1_decoder_select="blockdsp h263_decoder h264qpel intrax8 mpegvideodec vc1dsp" +vc1_decoder_select="blockdsp h264qpel intrax8 mpegvideodec qpeldsp vc1dsp" vc1image_decoder_select="vc1_decoder" vorbis_decoder_select="mdct" vorbis_encoder_select="audio_frame_queue mdct" diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 5f5ecfdddc..da3c9899e3 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -63,9 +63,6 @@ static enum AVPixelFormat h263_get_format(AVCodecContext *avctx) return avctx->pix_fmt; } - if (avctx->codec->id == AV_CODEC_ID_MSS2) - return AV_PIX_FMT_YUV420P; - if (CONFIG_GRAY && (avctx->flags & AV_CODEC_FLAG_GRAY)) { if (avctx->color_range == AVCOL_RANGE_UNSPECIFIED) avctx->color_range = AVCOL_RANGE_MPEG; @@ -117,15 +114,6 @@ av_cold int ff_h263_decode_init(AVCodecContext *avctx) s->h263_pred = 1; s->msmpeg4_version = 5; break; - case AV_CODEC_ID_VC1: - case AV_CODEC_ID_WMV3: - case AV_CODEC_ID_VC1IMAGE: - case AV_CODEC_ID_WMV3IMAGE: - case AV_CODEC_ID_MSS2: - s->h263_pred = 1; - s->msmpeg4_version = 6; - avctx->chroma_sample_location = AVCHROMA_LOC_LEFT; - break; case AV_CODEC_ID_H263I: break; case AV_CODEC_ID_FLV1: diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index e7ad540d84..5cb4c544c9 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -405,6 +405,20 @@ static av_cold int vc1_decode_init_alloc_tables(VC1Context *v) return 0; } +static enum AVPixelFormat vc1_get_format(AVCodecContext *avctx) +{ + if (avctx->codec_id == AV_CODEC_ID_MSS2) + return AV_PIX_FMT_YUV420P; + + if (CONFIG_GRAY && (avctx->flags & AV_CODEC_FLAG_GRAY)) { + if (avctx->color_range == AVCOL_RANGE_UNSPECIFIED) + avctx->color_range = AVCOL_RANGE_MPEG; + return AV_PIX_FMT_GRAY8; + } + + return ff_get_format(avctx, avctx->codec->pix_fmts); +} + av_cold int ff_vc1_decode_init(AVCodecContext *avctx) { VC1Context *const v = avctx->priv_data; @@ -415,7 +429,12 @@ av_cold int ff_vc1_decode_init(AVCodecContext *avctx) if (ret < 0) return ret; - ret = ff_h263_decode_init(avctx); + ff_mpv_decode_init(s, avctx); + ff_mpv_idct_init(s); + + avctx->pix_fmt = vc1_get_format(avctx); + + ret = ff_mpv_common_init(s); if (ret < 0) return ret; @@ -578,13 +597,23 @@ static av_cold void vc1_init_static(void) av_cold void ff_vc1_init_common(VC1Context *v) { static AVOnce init_static_once = AV_ONCE_INIT; + MpegEncContext *const s = &v->s; /* defaults */ v->pq = -1; v->mvrange = 0; /* 7.1.1.18, p80 */ + s->avctx->chroma_sample_location = AVCHROMA_LOC_LEFT; + s->out_format = FMT_H263; + + s->h263_pred = 1; + s->msmpeg4_version = 6; + ff_vc1dsp_init(&v->vc1dsp); + /* For error resilience */ + ff_qpeldsp_init(&s->qdsp); + /* VLC tables */ ff_thread_once(&init_static_once, vc1_init_static); } @@ -702,7 +731,6 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx) ff_blockdsp_init(&s->bdsp); ff_h264chroma_init(&v->h264chroma, 8); - ff_qpeldsp_init(&s->qdsp); avctx->has_b_frames = !!avctx->max_b_frames; -- 2.34.1 _______________________________________________ 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".