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 F40CB46CE0 for ; Fri, 5 Apr 2024 12:43:42 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 948C768D1CC; Fri, 5 Apr 2024 15:42:38 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2014.outbound.protection.outlook.com [40.92.91.14]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F26EF68D1BE for ; Fri, 5 Apr 2024 15:42:31 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kHbMo0q2F/HETUhdKPP1Vdy+bDvHNrtzugZQrEc50dzP8mjV7ZnqoAjZBAQs9wTjptz6BRDE9UtsQfz6k251uP76tNRhQdH1a+b2755CLQ+K5oYErl6klBkJbfdr/hWSWqm6BGaTdgrMYmq6GBABmDQoSxUBoMABOjwYgwRg/EvdfFnozSmnGAvmQib2Lqf3ik0VqHz9n8ywyb88sS/P4yk0NDkIA1z5vWbRzAiwX1tcs/NqlbmhyF+Rkvaq7cF+fvbQebOnY1Sj2H6Mc7zF47BSSwrlY/uszP9uEP+bcokF1HC5uazhiTazfOcbPbQbMaqp+zQBrK/gwJnvE4dmcQ== 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=Xmv+0ZEyxDUm4fvffrNLvKYWh8rZEYX5Ag8ZN0Z4c6Q=; b=fduNRtjTFRirxLS5go+rh5hFG0cMjdTQDcWJ3yXpn7M8I9GdHVHFLtWajQggSqo8KJXHckapqYEf5mo1Mas+549HyJ43bI+IQerxm3OsgijRKTE9MLQMGotItJaHg2x0vO+qM3z2AMKyWbWvakQf70OLBWLRzHJyzDQluJPkvoNUuhpY0UHqx89hlnjMhucU5pdHp0xqPFWIemUjmz/QiuIHSF9SB8D/Sw74tUurTCzDMRkbsd0doSpfkJVr1CfQNjt0w8R2+gDG6qUfrtK3ih86QWiojEwdX0UvuTBvGxhk4ttgI+pJAsl8uorgwu1cZ097v1tyNfT+0+adoLlvAQ== 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=Xmv+0ZEyxDUm4fvffrNLvKYWh8rZEYX5Ag8ZN0Z4c6Q=; b=mdN/Gw6oB4INHd86FDMcVu/6YZkOBdRLMtqnduGUn9kQs9LrS0CtOgT1dxSdvtcb5mNs6sojKzBzsjd2cL1dqYxjD52wrOrm113mhwz4HF87AJ0qyDjbiaGC1Gs7GmEAXZCWGj6XDGxJtK3pINzZ9tvEzyCx8Xg8rzDRS82eyX3CTrJJ3OpE1cYUUNFLY2B70MqphXIjN483iSUcHu2BgyRYZW4OqehS9mcr94tK8qxvnVn69J0LtrKAGjm9LXV6WCWfuQvD4RRgsbGWQxfaQNf2W93YSL45QqPV8lcP9Eh2RIGA4MdBx082CGSNhKk2WQDviTzWH7n0wt4+DBOu6w== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0278.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:329::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 5 Apr 2024 12:42:30 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.042; Fri, 5 Apr 2024 12:42:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 5 Apr 2024 14:41:37 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [7DUa0oF7cBsniJ0vmhSKAza6xgzM43b9wYsuZUDBUwo=] X-ClientProxiedBy: ZR2P278CA0074.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:52::8) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240405124138.2343725-13-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0278:EE_ X-MS-Office365-Filtering-Correlation-Id: d1bcf08a-def0-4971-4ab7-08dc556ddb8f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ryfmJvVPohyi5t/Gpdv/uqCYptYxevpkR0RoVEzcVBD00ov0vew0YCG9D7++Hlgm8YlEgeEr4o1UxXUUQWLyaB3QhHMjxR6Yttc+ZBmNDwhDOvu1dSs41AtIDzUsWUrGlIyr7m9aw3ql5S8xQFECIWd6pJtzHOL4kFH/i/1vvrE+TxEgLORI83D6VWmMwxip5yx9jfd+19sbpSQdilQK412RcG4fF4r8BRqFLtP/Ws1JdhH17+SE1T60COJn2NXd4IYk4H5fqktOhsWrAnhhQdusXYp//ma+nNhxT0xpPxtMZddGIlMMRdb2f8KDNVMNSqbs2cM0BR5YRdp+LYkgrUqjss3Vi9/YR8/263AwQVCLHoB1/ZJwPDui3WBmu4VPWo3dictMCgOUTF3OiqAVLK9plKLLmJOSgR11s6rJqWhF55P35egHnUEMq7SvwNKO+ocBo6TQeyUpatVn7W6q7CwigzuuxSMzWhLu9zbOAUk/ePUK4dWZ3f53Cv6ldpjVQcBcNWpQtGvCkMoWRbzUMz1ZOjgJysY/ZEfIx/Ss1MhI5iEBh2VCMMIpO+M6paV2rndQX8VEcnQkatVadlZFcNy/CVQUkFgzj5+s6h/CpYViCtQinfr+fNHDpx8uva07 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yJOBS6sFbst72K1Ot9d+jg20Oqw2IvT5rX1V4hCtl0fS7XipkssBJ88onIEj?= =?us-ascii?Q?TrLOADuDjfPxa1HXzHMxIAO5lPPP+LhsV3EoseV3zPmm90SLeee+JY4guUIe?= =?us-ascii?Q?Yhnn9yXmriq/LmGZ57nMDsDh5509dFBXO5gzjKL1KXYukCef6aChYAb7q4Cp?= =?us-ascii?Q?T/d9L+r/4NlPPt4j+3GUhqTKZTI8R9ECAAD/jyovTkVpM14s8ZbbayedsoF/?= =?us-ascii?Q?ofKvuJP6LWrSjtSKuqxTmdxizIv15MEfwvLMcKkFpO4EjyzpjDkff8406mWk?= =?us-ascii?Q?lWQP1oH5s0pzJ1b7E6bgwYCyLpO5k/8RMilZH25hFDKcxr0Vm1S6iptc+ZLm?= =?us-ascii?Q?DNZaIN3XATYewhKRDBAtd+zlUFZGeISyDoKbD4jdgwg8EXqVYGv8KHtX9qye?= =?us-ascii?Q?WkM78PiiMzYK2HlzVVTNJvC43BRZBX2FoEVPexKiQtlcVGOLfFx25ATRd4a1?= =?us-ascii?Q?OURBFTUFTQ/jnCWqWYFwAcMG833654+Rc44e5ausuJBwQaxj6n16KHH+9C0k?= =?us-ascii?Q?vbmMxz4Yq4r9NfKqRydDbOecx9+LJ985MEjrOuZsf2KX9M4EL5XsBpA+s69M?= =?us-ascii?Q?WsO2M+G1jEX/D1do0CWXwRAkAKjjoLy/fXmYtCBMcax2CN1qcRUley4jx2xn?= =?us-ascii?Q?sRvS2OD/ekBxStgvgASTdCSEBKG1RJl9ZAUfJPQQV/s1Lj5oKmTdzKXlITEh?= =?us-ascii?Q?Oi4vQIUtXJb+04AzLj6JWqtvKUEGNaQPoEsJCK2Xh9Yvd+9BSuZFyd3O9jYv?= =?us-ascii?Q?+JA0X8AXYiG33fnA+o1XHffDpPA2+Mbkx7ADMIzrIGpybFitlY3WoVbI73eH?= =?us-ascii?Q?7n+WX4unQb2uZ9ycKTxc0/KcyIsM6JqwoGbd4qla3bZqE119hMQmtyoPRLAO?= =?us-ascii?Q?BkHFZ7i/zS+8xWTsQ6kHoHLj1nsHhBVFHtfUZG0vW1gLWHO+PWZuVbeLwuHb?= =?us-ascii?Q?Wkl6w7TnrSd6DhZ9gfTPxYLTZHeV/3SD0COioGCec7vLpOVxhc9GWzlsr3tk?= =?us-ascii?Q?IwHRUT1BK22EJMi6YlUEbtJ+YywAvdbYhO2xYSL6gz5oU/n16cSi4rrU8Hcy?= =?us-ascii?Q?V5hRwHBd40MLF0SSZtkzrUhlkYik6oFlrMj32wtXwIpQb4DaMQ4GXr5IzMNY?= =?us-ascii?Q?rnDinKmprbq6oDvYXHXjB16KVyNOGCNTGeaKcYZAk4kCJLBS/BUR71jPcp+k?= =?us-ascii?Q?nuAQEpxlkpT6VtfElVaO1wY14pXUws8SJ50Zjzj3WL15eQ+1o34IBrnuMPQa?= =?us-ascii?Q?CkqV2ag0/ejZCn9blR2edDJPPVQ85XdJ6PMCKqyHCQ=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d1bcf08a-def0-4971-4ab7-08dc556ddb8f X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2024 12:42:30.5375 (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: AM8P250MB0278 Subject: [FFmpeg-devel] [PATCH 14/15] avcodec/mpeg12dec: Remove redundant mpeg_enc_ctx_allocated 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: Use context_initialized from the underlying MpegEncContext instead. Also don't check before ff_mpv_common_end() in mpeg_decode_end(). Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12dec.c | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 45627e702d..21a214ef5b 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -71,7 +71,6 @@ enum Mpeg2ClosedCaptionsFormat { typedef struct Mpeg1Context { MpegEncContext mpeg_enc_ctx; - int mpeg_enc_ctx_allocated; /* true if decoding context allocated */ int repeat_field; /* true if we must repeat the field */ AVPanScan pan_scan; /* some temporary storage for the panscan */ AVStereo3D stereo3d; @@ -803,7 +802,6 @@ static av_cold int mpeg_decode_init(AVCodecContext *avctx) ff_mpeg12_init_vlcs(); s2->chroma_format = 1; - s->mpeg_enc_ctx_allocated = 0; s->repeat_field = 0; avctx->color_range = AVCOL_RANGE_MPEG; return 0; @@ -817,16 +815,14 @@ static int mpeg_decode_update_thread_context(AVCodecContext *avctx, MpegEncContext *s = &ctx->mpeg_enc_ctx, *s1 = &ctx_from->mpeg_enc_ctx; int err; - if (avctx == avctx_from || - !ctx_from->mpeg_enc_ctx_allocated || - !s1->context_initialized) + if (avctx == avctx_from || !s1->context_initialized) return 0; err = ff_mpeg_update_thread_context(avctx, avctx_from); if (err) return err; - if (!ctx->mpeg_enc_ctx_allocated) + if (!s->context_initialized) memcpy(s + 1, s1 + 1, sizeof(Mpeg1Context) - sizeof(MpegEncContext)); return 0; @@ -961,7 +957,7 @@ static int mpeg_decode_postinit(AVCodecContext *avctx) avctx->sample_aspect_ratio = (AVRational){ 0, 1 }; } - if ((s1->mpeg_enc_ctx_allocated == 0) || + if (!s->context_initialized || avctx->coded_width != s->width || avctx->coded_height != s->height || s1->save_width != s->width || @@ -969,10 +965,8 @@ static int mpeg_decode_postinit(AVCodecContext *avctx) av_cmp_q(s1->save_aspect, s->avctx->sample_aspect_ratio) || (s1->save_progressive_seq != s->progressive_sequence && FFALIGN(s->height, 16) != FFALIGN(s->height, 32)) || 0) { - if (s1->mpeg_enc_ctx_allocated) { + if (s->context_initialized) ff_mpv_common_end(s); - s1->mpeg_enc_ctx_allocated = 0; - } ret = ff_set_dimensions(avctx, s->width, s->height); if (ret < 0) @@ -1029,8 +1023,6 @@ FF_ENABLE_DEPRECATION_WARNINGS if ((ret = ff_mpv_common_init(s)) < 0) return ret; - - s1->mpeg_enc_ctx_allocated = 1; } return 0; } @@ -1233,7 +1225,7 @@ static int mpeg_decode_picture_coding_extension(Mpeg1Context *s1) s->mpeg_f_code[0][1] += !s->mpeg_f_code[0][1]; s->mpeg_f_code[1][0] += !s->mpeg_f_code[1][0]; s->mpeg_f_code[1][1] += !s->mpeg_f_code[1][1]; - if (!s->pict_type && s1->mpeg_enc_ctx_allocated) { + if (!s->pict_type && s->context_initialized) { av_log(s->avctx, AV_LOG_ERROR, "Missing picture start code\n"); if (s->avctx->err_recognition & AV_EF_EXPLODE) return AVERROR_INVALIDDATA; @@ -1740,7 +1732,7 @@ static int slice_end(AVCodecContext *avctx, AVFrame *pict) Mpeg1Context *s1 = avctx->priv_data; MpegEncContext *s = &s1->mpeg_enc_ctx; - if (!s1->mpeg_enc_ctx_allocated || !s->current_picture_ptr) + if (!s->context_initialized || !s->current_picture_ptr) return 0; if (s->avctx->hwaccel) { @@ -1881,10 +1873,9 @@ static int vcr2_init_sequence(AVCodecContext *avctx) /* start new MPEG-1 context decoding */ s->out_format = FMT_MPEG1; - if (s1->mpeg_enc_ctx_allocated) { + if (s->context_initialized) ff_mpv_common_end(s); - s1->mpeg_enc_ctx_allocated = 0; - } + s->width = avctx->coded_width; s->height = avctx->coded_height; avctx->has_b_frames = 0; // true? @@ -1894,7 +1885,6 @@ static int vcr2_init_sequence(AVCodecContext *avctx) if ((ret = ff_mpv_common_init(s)) < 0) return ret; - s1->mpeg_enc_ctx_allocated = 1; for (i = 0; i < 64; i++) { int j = s->idsp.idct_permutation[i]; @@ -2448,7 +2438,7 @@ static int decode_chunks(AVCodecContext *avctx, AVFrame *picture, break; } - if (!s->mpeg_enc_ctx_allocated) + if (!s2->context_initialized) break; if (s2->codec_id == AV_CODEC_ID_MPEG2VIDEO) { @@ -2546,9 +2536,8 @@ static int mpeg_decode_frame(AVCodecContext *avctx, AVFrame *picture, return buf_size; } - if (s->mpeg_enc_ctx_allocated == 0 && ( s2->codec_tag == AV_RL32("VCR2") - || s2->codec_tag == AV_RL32("BW10") - )) + if (!s2->context_initialized && + (s2->codec_tag == AV_RL32("VCR2") || s2->codec_tag == AV_RL32("BW10"))) vcr2_init_sequence(avctx); s->slice_count = 0; @@ -2606,8 +2595,7 @@ static av_cold int mpeg_decode_end(AVCodecContext *avctx) { Mpeg1Context *s = avctx->priv_data; - if (s->mpeg_enc_ctx_allocated) - ff_mpv_common_end(&s->mpeg_enc_ctx); + ff_mpv_common_end(&s->mpeg_enc_ctx); av_buffer_unref(&s->a53_buf_ref); return 0; } -- 2.40.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".