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 481DE47B10 for ; Mon, 2 Oct 2023 10:51:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 210C268CD84; Mon, 2 Oct 2023 13:51:20 +0300 (EEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01olkn2098.outbound.protection.outlook.com [40.92.65.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7D0F468CD2F for ; Mon, 2 Oct 2023 13:51:18 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kf//JZYVznbfbGNzYfwGGSeJMGTf5CrQ0cd2qz2xLy1+xGkVkePSk40x/kICmwynj284WIPI3uVUdIu4d1Sse7BQ+ye8L7txaUIqzH5sgbqGd8aRiP7OUr7ysv/VjkOC9wQFG+rcSLm5T9qv+EcEePoHXZkX/AdOjGMnEX/z/4iHU34w08AtkrmTJctxKQBtt/ru3BDn725UmT1r3cJn0fsF5AI8x/QQHJvRDFbzYXtKkda8OlSmkhrVvzFxBkhGWSDSHY4GYQZLECVc9RF5EDsg2sFaBz1Y+bN2NdL5F/L0XWVmUmSEmoEJ3YvlwVVm2PnJ3DuFwd/XCE7lEzme4A== 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=RliCPU9uIab1uwiE/yiHq5JBigVCDMHXxq3MV5l6AUg=; b=cAd3m5FaDIBd+dwSrQBe4uIgR+Oaagur9pC+RtHryuRV4aOlGb+49mJq8o7/ATO5BveNkX7QARrBGWNAigyI1mkcVTU2+rXJ9MgYmbYw585ehIWTfBkky8jPZP+p47SGzf/uz2p4l4s/b/16z5JjnrHQCI7VxmF7LstfQwop5zmlGOx+3lgPdERqPePr/5uclj0aNl1AmUTrnar9ni75pW3wJBYj9qyEuourUGRSn68IWqcBIGQTn+yeaj3zstKuVTMmAobuXuPJLaUaUixXNZh6kcpLS2ps/qsV12NdDQHeB0KwM8EwR3tsVyRcHVMSOiwIxIk6uZBM7PnNHYEIIw== 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=RliCPU9uIab1uwiE/yiHq5JBigVCDMHXxq3MV5l6AUg=; b=Fo/Z6eo5Ug0oYfvk/5zqhFZwqlc+Ce91vX91c+YgIJeXpAt02apXJm96bFnLPxeyiUUlTR84erHQB7KbYululZHSlatdAdTlVu2HPCzBo0dlrpQEBGPdxT7X5LQL1DIFzjcF4cCYpRFzQamNiOHqz1nyRTLweoqu71rr901fee659lP4Ij5ZeDCeHUrroFUhIB7mJl8BO1vzg69LJ0KSYvTrXu3QkikXMJiYEHMsxLPvQqr6OdDig2g04sUz7xi6v43rAHoDZlZA81A/MtVz/4YqBIWEK/AT2fN5sW/ae4IxeqId2uP/5/aXy3mB8ErGwgCA2JMRgFVyy57uJcufyw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0203.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.30; Mon, 2 Oct 2023 10:51:17 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6792.026; Mon, 2 Oct 2023 10:51:17 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 2 Oct 2023 12:52:01 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [hMkScxqrgEEmBkE3mXYjy5IBb9VB30sI] X-ClientProxiedBy: ZR2P278CA0015.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:50::19) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20231002105202.835642-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0203:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f9c052a-ca3a-4533-8060-08dbc33580fd X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6I2k8I79IKmBzzjhSsQSKS4Xi2cR9uUJCc/Y82ev29F5ETt+sBa/wxValBWFdMaw5N7ESvhORrKW/1IJodR37UgvStSICYkdbciJTTa2pbDVHy90mnD3ctGpw8elYVXuFfl+WMfZEA5PflL8bpmuEXa5801sU9KwUNI/RUn9GdOuctAGlfZeZWfkpmHz6GyEoD6ot4RghbEvco/OI7DNTcwubNIbXELS5evCzEhs0Sck404xg58Reergp8C2cE3t7MC7NANMDe2dBAlR8/cXraon/JyV5sK5CHX0v/z7/cX9npRIX0+Z3R7K0JcC3HjRKEn4OWPTHq7hTGMRQkhKPugX+ygIEiGHtedSBdqbwInNM6k6PUeDwNOb/exjwalw5jUzV0UtvrBNolfRzxDpvnmnTSX3yhzWBXkJsPNwmtNZsfBDLd4zzI1RvAZXgy3q7IZJTUjdNacRpVyifP4Sk8lsXKGEF9gxgArflLC19Cf78Ii73QaH7b2TTQUJWZET+Z2QUQOWWAI8vr2ETfTBUENqoyW7ZW62Kcs3/kT+S32eQEYq5qsBRZn3gsANsJA4WRH5m4DaBpreRdgsMH0gPUyTz+Yt6MrGQvfNF4tW8QijU1JVs0vn0gDxR/80xDlo X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8jniyJbY0bnHVc5W2cwxif2cXICRPfK0EhsxjSvUqOH+CnH0IofZ71BSWf5L?= =?us-ascii?Q?hXcR27pjVUnRbNRdCV35Zf/QgRGDHbPPLwlgsDTz1Wb025cOc+0YwgL7NsUc?= =?us-ascii?Q?2yPCbMBirU6vTF+vM4KjKgye7Pr4eJb+Yg76BuJoQiuvqXVwfLTi3+Prwb5v?= =?us-ascii?Q?RCCdpwt3DDH5Dao4QK0pIeM/DmkOYNAFw4KBOS7Rj7xJFcH6zs++pzVg+0zP?= =?us-ascii?Q?/Dl7qw0pzc7/YhT0tYOey0kxXZcNiiJWdpY++fpUf+8AtoAf92HTrwagcnuf?= =?us-ascii?Q?IWMYb6IzvUDo4BuTFd1FbD3B+WFmX/pGA4gF04k/orGyW8OZDHcxzg9PO6Yg?= =?us-ascii?Q?k/r45NgBDAHrA6uITlA1oBi/evYuTROFVc4+bOi2NnZUASJ5/QUJ68A+Dvqc?= =?us-ascii?Q?qt1tF/e8oRmyC4RcQ7yV6rsKf5MnFJX5s7swCl+5vqXdFdlwZNveL8cNZDdK?= =?us-ascii?Q?pFpsx5bV2ytgWWF0DZRhijkfxUxTFr4JcmgziIRb21VqQOtDRX0RmK6NKBGZ?= =?us-ascii?Q?CPmGoHmn2zXkSTXm8cDnArnVuSw5nEDLM6aa1iZJj1AY7ZXIlAY9ZZyLPtwx?= =?us-ascii?Q?ttKOdYWwZMnXtJtBsOBB69E81HoYu9ckX3Alj1bxekz+wUL7StO6/QTyd6pM?= =?us-ascii?Q?sqsEwfzzeoA58DrhYlR4qPHS5UKsLkkJ2Xjpaq3w6Wzq1iupmfa4cG6jIxzh?= =?us-ascii?Q?PH8IqSQ/r/LOd5glk4an+O4GBp+wVnM5FnAmDfxtW2myEnxQwgORkaU6RR38?= =?us-ascii?Q?CLivWlF578DqlALqSNRRlU/a6GiFilhHOZljK/w5xU0MQyPyaOxV2aX4SoVz?= =?us-ascii?Q?lvYSeZzWI8Z/p7GCntjf5b+ndshID9cIrjz8wK1HJKv+6/Fyck+oSaTO7o5e?= =?us-ascii?Q?Ge1VIn0iMjYOo6EBr2d5rWidSCroXZwn2H5Wy5/Y2W5PHC3ulbRnV7mzu1K8?= =?us-ascii?Q?K15ZktUnv4DQj8zqc0mIraC3MQl6mbbDj1BS7GeNGmg/zDQzY3mQUwRT/tV0?= =?us-ascii?Q?LYmEovptXtJCCrdI//iIMUqbkhPE92v3TVtQsOmOXcI6lOF/xpiNVtQYXqP1?= =?us-ascii?Q?DukIq8Dp9mc3XwjneYICbqZLljUngRJNktA3pn4l/T3Um3yoiLh83F0jTfMC?= =?us-ascii?Q?N3+4A+D7yO9cihOtt6wZlJslcrsuq7L7k6rArOljE3UeCvhBNAzGKPfMU2q/?= =?us-ascii?Q?ASdkpgfphf66aydxDNXbilf2b1opmWI/KOChXx9FmxPuC3yw+JkNRrFBVL/X?= =?us-ascii?Q?AJDS8DRFfC3tfmwn3lUC?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f9c052a-ca3a-4533-8060-08dbc33580fd X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2023 10:51:17.0226 (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: AS8P250MB0203 Subject: [FFmpeg-devel] [PATCH 7/8] avcodec/mpegvideo_dec: Always initialize IDCTDSPContext during init 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: It has currently not been done for H263, H263P and MPEG4. Doing so avoids having to initialize the IDCT permutation lateron when decoding packets in order to be able to parse a quant matrix; it means that every mpegvideo decoder always has an initialized IDCTDSPContext after init. Initializing is done generically in ff_mpv_decode_init(). Signed-off-by: Andreas Rheinhardt --- libavcodec/h261dec.c | 1 - libavcodec/h263dec.c | 5 ----- libavcodec/mpeg12dec.c | 2 -- libavcodec/mpegvideo_dec.c | 2 +- libavcodec/rv10.c | 1 - libavcodec/rv34.c | 1 - libavcodec/vc1dec.c | 1 - 7 files changed, 1 insertion(+), 12 deletions(-) diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c index c41b96c3c7..6cdf11f822 100644 --- a/libavcodec/h261dec.c +++ b/libavcodec/h261dec.c @@ -94,7 +94,6 @@ static av_cold int h261_decode_init(AVCodecContext *avctx) avctx->pix_fmt = AV_PIX_FMT_YUV420P; h->gob_start_code_skipped = 0; - ff_mpv_idct_init(s); ff_thread_once(&init_static_once, h261_decode_init_static); diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 9f63f1a7cb..544d32b682 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -128,7 +128,6 @@ av_cold int ff_h263_decode_init(AVCodecContext *avctx) avctx->codec->id != AV_CODEC_ID_H263P && avctx->codec->id != AV_CODEC_ID_MPEG4) { avctx->pix_fmt = h263_get_format(avctx); - ff_mpv_idct_init(s); if ((ret = ff_mpv_common_init(s)) < 0) return ret; } @@ -459,10 +458,6 @@ retry: if (ret < 0) return ret; - if (!s->context_initialized) - // we need the idct permutation for reading a custom matrix - ff_mpv_idct_init(s); - /* let's go :-) */ if (CONFIG_WMV2_DECODER && s->msmpeg4_version == 5) { ret = ff_wmv2_decode_picture_header(s); diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index d2dbcd5b61..c0f1e8763b 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -1057,7 +1057,6 @@ static av_cold int mpeg_decode_init(AVCodecContext *avctx) avctx->coded_width = avctx->coded_height = 0; // do not trust dimensions from input ff_mpv_decode_init(s2, avctx); - ff_mpv_idct_init(s2); ff_mpeg12_init_vlcs(); s2->chroma_format = 1; @@ -3048,7 +3047,6 @@ static av_cold int ipu_decode_init(AVCodecContext *avctx) avctx->pix_fmt = AV_PIX_FMT_YUV420P; ff_mpv_decode_init(m, avctx); - ff_mpv_idct_init(m); ff_mpeg12_init_vlcs(); for (int i = 0; i < 64; i++) { diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c index 3f173a9feb..39d1282252 100644 --- a/libavcodec/mpegvideo_dec.c +++ b/libavcodec/mpegvideo_dec.c @@ -54,6 +54,7 @@ void ff_mpv_decode_init(MpegEncContext *s, AVCodecContext *avctx) /* convert fourcc to upper case */ s->codec_tag = ff_toupper4(avctx->codec_tag); + ff_mpv_idct_init(s); ff_h264chroma_init(&s->h264chroma, 8); //for lowres } @@ -82,7 +83,6 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst, s->bitstream_buffer_size = s->allocated_bitstream_buffer_size = 0; if (s1->context_initialized) { - ff_mpv_idct_init(s); if ((err = ff_mpv_common_init(s)) < 0) return err; } diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 6abceade4e..fbecfdae9f 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -420,7 +420,6 @@ static av_cold int rv10_decode_init(AVCodecContext *avctx) avctx->pix_fmt = AV_PIX_FMT_YUV420P; - ff_mpv_idct_init(s); if ((ret = ff_mpv_common_init(s)) < 0) return ret; diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c index e9660bb457..152c62fa07 100644 --- a/libavcodec/rv34.c +++ b/libavcodec/rv34.c @@ -1498,7 +1498,6 @@ av_cold int ff_rv34_decode_init(AVCodecContext *avctx) avctx->has_b_frames = 1; s->low_delay = 0; - ff_mpv_idct_init(s); if ((ret = ff_mpv_common_init(s)) < 0) return ret; diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index 449d2fea5e..a4f2d30e22 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -431,7 +431,6 @@ av_cold int ff_vc1_decode_init(AVCodecContext *avctx) return ret; ff_mpv_decode_init(s, avctx); - ff_mpv_idct_init(s); avctx->pix_fmt = vc1_get_format(avctx); -- 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".