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 6AA1E487E7 for ; Mon, 19 Feb 2024 12:32:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5F4FD68D400; Mon, 19 Feb 2024 14:32:03 +0200 (EET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2093.outbound.protection.outlook.com [40.92.89.93]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2814368D225 for ; Mon, 19 Feb 2024 14:31:56 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=in5UWyyALFKF4RI6CbEU7GD5S1LSjwOe464+x+eE0efpVDRaYrBWYSejxEa/mEZUPOAtbm/8WLSeON8BH3/6JZy4x0FLSRStr0xEypsiPGiOvJZ6XQv6vuT8Qvn6sUMmGhFDBr1bg7kglZOVM4zCa5Qt0R6DqL28dLHglzX8U3fYI8WUY5Sz+KS6awOgn0r802/4BJL+zmPHQCFrkQ3ZE7s7NzBF9P6lcMOQfe2fzSTVjynFAFkjI4Ck9MANuC7A5Pls6miFEx8eQ4WBroxR6eCRx3pa8OvPppXwMZS202eo/T7qpkV36drJTXcR16PGONsVzIwAf8dEfFoaTKrmcg== 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=ensDKdSN9cn23jCMJJXvxWS1oBuJWL2f5D8bIIYXuHg=; b=NB6umdazAzIW7LglMckMiBornDJpyFY9/QQoXyaLrRdZ6G3r98TTuE+682gPx6HzTn5Gtp+DKes/s9rENAi3qR/11oG/yvRdcJW1Z90Hrvevd3Xrso3BY3anoZHST4yTSQBGxJfa1YhqyW3QqCYRza51Jel/zd1l8qz4qFlCHnhPeelLgdVjstIlvzc6bK8tOmeWPrgJsmPktz2d7KfYAYtP1+aX+KmTUDrAJD49ktl3J7sHc2fAXxLQAb3sENAfUk5aFTtthYMnp6K1pEdl/620zTFILai29A61SONSijfUg4nhisEwVFM7dQ/tROZ42flmkRdShyHkpjxcyaHvHA== 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=ensDKdSN9cn23jCMJJXvxWS1oBuJWL2f5D8bIIYXuHg=; b=OZIhRSigsr+/byVEFDWQYwdzBtoM6SLM6HKQkW7G1DAZcMWbrTWKHRLIoeVng2iwCxTCQ+8W62/07eo2DDOAIfrd/YwYmHkRGcxItUNr4gm4yzHWM4TRDdpJVXUCwk+a/OALqUtoqVzXcGiuYxdfE3NIR2A1a3DLg0sps2BshZFVO5OAhrJyL/9/3nm9jrzAolqPuFTVgbF/T/xwN+AuPhPTKgOIGsd+BxZ1tPouNUszbBDiF9k4HkE2FJqttis0aUJJ9SeRO6pQBfHNMRUQWJKotWoztN+vzIIU6SujCxhICBWCBlluNRKDR0TdFrkd6Uem9jWJinhdYwf04LWMwA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0148.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:275::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.32; Mon, 19 Feb 2024 12:31:54 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7292.033; Mon, 19 Feb 2024 12:31:53 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Feb 2024 13:33:43 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [HnIbj6nkuV6pq0dvcxFG/geNuXENkvbHk1A8S1SV5oE=] X-ClientProxiedBy: FR0P281CA0009.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::14) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240219123344.529789-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0148:EE_ X-MS-Office365-Filtering-Correlation-Id: 3a57e317-246f-4085-ea89-08dc3146c118 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mY0c49ABP/9TnhvXAXvmhrBo3FEr3vCB0ZEF8NAh/2BDpaG2+CqQ/C8Rffdj2fA+YM+oRL11verwGTdwIPcYc46jtKw9xJDluKDj8yz1AgQ+VdKOhG8ILb8ChMAS4eJcjoFuUn0OUjNeXRYUN6U7+O36J/wtphQcUfnk8emP9yCiiaKhoG+rCTMpj+eIbFG11YWDB/FIQug/j4+n4Pjie8MvwUqQUNpS6I7/04NgZlPxSeUqv7BaMLIUnK2PSK2/P5jnyRmF6PNgn00kY2O4UPnm0U8RSqP5hi9Pnof/HJf/urJQvntRaS3spf2XJgxnx1HkmaEyqVeo4VgbLJNtIb1Ti7AB2P3J/T1HmMumHWaqU9BhOTJXLT3agZhv6ffynw6H2yA6BqyHsy/jYlgJSyFEiVNFJavzJZERZnIYynTXvs55oUPBC+G7OB2OCzEyq53M+bB1mM/69J6sXhX/DN67EUDvoAv3+bxZFIdKdC4k67tOybC/Nm22LQHwSeLG3TOLOPLhW6OIWPu4WpGi+/SmGl2QCK3q1Cuh+D+IO8SWBn8JUnrXt5maFyqlodIo0hpPsckH/KLhDycjtcCm9IGsfhhmFTZaqvdKwVFK/xvQMVUFvay60mnl8erW+Gz3 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?k2RRPiDuzKmnnE9Gqp62cf1feHuQ/A6F8t+s/5E/U2DWm4+RnOiClwg8QddE?= =?us-ascii?Q?JAi7AISz0k0qr03ei+wznqcTeyPttey1D0pIkUtMVe4d33GokE6YdtJXFxqP?= =?us-ascii?Q?g9T6sNDT1zc+P1STbi7pGBNIAzlDsBHzyF6K7T045vQE9VKRsDkzAamKWsCP?= =?us-ascii?Q?Y8BHR0QgIrbGFJhzpwk5XEf2I8Q7ah9eA/ojMIOkzUjXnpRdYyq9fIU+LvcC?= =?us-ascii?Q?O32Jl/apF+P4hRsxs9f2exmfuOXJzd8fs0hU/Hz1hVk8SVh8RPPDM9TydTfi?= =?us-ascii?Q?ZsrXOsliit/2ke91zLK60jOnmg4f8mLbGIGgfSLRwaoeAgp+i2kJpuIhqKzM?= =?us-ascii?Q?MVh5yi271Bbbfo/Ss577QXoFX4OLmnOkiu0zPE04O+e79WptBWBNzLRvsUgV?= =?us-ascii?Q?s6dNwE3UckO1ClFTFSPXBZCeHVCADg5MO+6eKRZYtsLxI626nmGoXaNPNZ8t?= =?us-ascii?Q?0h08Z/vL/JYkSptnOraDGlU60nyUpdqo43Xrelhu3paWu8OpHCUfJQque3/c?= =?us-ascii?Q?DV8V0LUh7b0sITsG0E3vIdqLnUyg3Cwf5OLxodZNnRLhV9zRDI+A1wBbfn8X?= =?us-ascii?Q?PTnrAAEvTPA8a9kL+cnkjs9Mh1FEF1Mr8DUPmLLPjI3iuP1rtQo/EQDlqAT6?= =?us-ascii?Q?xmfIHveud0dvkYkpwl0rzdG9n9svCp94/38UN4+9plk3c86Aou6LG7iSikzw?= =?us-ascii?Q?U4vvGR4TDH0udDa3Aa5qLc3YFzhYyN3M96BOGHKLtI2oGqRO2E9YLOmqDhrA?= =?us-ascii?Q?gJBlgZkdSzvPy5uie2warvyY0ot3LRxLgG81OSIcbhb5XSC3M+eGImdG0aJ9?= =?us-ascii?Q?D8Uz2GsCC+jUG8rsgDo7f6vyZj77istJXx/sPVE3psMsONJqD43k9LCzFn+x?= =?us-ascii?Q?wE5SyfoyhP1TGS3ZAlnxLxJCkuLctd3vMUbR/d7hJGJvNzKCQqIXrxUfsQSx?= =?us-ascii?Q?Ptxpd4gyrq+9BTTohhotxrmzozWiVzQR427thpNOS1P0TsGeGmtdpyY/chwF?= =?us-ascii?Q?TXeflQjGt5YAWx0QZ18ihPHeeTF4aS66iLfFEYybj1wyMs37z+yBMbk38dbH?= =?us-ascii?Q?V1jY38Kn2u/GJ0PHg14Tasjn8j64giZGuSC7iYzbyLFwxe7h5XChIlezf2QP?= =?us-ascii?Q?B0MpMnMhyo7mLl1acOEo3p0pEZzr0y2Url1EJ6FoEdn0wlJKG8rDo8PiIoxA?= =?us-ascii?Q?LDgmWoLBaEJkLNPOO9jFMjrMWVMP02e2ShU/5EDKmytqo0neA1Gp5cMFHo9C?= =?us-ascii?Q?YJy41aV3rubYVRiVj//fn/VY1Ag+nlbCzdN5jgYpxA=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3a57e317-246f-4085-ea89-08dc3146c118 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2024 12:31:53.9168 (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: DU2P250MB0148 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/h264dec: Return early in ff_h264_draw_horiz_band() 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: Signed-off-by: Andreas Rheinhardt --- libavcodec/h264dec.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 9f5893c512..5cffeafc6b 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -104,9 +104,17 @@ void ff_h264_draw_horiz_band(const H264Context *h, H264SliceContext *sl, { AVCodecContext *avctx = h->avctx; const AVFrame *src = h->cur_pic.f; - const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); - int vshift = desc->log2_chroma_h; + const AVPixFmtDescriptor *desc; + int offset[AV_NUM_DATA_POINTERS]; + int vshift; const int field_pic = h->picture_structure != PICT_FRAME; + + if (!avctx->draw_horiz_band) + return; + + if (field_pic && h->first_field && !(avctx->slice_flags & SLICE_FLAG_ALLOW_FIELD)) + return; + if (field_pic) { height <<= 1; y <<= 1; @@ -114,24 +122,19 @@ void ff_h264_draw_horiz_band(const H264Context *h, H264SliceContext *sl, height = FFMIN(height, avctx->height - y); - if (field_pic && h->first_field && !(avctx->slice_flags & SLICE_FLAG_ALLOW_FIELD)) - return; - - if (avctx->draw_horiz_band) { - int offset[AV_NUM_DATA_POINTERS]; - int i; + desc = av_pix_fmt_desc_get(avctx->pix_fmt); + vshift = desc->log2_chroma_h; offset[0] = y * src->linesize[0]; offset[1] = offset[2] = (y >> vshift) * src->linesize[1]; - for (i = 3; i < AV_NUM_DATA_POINTERS; i++) + for (int i = 3; i < AV_NUM_DATA_POINTERS; i++) offset[i] = 0; emms_c(); avctx->draw_horiz_band(avctx, src, offset, y, h->picture_structure, height); - } } void ff_h264_free_tables(H264Context *h) -- 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".