From patchwork Tue Jan 25 17:36:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33840 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp828122iov; Tue, 25 Jan 2022 09:36:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJwnlToUGCiWQKI+yoEayXkP7utFgi80FecsYp1cMiECx22Xuhpe8DqJo/bLpiQh1gNfZmLV X-Received: by 2002:a17:907:629a:: with SMTP id nd26mr17693814ejc.680.1643132204354; Tue, 25 Jan 2022 09:36:44 -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 b65si10648205edf.281.2022.01.25.09.36.43; Tue, 25 Jan 2022 09:36:44 -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=OGZBPVuf; 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 2B1B868AD15; Tue, 25 Jan 2022 19:36:40 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073074.outbound.protection.outlook.com [40.92.73.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 11D9A68AD15 for ; Tue, 25 Jan 2022 19:36:32 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kEbU9YQBc6RQDphb5Og2SoUNppjxvJjUEjE6mTV1lZhyoyIkbfCkDEARbImos62G4Z3nXMSYwy3m5YEzSkow4xNURRxwey1bq9BWNAd44q35wVRw7rFO9KA5DRsYFyg5bkZg13sRNEtbZ/AhFhFguaKBJuTnxLUzlOVEH7XtaysV66IUxw2x5FDt8rYLJV0nN4ruWBAyII4xklaji/KblG/LXScWbdKk1+YlbcDCTHDIaAjoP0CqsLf5oGFS/oTCcnKqfUOYvFM317jiDQhZGmYE7IzsdtNJyctmMH+U9k0cZS9cbUmsSmSCnA6Huxb34jQaTX5u9LK/ovaYtGDOrQ== 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=ZO/elom6bA7RsrxiJ6S1ko2qXdhHgZOpp+2UO57AZEM=; b=nKLaRs7VqmCmuKho64PocYKYAHFOZpqD/OfXIuTsD/1J10DSIhyb5I9h5GcRIxYyIDa89QS3mQSq9AYuptYohNgjZi+ysqqK+KCh+U9eejARRyUAKUcAe5QAwCkt6BDRSost1s5bKUkDWdbURYI4QiEMK7doCPcngV02TbllxtvK650RbUDJRjg3HKbcYqGhWD7rrTAx6ZQUtaBy9DSaV28rMWbCQhZu62q1uoOpvMBiZB5Xk+FQ/4trk9eEPUJuJYQU5Yns6iJwb+y0n4HbU5IZjMAypJXsTIXCSvf1y7aeyP9AIyVCvRjoN+XY+t44Mi4ApocQSx+aagtmArjHpw== 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=ZO/elom6bA7RsrxiJ6S1ko2qXdhHgZOpp+2UO57AZEM=; b=OGZBPVuf9745x9nHv+Q9ApMPB4pmBAbof5bMYmpos/EkghWvrDEsNZ5jhE/2p9DgUfDUMEsNOnoZccjM+8g11cST+GiLU0IguXkPSbzlClFjH0O6sV0WRqCQk94byKQAKeIOyruKLCd9/tHi59z8SdRoH1VpVdB/sS9iCRmftRwLECEZoz5F19g8mts+dcaMy+xL2pvxNUHeby36mq5BMmYZpKuE/3e7LyRT/9NrbNVAj4f6lkAEWi1dN+qhj3IxQPnjbGvpLA+ldAfarPhzH48JgjPMlue6/IX94IuXlh6ptXtzWEwPrlCKVLQ6DHXJ02mkStvpE70dm1EYE6bgUw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by VI1PR0302MB3197.eurprd03.prod.outlook.com (2603:10a6:803:16::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Tue, 25 Jan 2022 17:36:30 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:36:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:36:03 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [GZUocYtSWZKNyTy0i4D/lwGD3mYII7Aw] X-ClientProxiedBy: AM6PR02CA0013.eurprd02.prod.outlook.com (2603:10a6:20b:6e::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125173623.994875-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 27191d89-84cd-43d2-111d-08d9e029389a X-MS-TrafficTypeDiagnostic: VI1PR0302MB3197:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DfkwhlrIDMbpkaryIPEeffZNvGC3aZOP85XP448EoMZmL1+Qc/vTM0k+J/AicQ/u13MrwmVZCeVdpEu5dV/C4PJe7JrNFNI6rn5FKHibBilQZC3eqI6p+xYE6quG1TM6iuGY8vPHP1NUuCqONFV+TMr1fT+0tO42zdULGhp8xAVznfkwrg+s+5UeRiHFvNZkflqIKrlTSGHGTml06ryXnCzduHuv4xJGaCRoQXzt1n9Y3czoZrDULlaI8hjmu0xTn13nUfusKmf1cyc7cLSIPCHgTdZ8C9aFk5FoVF3UDEUCA4cm7/o6ZnHz24K7jLmeLD65JzPhrxjTo0tglbtaaB8DZWWw5orQb/EldDvHXyshbNrKSQ/y1zO910M8oBilcmmq2htTphJHk3yPdN4C472EmQARTT2jG1cCO9bmu8fAAjyHRsbmptG8+QWfbPrD7LVpLPJuZdwjgGET2wQ1tmJj/C82q29vai40kLuLL8cSJ2Aq/1TeajpGtO+AhLpiG6ybXnBK1LlWcaCv04qfx9Mqx5jVyPSZoIEwdnoy+PsXTXuLLvEkOFakzRO7k0yl X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 649xpeuODZoRA0ID1c5e5r4jTWKHeWgnndpfoolrWwEqAtt4OuIbMauQsbC04/FA14mq4QgT7cukBe89IGPnJEjP8EB0LDQPqdpkj6cLTtuWEwOlUndqRznH7XJzD7/di4WfpOiNZRYQhDPZFJveGwv6FHxpNDCA916jfjYcnUHnwO6ZnzL1w2r9GKcuRPYgPMG3k4gtyM4aKl5qNCrdzxK48h9/gedm7Do4uyVXCejhMsvW+DGIT8MVdq9ybZpjSy5T7Oa6MwamfgnJZlzx29nHS/0ajzX3gSlcEuYcDltyKmzZ8excc2zTG4bbh36+Xym9ISS2kmmgAxHdLTtPHDT2rZhMnllgxBtMbSoNYQMs/7uERJctNOwPGHShjF4ftfX6oa6ult3QI3aQQJpcfMtircamNR2D9UTyqzat/ORNrfmNSRvloxVg0OqBue3jd99tbSWCRCXKFTwlyOGh2l2oe40qjf1221hWWD1RCGWp1m7fAt7m+bJyN3cVKbArcUxSMvWFF1xhIEcCww7hVwm60OMeCYDsF1iJliZJx3zrJcdM3v67U/7AdggO8xgDXHaAwUdr9rtWwzRvdDKRH6GMkeLgCEdhFV9LGbBTD+TQ9hz+JK2K3WAncyggTJJ00+rNfGO7jE0q3WsX+jm4cFaOBlJHPK18GEcn14c6h7b224hsL2c2o178+O4spGp975zW64/8uFWkfNMDz2ue6RumgO3UZ7P/+HVEqsE1E77x93IIZeT/8ltQXNrIAKT8igOcnoEf5EQEMwqkAcB79HANgFQxvZlVPL6/NVF3AmGVbAb3P1ZSoW7gLOmtuUyiWeKK+ep4dqCQtqsVhrb2pd6RZhPW2aE0zqWnQKjdYSYwOc5CusEV6ZW8leULhTbC9mEV+GpVRnXk2hWEaPZNcxg7K1vOzk0xJR/DfLAqYCb8qhD+zuVuA36t0Faj64JFK4cPoV1DeL1JwYD/eV0WMw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27191d89-84cd-43d2-111d-08d9e029389a X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:36:29.9869 (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: VI1PR0302MB3197 Subject: [FFmpeg-devel] [PATCH 01/21] avcodec/h263: Remove declaration for inexistent function 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: /uFXIpWP0wb0 Signed-off-by: Andreas Rheinhardt --- libavcodec/h263.h | 1 - 1 file changed, 1 deletion(-) diff --git a/libavcodec/h263.h b/libavcodec/h263.h index 982e545491..31836ebb95 100644 --- a/libavcodec/h263.h +++ b/libavcodec/h263.h @@ -68,7 +68,6 @@ void ff_h263_encode_init(MpegEncContext *s); void ff_h263_decode_init_vlc(void); void ff_h263_init_rl_inter(void); int ff_h263_decode_picture_header(MpegEncContext *s); -int ff_h263_decode_gob_header(MpegEncContext *s); void ff_h263_update_motion_val(MpegEncContext * s); void ff_h263_loop_filter(MpegEncContext * s); int ff_h263_decode_mba(MpegEncContext *s); From patchwork Tue Jan 25 17:41:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33841 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp832031iov; Tue, 25 Jan 2022 09:42:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJxYnlt6XAdsr7n8nGQ3oZrxxttZU7qfhEJT0La8q+XiTqyb3bG7e+43UfZCINNR9RHOH49A X-Received: by 2002:a17:906:d54d:: with SMTP id cr13mr2471334ejc.567.1643132527204; Tue, 25 Jan 2022 09:42:07 -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 jg3si3895874ejc.30.2022.01.25.09.42.06; Tue, 25 Jan 2022 09:42:07 -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=X6WhSFRi; 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 9535668AEED; Tue, 25 Jan 2022 19:42:03 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074047.outbound.protection.outlook.com [40.92.74.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CC5DE68A58C for ; Tue, 25 Jan 2022 19:41:56 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JeCakk4FyRTWDMJQmrOz/lIF0VIbd1Tu1JGydqIbfu2JbCLGwPGpur7ZKp1Gz8AidYozHFy84NUwZ8jnAIoZRfKddAfYxKJPVmt831y6MUxUouOTxPoGfDiwNJoRQ05TPiIhtkZ+RtEDN6y2rtL/Th1mngl3NHqoAyBwNewo9bJZEoyVzNgS4HR61KMRUgPGxwYfqGU0Zg3jqnYzfce+pMWVD5Y1/3lXgEghwIhbNoLhGrJI6rkYcdcvdi+IinExFglEdtyHd92U3/v2VELT8QzKVNpIBvOmvPl3G+EGdSArR6m8U8AaPRmsn6aOo5/2NUjOXx8sK1/Lf4KVw17pwg== 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=/IFjkXD1E2ALnCNfrMgb9kZQpFO5XfS0tYK/+Qa77Qo=; b=jKcdUseoEi1yjc/EDSOw426BTurmvSSlMAUHrkyxQqaCNjx0n0WgXMOOqjtkdnGAMJG0K6EjUo6VVz91oQmimbnrEPaPm/kwG9ftzhqUkjRTg3OQY9WVm2pBfLz8h+B8GD1EWj5THP1LJ2FQiuIHj7xg0/p7efgpcCr9aUKjUGaK2gSnlgCT0CrdIOurRwVoZjIrAJIhcTUnCtlEaxECCjnapaEnXFRM+BN2OaTea7Ze3Z4A62ZtMFWBCYswHuH++DwHsw1mmNYv0p3qPpmh8OzSSbFDHq5+PICl42DjFFSunL0G2cf0iQuupsgkw1nf+DDJdAW4raUeGxQ6XkWpRA== 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=/IFjkXD1E2ALnCNfrMgb9kZQpFO5XfS0tYK/+Qa77Qo=; b=X6WhSFRieaqkjNQnVU5I8s9mh8FZj9pS2rTcZU1vnw6wXT/E/oNuoEhumYdfPgVVg7W9Ibp4uuYCV7Z7nTlRAebD0/0d5e/4BOtaDV+yS72DkV4n/LRGajr+VLlsnS9GK46gFbgeq68N+YaGRNzrCqPlbQvX25QNHdawH/knoETuNebX6bxKGQ5CQxkuRPC0dOBWP4DZiWg4og9qIkVpUDPGlRvGKlNevqeEc0cmC7B3eSSAmDkLtjdfJLzTxeseMk6XFAMZg+uDSgUt8dsw+S/s2xpiA0bAHbpm4jgSyHUL8lOVKu5fyQjp/ekO3QbvUy0vuoljJAu7zXAq4os8KQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM9PR03MB6977.eurprd03.prod.outlook.com (2603:10a6:20b:2d8::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.19; Tue, 25 Jan 2022 17:41:55 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:41:55 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:29 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [L7fVCoEs17YlX7JUPyNHD4UcGtG1JyW6] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4b082fee-3248-4a55-600e-08d9e029faa1 X-MS-TrafficTypeDiagnostic: AM9PR03MB6977:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WrCpnRFwY+aFzxKRsFV7kkrN9zB48Uq0N/B9VU3QFVLqtrCjvWUP0tbAlCoPn08WaXyh5UpzdQ0HOLkVakuN/4ky+U1HfuDFiA82xA8NzxGDwC/IkNKvnpKFltMvuEnmYKsO28354brwquNkS2w2JKrvTPHRHm+Ahppj+OW117PjzKcj5kGcM5i5DiXFJy/h35/NOdjJb1EMl6ypYvodzzo6bIo+3OCbiZO4FecGPvTWbyFOHFFnTco7cibBl0lL0p9+KDIY9SF4EulGNx0UZYrku39NIfaPPkWC+c4AqRIrgbZrSXRz1GP7SRNlVY3a2SF9ik7ZMmEWGuCbO28/9yvae8IblA4NiSi/MZRrwi7KKSiluAtOH9gAEqvzaL+fGlaxcm2J2ScSSRUj/+KaBSDTlQT2PjGpjWCwwFJsdE/OSlhAhhzn7+e/FmcdcOyq9OOChrujCFHrF+osVY+V3U4x2zIlgtWSXEgAgZC0SStcqCX3QNyDxVrkirK5evMvfpn5q/Antp0ySgTEQBROCBu3CwlL02xxU5Q+CuU/kt9Q/K6pBdA7BpUkFr3jTM99 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iJOjTISbhJdGOYh+tFn5bsjm/taSxI771wBBcseC34PfI7VoOeKnz4y7kbfftx5C8sXg67UeqaalPj3qTJ8inrxBKZjq/5EAYL3hJzvr3z1uUiG9URgxfrQt51Et6/4hng408MFud51/9dxoEseElt988LT387gZ+hdTSrM1sjBzo51R9NVKYayCWFnCZTP65o0Ed5YhGG9CFYcHVaAOOrweYD0GCodopVkL38gUCFpG+zuhnidWR3XXNbPZIXJVLaYnG9+Iy2f6jideF9qc5UcGqxj0s1cadO6/59jZ8lscvq+Kk32N04HURs0DgZo713bSHU/ExAbltVQZXgIFQGawn8fL0w9m3jLrPb20etXc+VfnqPqn2G05gtt6WfB9cDBKqG6iIMsmGm2hH1QTr+co49Na1hCT2rvlwKtohRwvzbC1zdaiZATo0f3g0qB8tP11Vn9kLy7rBLNbYJUuf65nGjwUoywxwWGhBV4VfVtV8izwSKOgV75OGrfSeWaex4A8IOzVcRKg+4G1tARWLfdfqLs/FmNw3hXgquT1m25jVWzGlxEYFVQdIbAKahaG1eVVnCn+x8Jomlw5cMBc7xTtgnKUVz/xKiOvykkr8WacAy0uJ8xlk0NvdpvB8vXiA7jMEeyiHRtOFfs0lVxVLC+Mf5Y0F1zftbhvm2Tcde2UY1ldXkyMc/M7yzZaE7pV06h/9LxiJurkqMe/44idJBa34WXWudBs55jBLnaKTW/lB7HAfZXQxPaPNn5zaLXmx7djmMaECsOYChqAL/mMYdYcVNPScJMKtPhDQWKc5HVrUye0pjRecrJtSQSMHKixvEmsLvDOSc4YWdaZZpbgDtYfP9dPJC7E5KB0pRiDwbT0F4BRntfU2UkYubNgOqoA1+GFATVhhVEeQFQqyDDF3sZ6QMmBHg8GMGEBVRQ/hsTv524e1+By0Jw5cjhHIQnoTah1scOaWQuKEXNHoR6+Hg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4b082fee-3248-4a55-600e-08d9e029faa1 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:41:55.4202 (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: AM9PR03MB6977 Subject: [FFmpeg-devel] [PATCH 02/21] avcodec/h263: Move decoding-only stuff to a new header h263dec.h 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: 7nsRAEVqQLJy Signed-off-by: Andreas Rheinhardt --- Soon to be followed by a H263DecContext. libavcodec/flvdec.c | 2 +- libavcodec/h263.h | 40 ----------------------- libavcodec/h263dec.c | 1 + libavcodec/h263dec.h | 65 ++++++++++++++++++++++++++++++++++++++ libavcodec/intelh263dec.c | 3 +- libavcodec/ituh263dec.c | 1 + libavcodec/mpeg4videodec.c | 1 + libavcodec/msmpeg4dec.c | 1 + libavcodec/rv10.c | 1 + libavcodec/wmv2dec.c | 2 +- 10 files changed, 74 insertions(+), 43 deletions(-) create mode 100644 libavcodec/h263dec.h diff --git a/libavcodec/flvdec.c b/libavcodec/flvdec.c index 2ddcf021fd..2bd86b5b47 100644 --- a/libavcodec/flvdec.c +++ b/libavcodec/flvdec.c @@ -21,7 +21,7 @@ #include "libavutil/imgutils.h" #include "flv.h" -#include "h263.h" +#include "h263dec.h" #include "mpegvideo.h" #include "mpegvideodata.h" diff --git a/libavcodec/h263.h b/libavcodec/h263.h index 31836ebb95..6dd5d2295a 100644 --- a/libavcodec/h263.h +++ b/libavcodec/h263.h @@ -22,41 +22,14 @@ #include #include "libavutil/rational.h" -#include "get_bits.h" #include "mpegvideo.h" #include "h263data.h" -#include "rl.h" #define FF_ASPECT_EXTENDED 15 -#define INT_BIT (CHAR_BIT * sizeof(int)) - -// The defines below define the number of bits that are read at once for -// reading vlc values. Changing these may improve speed and data cache needs -// be aware though that decreasing them may need the number of stages that is -// passed to get_vlc* to be increased. -#define H263_MV_VLC_BITS 9 -#define INTRA_MCBPC_VLC_BITS 6 -#define INTER_MCBPC_VLC_BITS 7 -#define CBPY_VLC_BITS 6 -#define TEX_VLC_BITS 9 #define H263_GOB_HEIGHT(h) ((h) <= 400 ? 1 : (h) <= 800 ? 2 : 4) -extern VLC ff_h263_intra_MCBPC_vlc; -extern VLC ff_h263_inter_MCBPC_vlc; -extern VLC ff_h263_cbpy_vlc; -extern VLC ff_h263_mv_vlc; - -extern const enum AVPixelFormat ff_h263_hwaccel_pixfmt_list_420[]; - - -int ff_h263_decode_motion(MpegEncContext * s, int pred, int f_code); av_const int ff_h263_aspect_to_info(AVRational aspect); -int ff_h263_decode_init(AVCodecContext *avctx); -int ff_h263_decode_frame(AVCodecContext *avctx, - void *data, int *got_frame, - AVPacket *avpkt); -int ff_h263_decode_end(AVCodecContext *avctx); void ff_h263_encode_mb(MpegEncContext *s, int16_t block[6][64], int motion_x, int motion_y); @@ -65,27 +38,14 @@ void ff_h263_encode_gob_header(MpegEncContext * s, int mb_line); int16_t *ff_h263_pred_motion(MpegEncContext * s, int block, int dir, int *px, int *py); void ff_h263_encode_init(MpegEncContext *s); -void ff_h263_decode_init_vlc(void); void ff_h263_init_rl_inter(void); -int ff_h263_decode_picture_header(MpegEncContext *s); void ff_h263_update_motion_val(MpegEncContext * s); void ff_h263_loop_filter(MpegEncContext * s); -int ff_h263_decode_mba(MpegEncContext *s); void ff_h263_encode_mba(MpegEncContext *s); void ff_init_qscale_tab(MpegEncContext *s); -/** - * Print picture info if FF_DEBUG_PICT_INFO is set. - */ -void ff_h263_show_pict_info(MpegEncContext *s); - -int ff_intel_h263_decode_picture_header(MpegEncContext *s); -int ff_h263_decode_mb(MpegEncContext *s, - int16_t block[6][64]); - void ff_clean_h263_qscales(MpegEncContext *s); -int ff_h263_resync(MpegEncContext *s); void ff_h263_encode_motion(PutBitContext *pb, int val, int f_code); diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index ac48acf47a..3466027286 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -33,6 +33,7 @@ #include "error_resilience.h" #include "flv.h" #include "h263.h" +#include "h263dec.h" #if FF_API_FLAG_TRUNCATED #include "h263_parser.h" #endif diff --git a/libavcodec/h263dec.h b/libavcodec/h263dec.h new file mode 100644 index 0000000000..8d5f9a7add --- /dev/null +++ b/libavcodec/h263dec.h @@ -0,0 +1,65 @@ +/* + * H.263 decoder internal header + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +#ifndef AVCODEC_H263DEC_H +#define AVCODEC_H263DEC_H + +#include "mpegvideo.h" +#include "vlc.h" + +// The defines below define the number of bits that are read at once for +// reading vlc values. Changing these may improve speed and data cache needs +// be aware though that decreasing them may need the number of stages that is +// passed to get_vlc* to be increased. +#define H263_MV_VLC_BITS 9 +#define INTRA_MCBPC_VLC_BITS 6 +#define INTER_MCBPC_VLC_BITS 7 +#define CBPY_VLC_BITS 6 +#define TEX_VLC_BITS 9 + +extern VLC ff_h263_intra_MCBPC_vlc; +extern VLC ff_h263_inter_MCBPC_vlc; +extern VLC ff_h263_cbpy_vlc; +extern VLC ff_h263_mv_vlc; + +extern const enum AVPixelFormat ff_h263_hwaccel_pixfmt_list_420[]; + +int ff_h263_decode_motion(MpegEncContext * s, int pred, int f_code); +int ff_h263_decode_init(AVCodecContext *avctx); +int ff_h263_decode_frame(AVCodecContext *avctx, + void *data, int *got_frame, + AVPacket *avpkt); +int ff_h263_decode_end(AVCodecContext *avctx); +void ff_h263_decode_init_vlc(void); +int ff_h263_decode_picture_header(MpegEncContext *s); +int ff_h263_decode_gob_header(MpegEncContext *s); +int ff_h263_decode_mba(MpegEncContext *s); + +/** + * Print picture info if FF_DEBUG_PICT_INFO is set. + */ +void ff_h263_show_pict_info(MpegEncContext *s); + +int ff_intel_h263_decode_picture_header(MpegEncContext *s); +int ff_h263_decode_mb(MpegEncContext *s, + int16_t block[6][64]); + +int ff_h263_resync(MpegEncContext *s); + +#endif diff --git a/libavcodec/intelh263dec.c b/libavcodec/intelh263dec.c index 58c1b63c0a..9dde247298 100644 --- a/libavcodec/intelh263dec.c +++ b/libavcodec/intelh263dec.c @@ -20,7 +20,8 @@ #include "mpegutils.h" #include "mpegvideo.h" -#include "h263.h" +#include "h263data.h" +#include "h263dec.h" #include "mpegvideodata.h" /* don't understand why they choose a different header ! */ diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c index 5329e62a5e..0a032ea54c 100644 --- a/libavcodec/ituh263dec.c +++ b/libavcodec/ituh263dec.c @@ -39,6 +39,7 @@ #include "mpegvideo.h" #include "h263.h" #include "h263data.h" +#include "h263dec.h" #include "internal.h" #include "mathops.h" #include "mpegutils.h" diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 737689b35b..162048b604 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -36,6 +36,7 @@ #include "mpeg4video.h" #include "mpeg4videodata.h" #include "h263.h" +#include "h263dec.h" #include "profiles.h" #include "thread.h" #include "xvididct.h" diff --git a/libavcodec/msmpeg4dec.c b/libavcodec/msmpeg4dec.c index f302509589..3d2dcb9429 100644 --- a/libavcodec/msmpeg4dec.c +++ b/libavcodec/msmpeg4dec.c @@ -29,6 +29,7 @@ #include "msmpeg4.h" #include "libavutil/imgutils.h" #include "h263.h" +#include "h263dec.h" #include "mpeg4video.h" #include "msmpeg4data.h" #include "vc1data.h" diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 0dc2c87335..4dfaa3460d 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -34,6 +34,7 @@ #include "error_resilience.h" #include "h263.h" #include "h263data.h" +#include "h263dec.h" #include "internal.h" #include "mpeg_er.h" #include "mpegutils.h" diff --git a/libavcodec/wmv2dec.c b/libavcodec/wmv2dec.c index f7745c5a83..7518088b6a 100644 --- a/libavcodec/wmv2dec.c +++ b/libavcodec/wmv2dec.c @@ -19,7 +19,7 @@ */ #include "avcodec.h" -#include "h263.h" +#include "h263dec.h" #include "internal.h" #include "intrax8.h" #include "mathops.h" From patchwork Tue Jan 25 17:41:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33842 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp832157iov; Tue, 25 Jan 2022 09:42:18 -0800 (PST) X-Google-Smtp-Source: ABdhPJxQXwWFRrJ5KFWHI/tlCMO8PRurA4q7VRR9PdXKGjz8wIWR8wh1EWB9eeCgQIWG3OupQS5E X-Received: by 2002:a50:fe90:: with SMTP id d16mr21298920edt.361.1643132538239; Tue, 25 Jan 2022 09:42:18 -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 hr42si4892777ejc.818.2022.01.25.09.42.17; Tue, 25 Jan 2022 09:42:18 -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=PjknP0f0; 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 9D7F268B00D; Tue, 25 Jan 2022 19:42:05 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 12CC868AF97 for ; Tue, 25 Jan 2022 19:41:59 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LnWMkkE/iiZrVye7GkZQNU/1oAXKaW/0dt7Jr8UuCvIfPxr3EuIWVEyvl3tI8gp69YSc98sGUWuGP1OFV4qAJwKw6hGRauYkGiDSX3wje44uE7nKLKk/0HIC6NgDADe4KCLwkGWmdukJ9NRyI1Y5eaNBLjIzGFQj3YdqsrEFhyXohxbn9M/LezWcJJXozjerzTuG1CC5FqXmBso3e9IUFFjq+CaB9vZix94KTp1Ajg1Z4bvJgwZH70ThbNXs72DVprz32hzorZySskUoN/Fsg67OmyZZaJEq46OuHHF5ZvHP0vEkHyd4QYfWBH4F96dJPGo9joIl/wx9NSAFN3n2Mg== 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=fDBsx0+aJVpbMs/YWmBJg8FKB+fXsb1Jwx6knv0e2jM=; b=f1ANAijXocTI7y/xV6nwiPh/HdAKS8uw3l3UGMNTupGeNBeVDunn+xsKANjVWaZhexatCBvLgptXW2uF1FfGGLZTnUbypUpwZmxKK0YIcCJ+joIQZKVfhnVGLEXh6FXh5o+cSCI/LfA3RPEPVgBkeX2PvbWYQveCJv3KxzcASZPkWByU9ChPAZ1LS6xNquHTeYiY97rVl75ahxV7dLoGoSF+oTJ/4wc0fmkrUYNPk1ebJ/mCW2dt6G6v4uf5EB5wZ7r8DnxbuY3M2NEf6tlxwfeKewC10hMHKJWDK4p6l0E4BOfacage4aGqZT8AisgB2GFmb4t4X3212n6FUj7SiQ== 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=fDBsx0+aJVpbMs/YWmBJg8FKB+fXsb1Jwx6knv0e2jM=; b=PjknP0f01ioFEUJYVzHbPavFgTJwZ21O5lPS8druIf79kUuhQYpgtw3pq9QiQD90SmNjihNTylglNIcWV2RyP4SGGkn9sTxq5n+VPpJDV0Ge7ogo1TWvkvgupEtkYZm/q/dY94WkCP+qZGFwfP9PL1fug2WKyi2fraQfdHItpMeWeV82a+dqrOfoLlMqJb3PsGmfIeTcyxAcTJftW1s4yxxoYSW6ctfVLce/rdyWX2R+hdlXEQ1n05uxhJskzSMy+suSfwBVebWEQkDAFmMCS4NHHb/+nN0z5FeStKD06bbwd4J6dw7EgZ9yguWAJfcb0t0kUpENKiyb0XijnOQLuw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:41:57 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:41:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:30 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [N7zd4MWb92nvhX5u2JE16nl3mczQDTQj] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bac04a0b-ee36-4b7f-0534-08d9e029fba3 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KiEF0llHyP49c5VXGAnWMdJBYRT6pNq6U6qFoZIzEicQjZpqt8FlDSpOqMSAmCOf1kGeBbXVsPbqDSGIKMk7ZHMyoxbO9hpxUAwa353riKPiEovyODEn3vL/9Vw/29OFshkmslbuSrA1445vefRYW0qROHdaU/tlFz3GumsnFDK7kWM3PqokSlRN5ZfGccjlhfDTSDNi8EynEMpP3m8SKy5CswXmMk3dZ2v1ulZ9Gfy7huBp/I74HUwCvS9khZf5CFzC8UDQj6uhNOZ4XFH0+H1QkC3+BPsf9MVEp8oaC5bC4+tJtZciz6FbOauK4KUBFqfTucKbb2dA7cA91uWvTcZjVLCJWkgB03TPz7mxWpB58wRmJyHdApm4T5k6GQCuKKlmZzNETLp5p6MS4hF4++5Gz3TmB7NB8CFMcTx1Xoua5ZxYQKdkZeTXr0xShy3QP65AeTzQU0YPRLPeSr5JfioTpxP2zNX6oOioHMJwpuvbsNagc1K4y4fJTCROkf+93Jh9pS6Sv2nU7QyZ05v2Q8KXRkg6tE6cC9nkac6J8L1r3QC868OeJgfnAzk6uCCi X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Y1mtJdgIFtwsWfS413o0LvsQrOkIxNxbS/lNGEDthhwlMs4hjZ9bTuLnC6qe4TMkiMFF7wreEvnt1na+UV9Hj9fY9T4cFAXZXbXoFFoax5obeoYBlCxQ9M2HVo9+7dqqvwieiuHcL/TPYpMmG5IT7yswY+tl8DrI/Whu6j4XmQQn/LLdATfjqhrzPUr9o41Da8J9LNeUZSNTBzxAr68ta1acV4l0dbbMSl8lsRSL629EHGWgd5sckjt6Y4DhzFFd26XPlmbtrP8ynqAsb6GLp1gKLfl73aecO2Qx6wKkXPF8pyAisBh1PuEECX4zpDg1RmoeVWWBAVoHwXma9ktG1FOyNbvr9udEMh5GzQ8W20c9arM5PQx0bd1XAPUzTTTcZFpnsKsvFcVcn45UaB6vVTkK185oZ4kX3WXm39Iaj6ZdXHEP5S1VkjttyhViVfBfnHQ8lZGWphaTB1Fw4qNYd9ekyBaa4DZ8smdk6DhZtczC71s83NC4v4lS+2u8mzaJWAUHhqwiqswsE8GL/1GuYMW64EzwRgkzwIJ0+GFWYKD6thnHohudnRQlVLm3ceVk+JP2DA7Jp5vyI3q652I8b8+uvAeuZaykg8ty6bIjZ8hy6HMqxpyJ+YGxfhmVMw0o51nn9bI510O/ZL1tjM7NxSS1IcZRqqynzPDrZPtvqTgULcOiTUbkgCgsWxYo7YMT/fa5+QtDOrp26yDMjo9NLmGEeY9IH/4k5TkYNoPeO5T+AnX2/r4gNwGYQiziEQPJPNTyxUV3ThlW+740TrutlnuqJ+Ef3/+LDexON7u9jxseW7aQpp8PeWz3PnQheW7w7p+dePbwl6lgHiHibRFYXAh+eVP2krQnBAs4bw7u3vvoXi47c17q0KE2MoiFoNHCwVWrHI4H9mGba1aQZ4zGs1vfbdklCt1kmrHgUum9CjpEDks6yav8becC/U0F5BMXQzE4QL//CljVXvnAL6zWGA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bac04a0b-ee36-4b7f-0534-08d9e029fba3 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:41:57.0931 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 03/21] avcodec/mpeg4videoenc: Use stack variable for vo_type 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: w5RY78TnhS97 Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg4videoenc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index 8871d83281..b3e697daf7 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -961,14 +961,14 @@ static void mpeg4_encode_vol_header(MpegEncContext *s, int vo_number, int vol_number) { - int vo_ver_id; + int vo_ver_id, vo_type; if (s->max_b_frames || s->quarter_sample) { vo_ver_id = 5; - s->vo_type = ADV_SIMPLE_VO_TYPE; + vo_type = ADV_SIMPLE_VO_TYPE; } else { vo_ver_id = 1; - s->vo_type = SIMPLE_VO_TYPE; + vo_type = SIMPLE_VO_TYPE; } put_bits(&s->pb, 16, 0); @@ -977,7 +977,7 @@ static void mpeg4_encode_vol_header(MpegEncContext *s, put_bits(&s->pb, 16, 0x120 + vol_number); /* video obj layer */ put_bits(&s->pb, 1, 0); /* random access vol */ - put_bits(&s->pb, 8, s->vo_type); /* video obj type indication */ + put_bits(&s->pb, 8, vo_type); /* video obj type indication */ if (s->workaround_bugs & FF_BUG_MS) { put_bits(&s->pb, 1, 0); /* is obj layer id= no */ } else { From patchwork Tue Jan 25 17:41:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33843 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp832259iov; Tue, 25 Jan 2022 09:42:28 -0800 (PST) X-Google-Smtp-Source: ABdhPJxQ8BlqS5anL79HQNj27W2zLbnuoJE52EK/tZzbhGLX3LjrN5k8904stVFqZu3iu/G4SEj/ X-Received: by 2002:a05:6402:184b:: with SMTP id v11mr21898541edy.84.1643132547840; Tue, 25 Jan 2022 09:42:27 -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 c6si10075843edr.14.2022.01.25.09.42.27; Tue, 25 Jan 2022 09:42:27 -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=R27UjCJe; 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 A95E768B04E; Tue, 25 Jan 2022 19:42:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4497F68AFAF for ; Tue, 25 Jan 2022 19:42:04 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DnJCSKLKnZmfk8+8/yA8/s62x3Vge03Sm4VNbMAuUgXOUT4gIRFTwwvHwiNXSLo0xnR4ndGz3+BKhe+Lsfex7zU1D6JkgoveUMY4Zi49pNGD790DjaHLpaX4ktSa7efx4ZbeuALfAMvxddLDsflN+VEHLPBwqP1vA6J286wlKrhsOXTmUq/BKvxioruv97n0m7oYVQG/nPmHFIDMPXc2C+daqXPWReiD+Ue6w8IzMiH5Hd5yEonlFfD/i+X4TfGoR9kiKkMyrZvDB7BteuncAu4kdNHBXpItaHGu0SB7glEYsJkmD012W5Th3WEmWHVqzFTXVL1fk+cqQaXURV3XRg== 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=yJVS4YP7f03bVX8ytfdVl/bib9J/xv9naBY9UlMxxNA=; b=OycPJaj9Y6FgoJRHDA2JJkz9KvAVsV2KEi9mzNiI7sVakjn8yL970ll8zyb6l1rpBC+/6+LY4O/eyaZPtijs4EAS05UBP0x4QYCWw2sJO4p+sDkv/3VdLB7U8ZZZZ5dsPRnPyki3YIg9Ow0T9z8jalUhYqKNhKXE4oFTqNMR7jg2l0wDnmvjpwlGpuBDNSzPAVa/OWqldcX+1BsVu2Z3JL14neXdT1s8VnM8JtMUU1hFLj8FtI8RJ/i/D87+MZxFUvtjKNTNWPrNlhXNQacWe1fa51KX5xYi16CWOCGX0YrUhVQZqNjPjM5UZPxLaqHClZCJScB7rfYg/1WP+yMyFg== 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=yJVS4YP7f03bVX8ytfdVl/bib9J/xv9naBY9UlMxxNA=; b=R27UjCJeQnDDl2guTcQu9fsWp4Ce+xcgCJ0PwpzXNxlzHUiyr247sZfJPZz+By9lvraseKxEl7LS21Aa3tk+/4WJ93l/VvX3P5TiXGyE7Ayhd6lmIt8TuHOtRVWB69VdWQcQccRSO6v3xHazgT2oyqrHozIF6bIpA/mpsAE6Ym0sXi+IiXovElTYFKwjbi8KsIIXQIoM8m6FMwEycf5NDpH31LVtx3HD3ggVbwNmP7YMcvdqwlxDp0eqyx4iBO8qQnDMSquxFBjkMsHvbd3F+n9BFI9KcvQwpOlUmb4S7u/DtYrCkrEz/T4eqxAzKzxKScd4A1A74BQcMT2aeHBgIA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:41:58 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:41:58 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:31 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [0d/HSxFaGZfjKZE0cKHUZhVOLDvXub6B] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c73bba5e-9b11-480b-60ea-08d9e029fc58 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7pPHgVNeFBC1un9tcbZUzPjPAnqvdZY1FjOlCC4cor84YBY3v/k6GjiVf1o8JlFtlYqE4ansK32IfySzIAYbwUMUlTmxi8im7bO2fk5ZEyJgGQNQefX2nvE94LlYVooEB19HcMuz/JqpvOP2CwANewxFV/c3E9RQyJQVmfa0N6lYnL2A38fHVeIF42zROw8hjmTxR4ZqqcQenZ/C5G8MhXTXG/CUxI6QwWpws5COfFQ3eodYrF4NQfqngcQe1Z4Hpqgql1MzQF9KawpnNnWuwnbGtoUwB2JRtQRR/gK08L2FElc6hCF9CzoDzhWV2htNFlvZ8Uf5iCSvzUpA0MQxNIXMZ7dqzLcofFfbkdHJv4sXaTp6O4uEOmD+y+zn9j4EwZ49KmoNH8qWtPS/LdhVItxx3w/mv7S4O4j2pMPrDNx8n2XsaXKQPsPN2TBpGBTPxtY8cvOiiF9PBw3MCj/JiuqJH8L10kr7Tc5szDcQfCYzVyQlCrAi3VS0F2aS16oEDHn9J10317JJrXsbCo0B4//zf5UI8zu6nSi49CWDJib77g0HVMNDH+VDqq1JT/42 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Hna7tuNpOBdRN5YvPctPtrkuIjJU1b7O5Lohswd6ZyPrwh2mPaYDAKui1l8ZH1ARZkfi8wAxQL+JYDU5pYClmrrHCWK4l47eu9aSnFm0N0crGR+B8hsdWtzMplXHVO+lApex58QGk5i74XWvaQMfTWNCAj6vWL/b5wAANf9NhZXW+nbzYpyiHEPxCliI0yXCJzZocIkbozdaE6dGcbcYjC1J3UKspSYDxCWVhUGpbk5ikblu560gcQFi/ZHXdyvtHhSGrQ0FYvPkGnSZoN46AIVWZxOYQ+Hk+o2L8bGYLRCT88Lm+aWNvknTId9ol/s1Qc6L0dblRdw8a21O0E7uC3F7epTnZLoi95rype4k3oCa16B2Rs0enfiMzDwzAC1Ph7AnA3yyWxTvoOM+UpicNHEWBq1Isckr3EIYvDtTvAbOKWBv+idDy5eCc5DVz5r6AiwF9iIcl1AccRkp2+g2Ck96mBP86wYn/euITt+PiVvrQ5ox+xb9WeCjL73E5E6Mvc+gJzir5Gcq8iUvp39hb6wku354tx9zgPhXio1tovM28cUW8SFJipRnZZ5CBn1QkMmhMiurOXR7ukV//sQS4Iy72oSSKMg3Oh3FZJhI0kuyA7HRqolET2l76S9T4ai8nnHN6aH+K5B63n9XCSFEDsXN54tBnN4VIRUQxzM2+3mzF7qXQ6TpZLTB6pHpGH3W6DbuSf4H+AmYXbmVYKKzsZrl3AOmrH/frS63WpJp3N2KbLtxHgImGUfDo/w9e1vZXoq8IOiwTlcbya18SWkmT4t6Ue4wkAHzv7E6wVrKfqY1KRVZ/yUh3/ZXsiW33WiiH8XBkurEors0s3eFRde945rby+rjVpVNyGYogP0aTBkYIK8E0blk2OK5XaFxgFZc/rTvUBmmTVUgm59XL2oTZhe4meyBUSmdu6VMgpilRKZpAp7pwuY77zciLm/kqBY1i53/4kaYvfEWPxLrgMlKBA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c73bba5e-9b11-480b-60ea-08d9e029fc58 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:41:58.2660 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 04/21] avcodec/mpeg4videodec: Keep vo_type in sync between threads 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: h5dcjycjLg7w Otherwise one can get outdated values when setting FF_DEBUG_PICT_INFO. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg4videodec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 162048b604..33a0c97ba8 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -3471,6 +3471,7 @@ static int mpeg4_update_thread_context(AVCodecContext *dst, s->divx_build = s1->divx_build; s->xvid_build = s1->xvid_build; s->lavc_build = s1->lavc_build; + s->m.vo_type = s1->m.vo_type; s->showed_packed_warning = s1->showed_packed_warning; s->vol_control_parameters = s1->vol_control_parameters; s->cplx_estimation_trash_i = s1->cplx_estimation_trash_i; From patchwork Tue Jan 25 17:41:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33844 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp832384iov; Tue, 25 Jan 2022 09:42:38 -0800 (PST) X-Google-Smtp-Source: ABdhPJxSN6+AAe63Ytjrpfbi+3jXcY8kkJRKYZGY7LFamIkAkJz0nelRzj0jjiWBqTSpYmkA9r4J X-Received: by 2002:a17:907:9085:: with SMTP id ge5mr16907687ejb.144.1643132558665; Tue, 25 Jan 2022 09:42:38 -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 n8si9553067ejl.300.2022.01.25.09.42.38; Tue, 25 Jan 2022 09:42:38 -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=keSFUEkB; 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 C0C0668B050; Tue, 25 Jan 2022 19:42:16 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 767DC68B054 for ; Tue, 25 Jan 2022 19:42:09 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b1KwHqtBG469BKE4/CliyvMNuEbB0g34d/RBemRwnb1LXROJ8eoc4onI7cDsWFZd21R2AE/DZ3lekPA3bZb3aH0qRF5XcWo3lU3CNSiaJtRGsXPfwpb5q20DJOFzkJD0xCivCTcPnwR6b4Vm4pKMEgbv7q3frL3gqhwh2hQ++OE2Kjvt/v1iKE0TdFIBOn7kBjYo+3JP+Y/9d/OO68BWk12fhpmcIK4vqxtY8XSLS7Rao9MaLnihkYFxGpHBM2zsiA5fTaK9BVmsSblv8wTwR4TmxkDq09hQrXmealxzQzb1Q3jNcUZFNuje3NFk1Y4QecCTtDEyfkR72PRgEQJUaA== 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=02QJ12l6FEMyXO1OOFF+8jDtz/YlgRouDy4+uAvyEvU=; b=T971i6u79+/MOcT1uwDTsbHZkrDkKum4eB+6CCFx2Yc/ZJT9FPJMk98EbOKjGfRhHqatjekCvlkfxVTWDPBAdJBfkoNBAASjuspNzEjeg8RzOLQLxqiOjrz6kMKWcDxXYyrNfmqJsCDw+4KczyWpwXdG4huElTGeTRc4RYblHQ7WrFfG+SdPHgQ3BvsffIfdAuK7CxwVjO9zN/OCiMqS7C0X4rKlJLT1fTe9j4y/jWNixtVZAQoJtTixu9HMsL/vBbZjXHE/mBpCIQLtV2c/Wv8skMNwYbtTlgz9tpiyGfxSOLML9+l5/RrHU5HgLzFX/CBOTCxqHPjc1w3dw4CevA== 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=02QJ12l6FEMyXO1OOFF+8jDtz/YlgRouDy4+uAvyEvU=; b=keSFUEkBs1xHFDzgbnuwuKjArM6w/NyLZtI/8yokET/puUZmIE99OWTwTB92dkeAlIJYYhLmgwwD3L1tQ4uiBzOLbSgRUvKZJ6ZEjoDSqQF9nN/4qSWLQNTEdF2hIitRlz/jYssJKhMv4Hq7ULT4DPQYmedeUpgRUrv0/w6URePvtH63jaAtH/CnZGlPqXuD9g6so39G17WvoWi6ORm+oO2owaMoTXCbA0A/zOOFVaoEC36PYTS68LwMd57yqa/0iJYmCjnWkmXLvgzSduRg5h0QAuyLcS1Oiijt4IAps3HTk/Y8z1m/mLNK/imJ4zl/eoFb3Hg6GzYy06tZ2fYu5Q== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:05 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:05 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:32 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [3jdei4z8UDr/3HaSFWY9GfozFZ0v8ZY2] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1929676d-f45b-4f01-533d-08d9e02a009a X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: V4WMLKtmaR+r90QoV7frb5RPXeB675Q/U0iBNCbtphHqWa8uyppGCjiDazL/vs3kEthpw4SLCsWwBb9mZ5C3qJtprM8Kv6eJdbV3cqy5tn19n352hfAu1LKcgOxLw0ItqvEjbBN0+7/zta3tNZY6yqdaaxmjgJ2MLkXkkXmWJD3LmhUeE5hVrBK7uDO1lFshWNnv2+CUzKkhCn/mlriTLomEbjczDf9WpP3zH1OG+3v7LdqsINMcqaR9HM+Zt8m3kAG3/t2xCkE9AdUHL486YVqudHphCrH9QAiNTcsEP7S415/G1WKWz4D6sgw5pD6Sdgo188E48Moi0COm/Iv0pztLp43cydm0MaO+t42sbgcHZqd8JnNW1VJ/jb8GsWxTzURh7x+bZT5ggxj9uZi2i/FqI/K79JkkcPwyGKnzDLPvmRKxSBx/Kf7k52UejjdRblFT/Gl8pAlIdmtLT93/qJBgnRLF2F1otqftxi3JBaOO6DrM0HOpzemjH7MJ7uaADvxwOQZR7uASKF+92tq7OxhjbSTrr9Fchrvp7R40c42RI3n1KEnCeIknYuiZ0GYJ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dqVr/cZvv6YKpVQSCcWIeyOHqP4+KpSRVSpTMBhDNyjvMJC+D6uq/hMu3C+gIqxwUpPNK+lv045yvFAoVlbHvaxd5A646sSQuurtJHJFxqw0E4yZLJI16lbHQXgtHfQr/NgXWQn3vXNXWx/o3lSBCDurgpOMqgwHPTj0uRWuAOW0R5Ee6bgvy6eNMRYWhsotAjxip41WwVEYCY3RbWJjwkOpd9wbCn/0jGisrd0zMpwinj7hMLjWhqpzyjQz0C4tcFHKFLquIrI18DleJqhgzrSZuEonubeIz5m2ffdCioukh2lkRzex74Q1+OGrMoCzaLAyj3hxxkikqNWRpMf4ALq1PQnA/BwwepobxkOdsfIQRBmWUy10lqGZShjiH5k24c8qxBzdaYBVgjY/1qRJfgC9bHT0J89hkLLh9S2Ra0qPDceaTUsYIl9ate+om5rtpN1Ow+/Wj69aY6yumjojaFc/nWP6Tt+eDQ1MbAu5kXTaX1sRTRLC3iGFvRe0NPx3dNBy8adP3M+WFAfa/1+bo6FWOeWJ9q372AGFXmkcsP5wj1vYMko8qlokG+9PlrJizZhqPhSmWUfTJNirnHT/PKW9jRSnJG19/Xni+d9vRx+Hzf6rqZ1dJoJBTfNGryEhlfMD42LjO/i7yMl87KT9NxlI/6tZqlId+HM7LZYLcO+jttFPR5U4UY/zQ4OLobCjqKK1HRYIRV+joXBFCyHwN4ZYI5QH9AOoEXMvp+nVHJ1zdlz/UUg1BONZMwncHndOVaRMtTcLQ+5Zj736q10KgmqOJWv2t4DD+Gmdjyz3nfKMZAE0wAwTB4ypqK1fK7lrIoh4kUTIWEzo6pZakmTSeIsZkPaMxOOzHuBCDikWOPWACWfICqYAIqM66cfriSkmpJt25yGpbNyRJXhA71ZdVLHL542500n+78KdHV4fwKbnNhGQkl4RuKQ6hk1z3x8HIbc1dEhtyqEVrDBlbY1LvQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1929676d-f45b-4f01-533d-08d9e02a009a X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:05.3935 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 05/21] avcodec/mpeg4?video: Move vo_type to Mpeg4DecContext 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: GowsuEEzk3Y7 Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg4video.h | 2 ++ libavcodec/mpeg4videodec.c | 16 ++++++++-------- libavcodec/mpegvideo.h | 1 - 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h index 87d9c9996e..fd6b6f2863 100644 --- a/libavcodec/mpeg4video.h +++ b/libavcodec/mpeg4video.h @@ -105,6 +105,8 @@ typedef struct Mpeg4DecContext { int xvid_build; int lavc_build; + int vo_type; + /// flag for having shown the warning about invalid Divx B-frames int showed_packed_warning; /** does the stream contain the low_delay flag, diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 33a0c97ba8..00bf7b6c4a 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -2305,15 +2305,15 @@ static int decode_vol_header(Mpeg4DecContext *ctx, GetBitContext *gb) /* vol header */ skip_bits(gb, 1); /* random access */ - s->vo_type = get_bits(gb, 8); + ctx->vo_type = get_bits(gb, 8); /* If we are in studio profile (per vo_type), check if its all consistent * and if so continue pass control to decode_studio_vol_header(). * elIf something is inconsistent, error out * else continue with (non studio) vol header decpoding. */ - if (s->vo_type == CORE_STUDIO_VO_TYPE || - s->vo_type == SIMPLE_STUDIO_VO_TYPE) { + if (ctx->vo_type == CORE_STUDIO_VO_TYPE || + ctx->vo_type == SIMPLE_STUDIO_VO_TYPE) { if (s->avctx->profile != FF_PROFILE_UNKNOWN && s->avctx->profile != FF_PROFILE_MPEG4_SIMPLE_STUDIO) return AVERROR_INVALIDDATA; s->studio_profile = 1; @@ -2360,7 +2360,7 @@ static int decode_vol_header(Mpeg4DecContext *ctx, GetBitContext *gb) /* is setting low delay flag only once the smartest thing to do? * low delay detection will not be overridden. */ if (s->picture_number == 0) { - switch(s->vo_type) { + switch (ctx->vo_type) { case SIMPLE_VO_TYPE: case ADV_SIMPLE_VO_TYPE: s->low_delay = 1; @@ -2745,7 +2745,7 @@ int ff_mpeg4_workaround_bugs(AVCodecContext *avctx) } if (ctx->xvid_build == -1 && ctx->divx_version == -1 && ctx->lavc_build == -1) - if (s->codec_tag == AV_RL32("DIVX") && s->vo_type == 0 && + if (s->codec_tag == AV_RL32("DIVX") && ctx->vo_type == 0 && ctx->vol_control_parameters == 0) ctx->divx_version = 400; // divx 4 @@ -3084,7 +3084,7 @@ static int decode_vop_header(Mpeg4DecContext *ctx, GetBitContext *gb, s->top_field_first, s->quarter_sample ? 'q' : 'h', s->data_partitioning, ctx->resync_marker, ctx->num_sprite_warping_points, s->sprite_warping_accuracy, - 1 - s->no_rounding, s->vo_type, + 1 - s->no_rounding, ctx->vo_type, ctx->vol_control_parameters ? " VOLC" : " ", ctx->intra_dc_threshold, ctx->cplx_estimation_trash_i, ctx->cplx_estimation_trash_p, ctx->cplx_estimation_trash_b, @@ -3111,7 +3111,7 @@ end: /* detect buggy encoders which don't set the low_delay flag * (divx4/xvid/opendivx). Note we cannot detect divx5 without B-frames * easily (although it's buggy too) */ - if (s->vo_type == 0 && ctx->vol_control_parameters == 0 && + if (ctx->vo_type == 0 && ctx->vol_control_parameters == 0 && ctx->divx_version == -1 && s->picture_number == 0) { av_log(s->avctx, AV_LOG_WARNING, "looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag\n"); @@ -3471,7 +3471,7 @@ static int mpeg4_update_thread_context(AVCodecContext *dst, s->divx_build = s1->divx_build; s->xvid_build = s1->xvid_build; s->lavc_build = s1->lavc_build; - s->m.vo_type = s1->m.vo_type; + s->vo_type = s1->vo_type; s->showed_packed_warning = s1->showed_packed_warning; s->vol_control_parameters = s1->vol_control_parameters; s->cplx_estimation_trash_i = s1->cplx_estimation_trash_i; diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 448fe2cedc..e0aec532a6 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -389,7 +389,6 @@ typedef struct MpegEncContext { int data_partitioning; ///< data partitioning flag from header int partitioned_frame; ///< is current frame partitioned int low_delay; ///< no reordering needed / has no B-frames - int vo_type; PutBitContext tex_pb; ///< used for data partitioned VOPs PutBitContext pb2; ///< used for data partitioned VOPs int mpeg_quant; From patchwork Tue Jan 25 17:41:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33845 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp832531iov; Tue, 25 Jan 2022 09:42:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJx+dKgaNPP/0hwlI5AduA0zcp89sB3Na/qC4WXsRqKdHS0Q2LVvcMea16y7nRtl+iqsxxLv X-Received: by 2002:a17:907:7b8b:: with SMTP id ne11mr16693690ejc.436.1643132570233; Tue, 25 Jan 2022 09:42:50 -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 i10si10967884ejd.885.2022.01.25.09.42.49; Tue, 25 Jan 2022 09:42:50 -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=MmlMLdDg; 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 CA69B68B0AC; Tue, 25 Jan 2022 19:42:21 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A877C68B082 for ; Tue, 25 Jan 2022 19:42:14 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kRjB2JrrwCmEaS1W/EzYMi0JdlHfMfemdZtqNVSOCV8w4R0EnBc5Xt9G7glQj/SGjUb/Mysr4QvffekYLYw+SuIj8Rbf1yUuW0N0IbhPkf1Zr0OhKF/hgvcqLAivtiHuKuvH07hY7DDg0c7AiKs1wGsDk3uIpaqHo2qucjqCUd65Gbvf64qWtATPBFIYvRTNwDHAA0j4NrC0sgnY33BtH0HBowEINDCuBhtuKXo0Rq9nFtZUD+wUDZOMyY4VjM3tHeZzsxEzBmK2ghuJ/Vk5sEggr3JQu139C9UZy3JRs1aHWAombVVl5vZ36tBz12zySe4cQRnIjVS2aopJnS2qiw== 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=eNDesEK/HT1IeHIRAbQlNb4BjokFs+aQJyluXo5WhZ4=; b=OaI98aa0fiUaQJMPWZMnVotuSM7sJ/tfqcG/rJz/b2mDvjWoNAHMQtHhpEnktJfp//iXxAso6G3Y1cUr9+ZTjRfIHhkYYzhgE9Zxnur4fZklC0GcUNBsYdFI5pq09SPafkFq1Rb8ifO3AW0ucis8yHTKR66RzsOjWuLXH+IPGEXij+SOoi7SEAFAmWimAUprFNee+46OXLWQPLwWbeWewJHRaBP0Tn6Prg+6emkR+LgZGhWgln+3gZBUtfrbulQm9wf/cRbVIsptO6znoaw0XbdduCPkBpWas/zptK2SuEfjqzQjNofqeaFui9pZAG6V49+jLF17kPGCAUARg9aB4w== 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=eNDesEK/HT1IeHIRAbQlNb4BjokFs+aQJyluXo5WhZ4=; b=MmlMLdDgW59ctcHvwWxSxuIAa9D6BA7fjCO1XkSjvbfl4+f1z5awREOrtTYYvRvr9AdmN9h4n/3XbhulcIALn7NQd7cPNRpz4owLaGVda9hYuScSzI3A2lKjbroRCUcg/BaDgnGh9cNt3ykeNz7gpUdUGiewEH7D4E1jvX1ckHPNZJ5j5Fwn7m7eH9rIgrM49bepiclHc+p9pfWkkWVRAalm9w1oStyIbHE4EW73t7iJEOV7Zh3C9kChhKjh4RBWqFaIgvekvYTG3XHrDve9UgBasLME8Qxpz2I9bS6JXNyd/hOyTG1Nb2zFcQ4QWu65eGb7WHtX5akt35nWYxq5DA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:06 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:06 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:33 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [dJACnmAfbgpJjbptGjQBNsZl+4ayJyDs] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 63b22e24-7784-4a1a-88c2-08d9e02a0148 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cv+WWl8usRQvRpZZudEZ/0Y3bxWVqQDu2G8V1oUIyJ9SyQRhUgnG3U5J7QjJkwPppqfQm90q4XNmr9LuoQ7KYgTqT7hwid5Nfh86NZC0FfoJa84cRS9+II5RWYC+huEE+B+L8aRClj0knq0Mql7ehHa9UdTERmEpmFxb6m1TFeHe1lBo3W/4JbAuw3f0A8+vom+61uasGZSP5yrerPoQDSUcFhw4mWCO/b8oPOgO06cDcXzYhDvZHS1ElWxoyxWh6Y4Ul1KXq5IlqkPeJ2gbKGd0+QLSRcZR77kqMYw57b8S78sgQwUaFg16M27tQ0M+JmVKZrd772LdN9lteX++O/K4j5GUfwY7N3Z3DBOfWe6828Dn7z8ldvV5OmvR01KW6LfmlJuFQjhoX4+PSyhZOXu74dklko9PhH3YNfOXGwjpljgK2+SLoeBKrVo+mBpAJtjcZtiVRK07NUEltzuXy3myfwMFip19t59UIRqLjhKsc5cZT3bKM0ZaUU8sR7057tAUYeL/edZeqksHS76yAOC0Ml8rSwkLHc8L74farXcXcXLG2VWxmr63WFh9P4rA X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gcFA1UVLCXk9Vi/mEiUgrvinLvKXsvG+4iXVhWle8yRJwEGib9VGFZV0zw/a/0bYMdCGr8eB9Z9faXQfIpfhaOEQVLOqU4fDVlyZC+B7CtaN+r3pHQ6DHxdGAqvlqxvGAuPDfS5Y9bkYFplRuFrVu0xT2wSWGOz0g0vIOD/d8UEuxg4STtCU9QhIfHrkOfeJO3/t9GaBxUP982vM2+RV3QDB49hHwY5HtE7V2gw3wVHfpEe6a0qamOyC9nAV5umozgyFsCy+OEfo1ZA/Vs5aiQOtag4nsbLW2pczogowU1xKPcf35wG9120HYCqmZ2HCCx1uinMsb9FejNY1sQ3NW3wyFrTMKI4lVgBkKV5144Z2pHg48WxJQLjdpokVXqzRxUpq8ZGDvv+73ez3oJTz5So0biOI5ITQtAxJbS5lhGuLqYeVseUAwtmLo0meSlxUFxpwBJUbH7fOUSeWzi2ixMNDlWWJnEVAvYnKF7Tz/AYYK3+4PIgLmo3ARzurWT0Hq5OFp1jaxe6cFL6b2qPxGlYdIlIMy1OsDIjMaA0M5gooCsWfXcp+RsoJ3pmvpvZ2XNW3QisZUsrsXuTKoUGu/6IUGj6NBHhFrNBgi2ZPs6x6CpMbtvsYRb+XIj6ppyqwmJkSH8T9cMr06gpBrz+eQFguDRzS6B/WjfKdqJ2CT41BEXgb7Out18vK0Gs6kPhIFPUaqfsEyluoQfyocvCOReNFgVbtSw3EfCNOc3DUtq+751X98zDfcFBPlJ+e9kaMABkVQbAiJRN2X2zICbvC+jI9vSYrQR1xegjeTuaXu/7b19t8JpMFic6hRfpjX/eZTEw3MEBWB7KeCcQpf1irMLVKYGxeSk+m+Fbsgohke3Tg2xtciPamzNcnHSYSl+AWfBmuHGmVyeWgYJMIT/20phXrWoV8jrizNrS7c9VCJ5NC7yOjN7TrKGKyiO3RrcIUYyQTtVKoykR+47TwSL3cbQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 63b22e24-7784-4a1a-88c2-08d9e02a0148 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:06.5664 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 06/21] avcodec/ituh263enc: Use stack variable for custom_pcf 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: 44jQ4h5IevlB Signed-off-by: Andreas Rheinhardt --- libavcodec/ituh263enc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c index 5a7791111e..069c6a9acf 100644 --- a/libavcodec/ituh263enc.c +++ b/libavcodec/ituh263enc.c @@ -106,6 +106,7 @@ void ff_h263_encode_picture_header(MpegEncContext * s, int picture_number) int best_clock_code=1; int best_divisor=60; int best_error= INT_MAX; + int custom_pcf; if(s->h263_plus){ for(i=0; i<2; i++){ @@ -120,7 +121,7 @@ void ff_h263_encode_picture_header(MpegEncContext * s, int picture_number) } } } - s->custom_pcf= best_clock_code!=1 || best_divisor!=60; + custom_pcf = best_clock_code != 1 || best_divisor != 60; coded_frame_rate= 1800000; coded_frame_rate_base= (1000+best_clock_code)*best_divisor; @@ -165,7 +166,7 @@ void ff_h263_encode_picture_header(MpegEncContext * s, int picture_number) else put_bits(&s->pb, 3, format); - put_bits(&s->pb,1, s->custom_pcf); + put_bits(&s->pb,1, custom_pcf); put_bits(&s->pb,1, s->umvplus); /* Unrestricted Motion Vector */ put_bits(&s->pb,1,0); /* SAC: off */ put_bits(&s->pb,1,s->obmc); /* Advanced Prediction Mode */ @@ -203,7 +204,7 @@ void ff_h263_encode_picture_header(MpegEncContext * s, int picture_number) put_bits(&s->pb, 8, s->avctx->sample_aspect_ratio.den); } } - if(s->custom_pcf){ + if (custom_pcf) { if(ufep){ put_bits(&s->pb, 1, best_clock_code); put_bits(&s->pb, 7, best_divisor); From patchwork Tue Jan 25 17:41:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33846 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp832644iov; Tue, 25 Jan 2022 09:43:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJzPyyOoFuGk5ecRA4qKhQ5ggINuDAUqhHINDuwLcBS2wxSELutxS4UfyyJcrol8XRfwZ/jQ X-Received: by 2002:a17:906:58c6:: with SMTP id e6mr7931130ejs.123.1643132580771; Tue, 25 Jan 2022 09:43:00 -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 dt14si4328440ejc.461.2022.01.25.09.43.00; Tue, 25 Jan 2022 09:43:00 -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=TB47uTt2; 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 CD6C868B065; Tue, 25 Jan 2022 19:42:22 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EEF2468B082 for ; Tue, 25 Jan 2022 19:42:19 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FtJpSNhz9D56aRqNT06IfHLP+KLCuk9L+/AaN8Al+o9TG1pAN59yF29mANLztRmFSQDs0u04BJK218gUQNDJtpIeuaDr2j9kHvRgh9OeYK0BS4rFbBWMEJPyvjgDFX8FPUPwWmaGzGRB84neoJ30Nn/YrZ9BxCEodjL8mDA6NnhLHBs7imLKVWtuz37J/3FmCLxh6ZdjXt6MMo5GoMLxILbsm4z6XvDeRo2ojEeq3DAbiRUwiUYoTZISOuFYTh8V6kaE3EHq7tw7pmIHboZRiGv6OspPdRl3m9iOX67cu3r9V/expJvyq6/FqSW7iRlmWneZ28aT2Nn0MHxecF5puA== 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=b+hnLi1Il13hU29wmY2oE6fcSg1gYWU+x+e3SboO5ak=; b=mJJ0eLx7g++SaPBC9x5DWEILqBXCHCT41qq1qqRRi/U2x1hySQ7uHjaizxqD3bpnbUutf/VGqlUeKKhWqWQaFg4stdDeEprh9+S9NDZOY5i4MpENY4gnXHcQvyGX0Tp5C2VsnJvQiugYSgziB+ex9b7L+aTejKY/ql4AkFlGK7S9TmNNspONcjflO29/tKPZIgzUKg0M0M1remSN4UPSJCwfxs/joi7dvi+99vFItP3f7Bzorg0l5aaG2iNaMLJ6x8mwUjzEUsSwZBn+fcusSIrFpdT3YIhR5NqhPABAfJ89oPsLN9q73aCm/fXNJuJ/k/03aCTTzPs8TdsYXXM3og== 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=b+hnLi1Il13hU29wmY2oE6fcSg1gYWU+x+e3SboO5ak=; b=TB47uTt2sga9tOxNMLar7pLVO4Dnpa0eI0wzBonPQSkw28qjIssnXsVPru7rWHTLxP/4lY0X1LZEP2v69DuKua4h7IhGCrMMt0BERvvqxovzYA4FMxL2eh+4ZjM1q8gUowXJpGwJ5uU6Uu/ruoKOW+lJs74rJ5m9tR6wvqnhVfHpDwPHLo31bc2xrGAyQnFu99JtaPxoK7XtHx5u9lNeErNFD3eEPtyi9xx31opwHsb35UnEamvU/sHZGbSf4//Cy4rrUhdL58YoNye0jy0GkjMnCY1FwGj0+OR4gy97pdnt+WEzf442oPOHvZAO/zNfUcnwEZfQ8WZaVeG1fC0XEA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:07 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:34 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [C+BoGDWsZNQPtlvrlHppXKPFg07LDkHR] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6ebc940c-0733-4fda-2ab8-08d9e02a01f4 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Dc8Kpzmz/fK9qiOM4CBa4sq72DaIO7gO+iKWOAkI3m5wMwsjvzgRQ8C1WcuWOenL8eqh9Gca/V9ouIwdRJniRtsO/buCv/IsUnjPcjNCydFUKeyfVcef6mdhrZ9HblJM1iKoLoKa+hXZpUvPtKK2MgWrnzIXh7bd1vbN7txOKY7bsNhHrbXPEoEaULJS7UCa1h/ByPW7cRGtm2T5b5v2beXb3LVgcvT6lqiobfT5RLW6E7B6NDvQdvtFPhBb1KTyez5LSJK9jLxuDwcYxgMkUhBd/M9Wy2l0b+zqMS5MUn+dJjYaGaCooLhhpb2taFfZFYNaGxj3uOj4bJe7bjp47QX6kYnmJjyQ3flxGEJAVaSMsvPa6mzxPt7YurTkSpv/93PlKCDXRs6Ud4B504rdpvnzS3kjMY9wX9foXxmXxBMjHJC5yiewm/OfDyRnWpj6Bme+0G+v5F/tLdoMyt7nMZ/5l5wX9zUbkJOiR8WQoKU/R4bTl8zYDeUZ5I/d6Dt/Lqrf2vQiJWEFnydJqAfBVtM/iuX+L8UW8FuKV6iCMBGg+Pc+wEdhD+H2XkU0qK+m X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uZLhawJtXpav2/DS6LreDcEEH99RY1T04jl0sNZxyX7JjZFqFFmvL3o1cT+z6nuWQOxwBqQa26RmXUy4ipuT/xflKhLpvP56FvPiDR0H2mjdxxp8+EsTo4XI6GK2KvYWsk6fBPfFbZXe+vrwN0WmEls16ev2jn4EK03XV+ntYqZV7Lin1SkbSUdSUu5bqhD4LIWlNse3SjKjcplVqgkM5SHMYp9jV8kNxyZP4uJTp4t4GR0JMI54TWyi4YRdlwyn8Aw+SqH5SrTi9np/VbZe/2nLZysaPN7IxkO1rr1FlS558QHEfeiqcrntY8zLoHtWxjRYYPoNAqaSZKPDYUvokM2486suwimy0Azucsy+L3wKbHL/tv9vbrxZgfULpPv2dOnmDJONi0SpFWbcmbqN7hy8cl5agbdGt8iAo1CmGaVTACC/LjV37Pb1u9oGr1JuBnLXgZxHajiynNuEtA5zvItg8thkoEWoC/78Quw+GaVn3zk1gRQXoPTnzcu3DZEOINWGO9IMT6acn04CH3QSURCAeBSiMzC6jKZnadYyzaLWhJYGUiKQyNVvPdPykJFa/w4WZ/wKuPlDwfjHEuR6mGIRv5C9U1t56MguDuDI0z4TWvtLFkF9pcHia4LMSbbOYuDglxAA4Kqdg4JfRVYfo7XzK/ZR+L3FJZWn0HZLVxWjA40tRvZaXyKqpPeu7Yy7P522n9GCqSnqSXvvAMEOyXSzXmVJY9RDVv/m72VN0WhgXEzNSkw2d/q1VMxNB+mkO0uzk9H1TFd04XdTDdWcLaHbwFi+N/vENnX7WoD9J8qZAFcSrcAVGiRpgT+xsY4TI0/O96sTTaxXFu4/bTktfLbfh8bwCEupUlP0ypAVYG6oPgfvbAgMs3+ao89kKxfNrA/7eIedHT5Bz1jZUqTEmUZerbRikuAm1sLZJKc9+zpfShW43YdtCGmwFWmztYThPHOIcEj1k2gWhdeNRf88Ew== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ebc940c-0733-4fda-2ab8-08d9e02a01f4 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:07.6756 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 07/21] avcodec/mpeg12enc: Use stack variable for aspect_ratio_info 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: AjTHRLjGcCLl Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12enc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index e28aa809d2..a19100a42d 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -273,6 +273,7 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) if (s->current_picture.f->key_frame) { AVRational framerate = ff_mpeg12_frame_rate_tab[s->frame_rate_index]; + int aspect_ratio_info; /* MPEG-1 header repeated every GOP */ put_header(s, SEQ_START_CODE); @@ -291,11 +292,11 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) if (error - 2 <= best_aspect_error) { best_aspect_error = error; - s->aspect_ratio_info = i; + aspect_ratio_info = i; } } - put_bits(&s->pb, 4, s->aspect_ratio_info); + put_bits(&s->pb, 4, aspect_ratio_info); put_bits(&s->pb, 4, s->frame_rate_index); if (s->avctx->rc_max_rate) { From patchwork Tue Jan 25 17:41:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33847 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp832820iov; Tue, 25 Jan 2022 09:43:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJx+d3s07j8F6ceyDhYMOKdxEIROgsvRA6TZI1AYSgJQxWEiHjpuzXhxj33tBQpYVAwlAUpS X-Received: by 2002:a17:907:3f92:: with SMTP id hr18mr16911971ejc.508.1643132593026; Tue, 25 Jan 2022 09:43:13 -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 d30si9229012ejo.144.2022.01.25.09.43.11; Tue, 25 Jan 2022 09:43:13 -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=gMsjPeFQ; 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 BB8D568B0E4; Tue, 25 Jan 2022 19:42:23 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3EC1E68B082 for ; Tue, 25 Jan 2022 19:42:20 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k4qQfZCN9IBGybEc+rQ6hovE9lTHNZyXDWhWm+J/LX7Gusmr48hwn7v5knifGAaqgy4AMf0xWOYY08WGJT0+V8b7T9sHMHppUn8IswQvoMpgyUzqeTanI0aoxpOwmDpHnUFJ2eevfaUtPFaW2+EdbbpiVNjIpn4rhJQkr5gBI7aJu03DtTvHEL6tca4XgnIuDVaEfI5WEY2imnkpbvdxfbDz5h5sGLcyrA72coExpjGt9HmN1M+ian6qIGm7cRqOwOIcMLUtrfHXrcr5Kq92swOkymuOYyiXHoAp8S3B2AdtP9Ajrq6N3+bAZESt32LyISivB91Tl/Wv3nfsxYslcw== 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=nb7FOCT36MCiwWduwMuSc378m/joLvvXSJOCxrqMp0o=; b=oE/2QLUOUyccKqb6HypRiYmy3Xkw58yEaH9xQmp6AAiehrtcwDpRdky27G5hN/m0gZ6Yb91/Q3QzsbsHnwfvpeSc57lPCNWWfwChUwfcOvk/QjZxfLYeR2/60fPHn5J0eg1xZdn00r/U9COXoSJlTLUrDEg4m2vYOxDRt3Np+VYVCtN1zpSNzrX3Oxj7Gq4vyvCXYinGEx0yMoXUlcBz44AdqxU1bKtlVjYmDwFetiphcZ3lsPu4Q0Dax50qDwUCHAHfQR4KBG+gRfosrWRGkmQXn+ifVzNPvy8em33EzFO/QWmfjZd3rrKPmsovLc3BY4y07kyQ1hOE+ZLYKek9AA== 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=nb7FOCT36MCiwWduwMuSc378m/joLvvXSJOCxrqMp0o=; b=gMsjPeFQUMJjQr+Y60sl5mYexFloOLU3kN+PIWIf73MI2sGiO56SwrHlzZlnfUaMNerszWqClpmJzua8Vp9YJ1uemeLwFNdhXHLsAKhs+GJ/aW5MUhWa7DlKxYy/ye0dYwdxRrVfrpVZfTivBBCBR2Cq0yjkf76cGx5Ew1kIsxwRqNAMwXta1FZr5ofMUc6sCssmF9JwkTIW7gNVwsV+GDIX0tTpuF2l8uc92c5cBk5JYTA9ToNkOyDrTOXhcpbyCR6XeqAzfuyVPH6YzmdzHmN7dTK2ipRsiHF7W32DD22Hdv0Vh+As2QjOqCLgGg0+45PCa3dAubY6eqMo/0/Lvw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:11 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:11 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:35 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [iNsTFV2pI7ppCJD2CM5WrJ6Xr9SpB/bn] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 16267dcb-2125-4349-2184-08d9e02a044d X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UEMW7DLVb6arCcTt5KDxggSbU65PSCbZvQxBX0V3S7+7Y8nFPQgPRWNq0CtPtK6YmSbZaQgh9tcOOK6A1N7TtfAEYohGcC3H7mIDDHeZ3x2nwBmyDvWFvBy7NRcvaX0Hs4NB5XKVtDVOmF6RspqJIv7f1BLktz2JrSBZBiueRpMLal+zCIxR+q1SXPloiWr8RlolJF0wXdeqOpk75u7DgFqtTiI0FGg3v65KR0yCBf+5W9yC/GVTExrsHiHg5E3pfeoR5Mj7wADliAX30ultJobEXmCGzYjO/xn9R2iDVShm5SMSXYphKnjUyTVoivrmTrjLkp+gH8G0vIiWygRIF9Xqe/39s3tg23ajVSjIQ/gJG0nN9HAhK//hKeldGLliVsRCjJpFmzv5ndGVb3O64NoeShu/9Q885oskSeCwtTbfW4dnv0f0hA8LBXphqTljBXAS3YvAcp7MXsHqFM8dCZGXUm+me9CrMHFcsHx0hUDHo/GYat0DuOtMyknPwCkCl/4anrcRHBZttBzLo8M/Fz8z+6omMZx5yhqXqVJ+21hor0STQBeniGZ0ooQWfUw4 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: jSWHZP+ThA74r+SP08vpojI1S+RF58+eoaSF4sD1ptkGADYlOUl8ROjM3iM9BqwoMmGqRH6f8gnUgLtwZrjAE75DgnSh3Tmyjn1qElCu6oy5HwGkleXoRZuus8/iDk5jrFFi4JMgQDWPC3eSPoVJXtg2wlJUKJ0YHRAsyOUnI55LLUjrA0TWkop/knHaZ2Jg/huxJolZ4TuDQyfgDbRuYxotUlx6NwJx3JNgJAhehjf/YGOWofJqWsod/1kz7vA7bI2C9aLXt3Qerz/tmR/0HaAn6cCHNx0vG1uqTvPop2u7qhPte27hCAb+W9i7sTKPgZLU8GINghMfQOPxuStw+PXrWbNI/szcs5OhChlEwLyqEQWkdDtWjGuNRH9LB1GRrSktEZadNmZQBprx0bZwwuaKiF6BHJf5q/4CwOY0A4x96cjfZDBDBFfizeQjphnWrbLZvRotRp3zvUizU8U0dpNDKL1M8NnQaikcnc33mT5lulq0sQ3vmw/9JSPL8NoEgRFmAJDoLXQi8/lMVpKqmYsCuiP7cOd0zimRb4YnKc9rd2xI4PHeioZWc1UTrcyXg5iTSavtrtVPo45Fi3sLIWK5+oErQ0WmOnfICZUaTKBkE/PxlLTg0XwMM0GjPG2VmS/PgEz9CPZckOYCe3GcyaTkob6WBpdUevxW/3QnQ0VM11hrSremNPTNNXdYt5uk/zvN6hbIMYzwIe5IyMJMZoXPbvJesLabDB6J9VBLOVNHntpn38dEdLwavqRJvO+1IHJTV9QmmnrYsPVwDRHfF7JBDV8G3cTmQNIExqFdtIsO/W7940S1KLfOFLxBPebRsq3jmYepXb2qVqpbbDxYLM2fS0AX/Ffu0HDw9NHNns4N7cqwdhULboO+sAOxa5pDXQqcHMSr7DLIOf5Wu1WWttgpiW70LSziK1bVh1jPovbLs0qLs2U8T5A/fxn2gDj4KSZdgkLvsdka4VlxoudCfg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16267dcb-2125-4349-2184-08d9e02a044d X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:11.5985 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 08/21] avcodec/mpeg12enc: Return early if no Sequence Header is written 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: cj8HaqH6VABh Allows to avoid one level of indentation. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12enc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index a19100a42d..e30e41027c 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -264,16 +264,18 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) MPEG12EncContext *const mpeg12 = (MPEG12EncContext*)s; unsigned int vbv_buffer_size, fps, v; int i, constraint_parameter_flag; + AVRational framerate = ff_mpeg12_frame_rate_tab[s->frame_rate_index]; uint64_t time_code; int64_t best_aspect_error = INT64_MAX; AVRational aspect_ratio = s->avctx->sample_aspect_ratio; + int aspect_ratio_info; + + if (!s->current_picture.f->key_frame) + return; if (aspect_ratio.num == 0 || aspect_ratio.den == 0) aspect_ratio = (AVRational){1,1}; // pixel aspect 1.1 (VGA) - if (s->current_picture.f->key_frame) { - AVRational framerate = ff_mpeg12_frame_rate_tab[s->frame_rate_index]; - int aspect_ratio_info; /* MPEG-1 header repeated every GOP */ put_header(s, SEQ_START_CODE); @@ -414,7 +416,6 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) put_bits(&s->pb, 6, (uint32_t)((time_code % fps))); put_bits(&s->pb, 1, !!(s->avctx->flags & AV_CODEC_FLAG_CLOSED_GOP) || s->intra_only || !s->gop_picture_number); put_bits(&s->pb, 1, 0); // broken link - } } static inline void encode_mb_skip_run(MpegEncContext *s, int run) From patchwork Tue Jan 25 17:41:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33848 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp832916iov; Tue, 25 Jan 2022 09:43:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJzPDIoN+g8q1Lh5Xo/SR9J12fPIynZ9GKBwldPn/fV4/akvaPg0DEufKw8eqvUn+rXRXSi4 X-Received: by 2002:a17:906:5d08:: with SMTP id g8mr17015303ejt.759.1643132602674; Tue, 25 Jan 2022 09:43:22 -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 q17si11613162edd.193.2022.01.25.09.43.21; Tue, 25 Jan 2022 09:43:22 -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=bnvn7yn1; 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 9198668B0EE; Tue, 25 Jan 2022 19:42:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 73B9368B082 for ; Tue, 25 Jan 2022 19:42:20 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hy5JzZc4ci+xwBJbwcRO2cqd+E7cg/yhatSBCK3yk0GVO3iWFzObnovBbVJK1bGzXlSDWRpWhKA+EFiJqW2IJoxQ9gv5e1Z9yeT3/9sUYzABGSXQW+bQ8arpy0eiFFpsnb1VXq67phSTpWWnLMOX5pwpvAtgJTUXWU8yCnygngd64AEGn8EXKCHlDDbHoRTUmXqOcDbN65Au0GbbXDx9jVZ4xnnTobTmXr8jWscU+zcKunl6bhYOR/GUMW9iYFzJxQR4HZHntQ7YBb4LkA5oEOp6y0ztZ02Xm1mYBI4DazptXA6VNIfNxqf0yxhsXsogfm2jpv2FtOptI3ZUMkaO1w== 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=ZI+hrEV1IF/baYC7amBhBjR7L/ycM53EEBOS8ICYLzU=; b=dEn73N+T42kUYt5Ju2IWtgdHDAiEPyUh7BqeBLD55l7j8FiH5rq3gXFPo7czvkscp7fSl12BMCJE/qQqjHTzLy0mUpBl/icEzYNnT//E7tiYXC+ouHmbkkb2ukuhPoRjyX6xELwYCf0W/CB3xJ9Clumt/nd2YanFSQmGgVK3lcfIwUBY1S1mjc6KfBaohjO2v/i+w/SN3yhhFg7tp3tDIh9X4b4P02qSOhRrUsxeNXRFO7aTCMNsm8rnOyD7HWHI7Jc4rC1GrEaSc+ypPPkB03tvaBkuQ1Tmj4lhj+x40tnYyJaYPfQtriPqDKmuw/44bW2sXoP7g6FTp1aiyWAKMA== 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=ZI+hrEV1IF/baYC7amBhBjR7L/ycM53EEBOS8ICYLzU=; b=bnvn7yn1SoTZCRAccgveypEJG3GSl/xEQ/cpHLAJHmmrpt+m9YtRqqRE/B0hYY62M33zRi8z4Brru8fZw609yFPznplg2WcGLTvqIWyaxfWHzq7yIcMaM1uIrv0P5No3R4MdESDgiNwie1M5kYF3tH4giA7gCFO7l9dZNnW3iue1aP9OaLiHHQFtzKUa8/7UlnBIkReHhAPjNB49bWzyrdivz3Wj0Wbg2r0cRe5C58RUNfhON6UWaWOIRDcCKzQA4xI/n+YYN8AKz7LVyGx2oRU2S62MsEswDTUv1q+vNALW0a4CSy/Dzwdm+66wht98bklqjqyWa/DArDkbRqSn3g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:13 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:13 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:36 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [zw0yJBxbNl6XG40XUkCuDtk7FkFrSSCl] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 93c70a4b-f75a-4765-234b-08d9e02a0570 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1jSk3KeGWb4U90AELpTLMLsmuhUv+U0QzlfS1uQCYHnSUQKcq5qd88VCSrcx1LGQ8+0QmSB4eCOem3Eu7dvKOvYCvcyCX7T29mO6z4Ke9RlZFsOGJLAuGFKB1LejtjqAFRos5TL12Fuxo7HveoDY9nyBv5IdyJJSzwruf5lggSiofGJbhUXdcwVN6QkaOv+NItFNSbymOo9zNl22LarabXKaC1F6zpZKb1VzDwUuoBq954qzw9zC5EHDf7Sd01RcZ2xQnc2b4LUDxlrLCKoeVtwJSO1qrC9S90dO9DqCimdja7IR7V8i0+FeZOK6KR9+pRlBwo3kZUNFDldSoKubNtktmlE2Y7J/A4q/KBcsiLAeDDppx3riEnHTFC5dJMgeIKAAHt1SRLW/1OV4mzUj1Stfd4bxSYGR0OZSjdPIQVkw3jcjV9mNotDZnI5vCOXPwMDuL+TtFY/w6n2IKsZbggE+fKKOlTc25ausXwocMvw3Kvmme3yYj34WXSjsNIm/aJCgO1IziOEqWMlzsNyBerrh47HoHlQVw/376V68Zbq/qv0K3+bmxcYEmZxRIQ9n X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4GNHaGScXM89lwAJC0AugVLNyQ0QkU1s9FW8gE5AUscKkfN3Gp+ZxYiBPadvwboBLXxBLaCEZTRWWOmjtA2ZviDrLxhoJpn9ZYZr2g7yGS0o1gPfR06aYAub814SMTX5msOO77t5v6d5YMDSBJksioXuB5eQSMF7bas11FJ5xYZjctRV/bpEZZx6Hxkk5zDfYril8l2DeHaGnChX272BfyGcSyZPMvmHgfIgd9jWAKJqyMw6NMsDSjBgTVeTZOYmgym+kHg8c6qh9orsJkARkL4gp1xxS0MWeIIJToirA7ZjLePW25PFjUPNKU9dMJUNSdWtN0T8MHGCFVG+dzjgmvxWPRRb0kubdE/2gq4wG0m0wQwSKTXueLa2WeK8R9Ef3bsv1IvXUctPw8NcwgG6XPmfHSK9+ZNvehVx/l1+Ge428PBFn++Bus+L7l1Zip/ISxogfo5wVz7Mc8diJdaqI67pHFQd7BKOKAvtkNw2J/3QIHhIDTd8JNkDlJMcFmJvvzSBWa3mpSE+Ljnja0jTLwxxCBRaM4eCluwp9w3SL6iVnd2cCowGPtgWo1ZL4OWEU/ixaAkO7PNMM9teMD9Pqcfh+XB0gnicFUcKc+3n3gwGXkLWgTAp5YzJfbqSZd0ZwBWTp3zXJtOSg3NdoDI6JHtMpLghbxUpe8KLeuH8wsczNTVQQhYH9I+yQcfL8CpOlztGOkZ7Lx2/GQrPvEvUjTehy+7Dy9XtU3o+GPzGh2VW7ZlisnZPoAwg3ytcJBAFJDz/81QxoIqNoPMOEWxI9S8l3EX9SmJDysQyd/Rb+kU9x0YHGy7yWGEq+KClzzZczYRF8MbpOYomoI1vmw1W0IMupxHtOfxeS7ATreMrU042TUfRBOOks119fxrReu1DLJZytty7ovQ1QMefjaF7APrcsOCo9Tc8xsXwtNZGieEeDfJ53d82V5MPpbbmqudV9tV0+Vq1lf9rnscUuoMjbA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 93c70a4b-f75a-4765-234b-08d9e02a0570 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:13.5369 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 09/21] avcodec/mpeg12enc: Reindent after the previous commit 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: HKVw+oYije9Z Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12enc.c | 255 ++++++++++++++++++++--------------------- 1 file changed, 127 insertions(+), 128 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index e30e41027c..bec522d8e7 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -263,7 +263,7 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) { MPEG12EncContext *const mpeg12 = (MPEG12EncContext*)s; unsigned int vbv_buffer_size, fps, v; - int i, constraint_parameter_flag; + int constraint_parameter_flag; AVRational framerate = ff_mpeg12_frame_rate_tab[s->frame_rate_index]; uint64_t time_code; int64_t best_aspect_error = INT64_MAX; @@ -276,146 +276,145 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) if (aspect_ratio.num == 0 || aspect_ratio.den == 0) aspect_ratio = (AVRational){1,1}; // pixel aspect 1.1 (VGA) + /* MPEG-1 header repeated every GOP */ + put_header(s, SEQ_START_CODE); - /* MPEG-1 header repeated every GOP */ - put_header(s, SEQ_START_CODE); + put_sbits(&s->pb, 12, s->width & 0xFFF); + put_sbits(&s->pb, 12, s->height & 0xFFF); - put_sbits(&s->pb, 12, s->width & 0xFFF); - put_sbits(&s->pb, 12, s->height & 0xFFF); - - for (i = 1; i < 15; i++) { - int64_t error = aspect_ratio.num * (1LL<<32) / aspect_ratio.den; - if (s->codec_id == AV_CODEC_ID_MPEG1VIDEO || i <= 1) - error -= (1LL<<32) / ff_mpeg1_aspect[i]; - else - error -= (1LL<<32)*ff_mpeg2_aspect[i].num * s->height / s->width / ff_mpeg2_aspect[i].den; + for (int i = 1; i < 15; i++) { + int64_t error = aspect_ratio.num * (1LL<<32) / aspect_ratio.den; + if (s->codec_id == AV_CODEC_ID_MPEG1VIDEO || i <= 1) + error -= (1LL<<32) / ff_mpeg1_aspect[i]; + else + error -= (1LL<<32)*ff_mpeg2_aspect[i].num * s->height / s->width / ff_mpeg2_aspect[i].den; - error = FFABS(error); + error = FFABS(error); - if (error - 2 <= best_aspect_error) { - best_aspect_error = error; - aspect_ratio_info = i; - } + if (error - 2 <= best_aspect_error) { + best_aspect_error = error; + aspect_ratio_info = i; } + } - put_bits(&s->pb, 4, aspect_ratio_info); - put_bits(&s->pb, 4, s->frame_rate_index); + put_bits(&s->pb, 4, aspect_ratio_info); + put_bits(&s->pb, 4, s->frame_rate_index); - if (s->avctx->rc_max_rate) { - v = (s->avctx->rc_max_rate + 399) / 400; - if (v > 0x3ffff && s->codec_id == AV_CODEC_ID_MPEG1VIDEO) - v = 0x3ffff; - } else { - v = 0x3FFFF; - } + if (s->avctx->rc_max_rate) { + v = (s->avctx->rc_max_rate + 399) / 400; + if (v > 0x3ffff && s->codec_id == AV_CODEC_ID_MPEG1VIDEO) + v = 0x3ffff; + } else { + v = 0x3FFFF; + } - if (s->avctx->rc_buffer_size) - vbv_buffer_size = s->avctx->rc_buffer_size; - else - /* VBV calculation: Scaled so that a VCD has the proper - * VBV size of 40 kilobytes */ - vbv_buffer_size = ((20 * s->bit_rate) / (1151929 / 2)) * 8 * 1024; - vbv_buffer_size = (vbv_buffer_size + 16383) / 16384; - - put_sbits(&s->pb, 18, v); - put_bits(&s->pb, 1, 1); // marker - put_sbits(&s->pb, 10, vbv_buffer_size); - - constraint_parameter_flag = - s->width <= 768 && - s->height <= 576 && - s->mb_width * s->mb_height <= 396 && - s->mb_width * s->mb_height * framerate.num <= 396 * 25 * framerate.den && - framerate.num <= framerate.den * 30 && - s->avctx->me_range && - s->avctx->me_range < 128 && - vbv_buffer_size <= 20 && - v <= 1856000 / 400 && - s->codec_id == AV_CODEC_ID_MPEG1VIDEO; - - put_bits(&s->pb, 1, constraint_parameter_flag); - - ff_write_quant_matrix(&s->pb, s->avctx->intra_matrix); - ff_write_quant_matrix(&s->pb, s->avctx->inter_matrix); - - if (s->codec_id == AV_CODEC_ID_MPEG2VIDEO) { - AVFrameSideData *side_data; - int width = s->width; - int height = s->height; - int use_seq_disp_ext; + if (s->avctx->rc_buffer_size) + vbv_buffer_size = s->avctx->rc_buffer_size; + else + /* VBV calculation: Scaled so that a VCD has the proper + * VBV size of 40 kilobytes */ + vbv_buffer_size = ((20 * s->bit_rate) / (1151929 / 2)) * 8 * 1024; + vbv_buffer_size = (vbv_buffer_size + 16383) / 16384; + + put_sbits(&s->pb, 18, v); + put_bits(&s->pb, 1, 1); // marker + put_sbits(&s->pb, 10, vbv_buffer_size); + + constraint_parameter_flag = + s->width <= 768 && + s->height <= 576 && + s->mb_width * s->mb_height <= 396 && + s->mb_width * s->mb_height * framerate.num <= 396 * 25 * framerate.den && + framerate.num <= framerate.den * 30 && + s->avctx->me_range && + s->avctx->me_range < 128 && + vbv_buffer_size <= 20 && + v <= 1856000 / 400 && + s->codec_id == AV_CODEC_ID_MPEG1VIDEO; + + put_bits(&s->pb, 1, constraint_parameter_flag); + + ff_write_quant_matrix(&s->pb, s->avctx->intra_matrix); + ff_write_quant_matrix(&s->pb, s->avctx->inter_matrix); - put_header(s, EXT_START_CODE); - put_bits(&s->pb, 4, 1); // seq ext - - put_bits(&s->pb, 1, s->avctx->profile == FF_PROFILE_MPEG2_422); // escx 1 for 4:2:2 profile - - put_bits(&s->pb, 3, s->avctx->profile); // profile - put_bits(&s->pb, 4, s->avctx->level); // level - - put_bits(&s->pb, 1, s->progressive_sequence); - put_bits(&s->pb, 2, s->chroma_format); - put_bits(&s->pb, 2, s->width >> 12); - put_bits(&s->pb, 2, s->height >> 12); - put_bits(&s->pb, 12, v >> 18); // bitrate ext - put_bits(&s->pb, 1, 1); // marker - put_bits(&s->pb, 8, vbv_buffer_size >> 10); // vbv buffer ext - put_bits(&s->pb, 1, s->low_delay); - put_bits(&s->pb, 2, mpeg12->frame_rate_ext.num-1); // frame_rate_ext_n - put_bits(&s->pb, 5, mpeg12->frame_rate_ext.den-1); // frame_rate_ext_d - - side_data = av_frame_get_side_data(s->current_picture_ptr->f, AV_FRAME_DATA_PANSCAN); - if (side_data) { - AVPanScan *pan_scan = (AVPanScan *)side_data->data; - if (pan_scan->width && pan_scan->height) { - width = pan_scan->width >> 4; - height = pan_scan->height >> 4; - } - } + if (s->codec_id == AV_CODEC_ID_MPEG2VIDEO) { + const AVFrameSideData *side_data; + int width = s->width; + int height = s->height; + int use_seq_disp_ext; - use_seq_disp_ext = (width != s->width || - height != s->height || - s->avctx->color_primaries != AVCOL_PRI_UNSPECIFIED || - s->avctx->color_trc != AVCOL_TRC_UNSPECIFIED || - s->avctx->colorspace != AVCOL_SPC_UNSPECIFIED || - mpeg12->video_format != VIDEO_FORMAT_UNSPECIFIED); - - if (mpeg12->seq_disp_ext == 1 || - (mpeg12->seq_disp_ext == -1 && use_seq_disp_ext)) { - put_header(s, EXT_START_CODE); - put_bits(&s->pb, 4, 2); // sequence display extension - put_bits(&s->pb, 3, mpeg12->video_format); // video_format - put_bits(&s->pb, 1, 1); // colour_description - put_bits(&s->pb, 8, s->avctx->color_primaries); // colour_primaries - put_bits(&s->pb, 8, s->avctx->color_trc); // transfer_characteristics - put_bits(&s->pb, 8, s->avctx->colorspace); // matrix_coefficients - put_bits(&s->pb, 14, width); // display_horizontal_size - put_bits(&s->pb, 1, 1); // marker_bit - put_bits(&s->pb, 14, height); // display_vertical_size - put_bits(&s->pb, 3, 0); // remaining 3 bits are zero padding + put_header(s, EXT_START_CODE); + put_bits(&s->pb, 4, 1); // seq ext + + put_bits(&s->pb, 1, s->avctx->profile == FF_PROFILE_MPEG2_422); // escx 1 for 4:2:2 profile + + put_bits(&s->pb, 3, s->avctx->profile); // profile + put_bits(&s->pb, 4, s->avctx->level); // level + + put_bits(&s->pb, 1, s->progressive_sequence); + put_bits(&s->pb, 2, s->chroma_format); + put_bits(&s->pb, 2, s->width >> 12); + put_bits(&s->pb, 2, s->height >> 12); + put_bits(&s->pb, 12, v >> 18); // bitrate ext + put_bits(&s->pb, 1, 1); // marker + put_bits(&s->pb, 8, vbv_buffer_size >> 10); // vbv buffer ext + put_bits(&s->pb, 1, s->low_delay); + put_bits(&s->pb, 2, mpeg12->frame_rate_ext.num-1); // frame_rate_ext_n + put_bits(&s->pb, 5, mpeg12->frame_rate_ext.den-1); // frame_rate_ext_d + + side_data = av_frame_get_side_data(s->current_picture_ptr->f, AV_FRAME_DATA_PANSCAN); + if (side_data) { + const AVPanScan *pan_scan = (AVPanScan *)side_data->data; + if (pan_scan->width && pan_scan->height) { + width = pan_scan->width >> 4; + height = pan_scan->height >> 4; } } - put_header(s, GOP_START_CODE); - put_bits(&s->pb, 1, mpeg12->drop_frame_timecode); // drop frame flag - /* time code: we must convert from the real frame rate to a - * fake MPEG frame rate in case of low frame rate */ - fps = (framerate.num + framerate.den / 2) / framerate.den; - time_code = s->current_picture_ptr->f->coded_picture_number + - mpeg12->timecode_frame_start; - - s->gop_picture_number = s->current_picture_ptr->f->coded_picture_number; - - av_assert0(mpeg12->drop_frame_timecode == !!(mpeg12->tc.flags & AV_TIMECODE_FLAG_DROPFRAME)); - if (mpeg12->drop_frame_timecode) - time_code = av_timecode_adjust_ntsc_framenum2(time_code, fps); - - put_bits(&s->pb, 5, (uint32_t)((time_code / (fps * 3600)) % 24)); - put_bits(&s->pb, 6, (uint32_t)((time_code / (fps * 60)) % 60)); - put_bits(&s->pb, 1, 1); - put_bits(&s->pb, 6, (uint32_t)((time_code / fps) % 60)); - put_bits(&s->pb, 6, (uint32_t)((time_code % fps))); - put_bits(&s->pb, 1, !!(s->avctx->flags & AV_CODEC_FLAG_CLOSED_GOP) || s->intra_only || !s->gop_picture_number); - put_bits(&s->pb, 1, 0); // broken link + use_seq_disp_ext = (width != s->width || + height != s->height || + s->avctx->color_primaries != AVCOL_PRI_UNSPECIFIED || + s->avctx->color_trc != AVCOL_TRC_UNSPECIFIED || + s->avctx->colorspace != AVCOL_SPC_UNSPECIFIED || + mpeg12->video_format != VIDEO_FORMAT_UNSPECIFIED); + + if (mpeg12->seq_disp_ext == 1 || + (mpeg12->seq_disp_ext == -1 && use_seq_disp_ext)) { + put_header(s, EXT_START_CODE); + put_bits(&s->pb, 4, 2); // sequence display extension + put_bits(&s->pb, 3, mpeg12->video_format); // video_format + put_bits(&s->pb, 1, 1); // colour_description + put_bits(&s->pb, 8, s->avctx->color_primaries); // colour_primaries + put_bits(&s->pb, 8, s->avctx->color_trc); // transfer_characteristics + put_bits(&s->pb, 8, s->avctx->colorspace); // matrix_coefficients + put_bits(&s->pb, 14, width); // display_horizontal_size + put_bits(&s->pb, 1, 1); // marker_bit + put_bits(&s->pb, 14, height); // display_vertical_size + put_bits(&s->pb, 3, 0); // remaining 3 bits are zero padding + } + } + + put_header(s, GOP_START_CODE); + put_bits(&s->pb, 1, mpeg12->drop_frame_timecode); // drop frame flag + /* time code: we must convert from the real frame rate to a + * fake MPEG frame rate in case of low frame rate */ + fps = (framerate.num + framerate.den / 2) / framerate.den; + time_code = s->current_picture_ptr->f->coded_picture_number + + mpeg12->timecode_frame_start; + + s->gop_picture_number = s->current_picture_ptr->f->coded_picture_number; + + av_assert0(mpeg12->drop_frame_timecode == !!(mpeg12->tc.flags & AV_TIMECODE_FLAG_DROPFRAME)); + if (mpeg12->drop_frame_timecode) + time_code = av_timecode_adjust_ntsc_framenum2(time_code, fps); + + put_bits(&s->pb, 5, (uint32_t)((time_code / (fps * 3600)) % 24)); + put_bits(&s->pb, 6, (uint32_t)((time_code / (fps * 60)) % 60)); + put_bits(&s->pb, 1, 1); + put_bits(&s->pb, 6, (uint32_t)((time_code / fps) % 60)); + put_bits(&s->pb, 6, (uint32_t)((time_code % fps))); + put_bits(&s->pb, 1, !!(s->avctx->flags & AV_CODEC_FLAG_CLOSED_GOP) || s->intra_only || !s->gop_picture_number); + put_bits(&s->pb, 1, 0); // broken link } static inline void encode_mb_skip_run(MpegEncContext *s, int run) From patchwork Tue Jan 25 17:41:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33849 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp833057iov; Tue, 25 Jan 2022 09:43:33 -0800 (PST) X-Google-Smtp-Source: ABdhPJw5SvBKXTThUc7TYiUFHrnBvUxmejnn5TLVFcmP6Lma0RPKHO/qmm1nBDTEPZVVh9S+FZ9Q X-Received: by 2002:a17:907:8a26:: with SMTP id sc38mr9429107ejc.80.1643132613135; Tue, 25 Jan 2022 09:43:33 -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 dd19si11744404ejc.610.2022.01.25.09.43.32; Tue, 25 Jan 2022 09:43:33 -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=jvtvyc5R; 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 C3BF268B109; Tue, 25 Jan 2022 19:42:25 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A5E7768B08E for ; Tue, 25 Jan 2022 19:42:20 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hNhn/RbhP4iO4D/EpKvfUs/jP6h7JpbPd+5mq1P4AY8Vv1DjPb5BfG4ksKZ9nifBQT3tYH8R8/F0z2Vq6l6YhSQlfCNTQ0r6VCsvGG7JpaXUgstK3ygkNTpWZY7jj6GTD4JgkUfQhmjLTqx+yLQeGBiEwiKTazNfjTPoTEcuuvSTqa75J9UcxkwmG0BHV7YPqFtC4yRPnmoefoPi5zUstKfKb5RqFve1sEK1SuUfFwnadaT+NUN3fjzHWCc7wN5M2rKphuwTop24qdEPvtOZhx8xs2mtdDkm+tB5QzRz5V/hMlezc2V8LGxmmRRsV0PFxCtY3k0DRQ/5LpY6igAXtg== 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=WK1aU5S7DiIpMpQkIvt3T1Ww9YbcWPSRPxSTv0AN2mY=; b=XAsiO29qacRNKf3f9PLMXGvhNNuHzPhTpyAIRwoJFgu/t+C0bmo9XWJQGozMwYOQAnYixs1D/sN77DZ9DCm4/4adMJ5q273EBSRmFptTmso3wR/YP3/JSWZVpZaDF2QvgmsgTmdS0MgQ3BsSE9oUNJqpBhc1gJ5qSrFY1HmVHqMBDx/Rzsl6iU3wY2lLIScn/Jdcl1wgv5ex3l7SJa7YNsI5d6i0hmHxsczQQKPNu8JeAz0ZUR10HTFR6gbwNZQ3gSeVPYH5qDLSAlpkzT0Ur4iVv4HR9nTQsyrNONyzV5UHDMGXYYQGHX8mWEIs2rawpunP8TIGhH3jXh1wdwv0iA== 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=WK1aU5S7DiIpMpQkIvt3T1Ww9YbcWPSRPxSTv0AN2mY=; b=jvtvyc5RQQ6CHEYG24rwGTfb/eryNdnu4xaoo4DVspDUKGHW/tDpjWpeakmCLnm/xCU1vWy/Xgw53lQOTKZ7PHK817EctOBwEKzO8DWDNNf5dhF+HfoziyilMSO2X3BalfGPz72+PqckxM0q3BPqauMtevjQmz0680QmJU8pzvdVaferw3rbSHrr4k89f4ALUUkweQ4szSiGb4C5Rrf8TpuCMShQZqIVk7xjWQDjuqrLJ1hHZwulQnX58qjhEHU5WXqeOrlWlb6rLxpEAyKQ2pGZquFgsXInlVz9DMGwZXcil6VNpN8NhxaivsrUTurLBH2hHAc+3urELlEcGLE+VA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:15 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:15 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:37 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [L5vkf7j4RQsHGcsHEti7LAAAjWxBiyhm] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-9-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bfeddfa4-9df3-459b-2caf-08d9e02a0655 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /2a0FN7qfGuoSFtgXAKcTUuzjBmrE+Th0F9BBKAB85mQpB4GTghRPrR/YieBrhTOTemGsuw6//mQ+UtlWFw2mH/CWbWWSW/qIlMw3gPVNJstYxGhd7MFRP/R9iuj0jzT0SciLjSh42hxzcic5mtcOm3aC0TpYe1ZzWQgdV7TQQbDEcr0UC0KVUMMs1YnQvY/3WaZcpy4SnTS+etz2RHg68gkA+pho4+TD3siL9nn7DG070IN9P01CZLjGLu19IGh6goovonC9ehOHT9RQCRyxKw2SV44SVG0omBSLod8bUVBFMYobjCQyU9dGsMnurv4BEbu1D2/r6vz8Fsigz+W81UwUtUjIG9wU6USJ8seO5NES8UL8gQJo62tENsOD3FFzVXYaCI7ogCxY4ldkGKsg7ifR9fM1ZlVM0fa0y5fGL+dK9oqIwprPj/9BQ/Z6V6U9xvCdiVgxj3fIFxk48UOF9UX8EYapDzOs5UAAOhtuzrPW8K5xqxyLwtC+fFCIcaxe0X3bprLmPWUpVasR/7GM3Qu0u7QSExENC76tyYyuoZrQ1dECfSfq6IKMmyqE4Dl X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bX5cIUTsMHWrlGgOpyjUEBKRl+y/CburhOpguZTAwCow4209x2rOUlcuRybjtkBpqD/TKC8ArJ9vfLSwtyxGidUofg805jkhzk8VIHjZ/Rjs8DoMMsyf7MwV5QvqYZCjoV6XEXVYGjRy0k4lT9pxSARoaTJfNZ5Zhrnjqx3COY9Torqul4zr/sqRjyUwgLDGNe5sfMT7t+zwn9eweoOkHqOMbB8gta16Z3ZHH+Gv9sDk00OH56zbIQfYKIyUbb5TGiSo8wGG5hnWrMC4fBcuGwaGj8rOn+Hjgmo29dlXdXgzo+B8HLmw5/SAkCfwD7xZzPBCo0wsBbG5wQqVEtiaB9oywHfmEdYWG2zKGGqZkSHAmn+6gFT/2AWGIs7XIiQbRyoVMzC0pYJ7RI+VdCczjFbkBz4TDLPoxYkt+QNjbope/I5bL2urY6F468piGe9ObAaNR/260O+bl8gAeCDWrUYyeN1YilW8LKC3iZ8lvIKoybVg8Mez2gxTYcE4fGakUxVuiYNZPjtPVkXQO2nm1NJ4XPnnm0b0I4P7cycxiUuH8Kyjk/PTrb/Ca+Adi14dwDGpXPESZjDSe+Zee0zwr7/I34fooiyFuKFA+7arHspqB9Whq+249SXjZ7X7Fi8KJ/JujkEpiOOa2vZSDE2Nmh6tifcwX5ePWb2UVCO9tKKJM9oeZdqS/rCK+Bmn8MlYHdAZrAeVgjU/UkWxjkEF/e94rB9qzvJwC/+Zb58xc6F/9YRUFmfjjav4EBRP0n0uK0Gq9UxDQpVWcdtcNxuhF9MAEtGk1l2dzG8jGMmOlgBtiJFIpRyK39V6LPimruUp00RfYtTJHvXYchsEaE9g8PwDd9ZvZGBh8AwwL1x5EDo37YlECA5Eu5E9OMfe9x0DjHwWTCPh2jNGSAgqesDQ4nBPk1eE5toyWmPzJIgKxivhvlKe3eGqOs2bzkEhN3H2oTyym2JaPE2YLgmeZ3wXKw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bfeddfa4-9df3-459b-2caf-08d9e02a0655 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:15.0222 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 10/21] avcodec/mpeg4videoenc: Use stack variable for aspect_ratio_info 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: jXe5gWB7iDDU Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg4videoenc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index b3e697daf7..27e16c3b72 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -961,7 +961,7 @@ static void mpeg4_encode_vol_header(MpegEncContext *s, int vo_number, int vol_number) { - int vo_ver_id, vo_type; + int vo_ver_id, vo_type, aspect_ratio_info; if (s->max_b_frames || s->quarter_sample) { vo_ver_id = 5; @@ -986,10 +986,10 @@ static void mpeg4_encode_vol_header(MpegEncContext *s, put_bits(&s->pb, 3, 1); /* is obj layer priority */ } - s->aspect_ratio_info = ff_h263_aspect_to_info(s->avctx->sample_aspect_ratio); + aspect_ratio_info = ff_h263_aspect_to_info(s->avctx->sample_aspect_ratio); - put_bits(&s->pb, 4, s->aspect_ratio_info); /* aspect ratio info */ - if (s->aspect_ratio_info == FF_ASPECT_EXTENDED) { + put_bits(&s->pb, 4, aspect_ratio_info); /* aspect ratio info */ + if (aspect_ratio_info == FF_ASPECT_EXTENDED) { av_reduce(&s->avctx->sample_aspect_ratio.num, &s->avctx->sample_aspect_ratio.den, s->avctx->sample_aspect_ratio.num, s->avctx->sample_aspect_ratio.den, 255); put_bits(&s->pb, 8, s->avctx->sample_aspect_ratio.num); From patchwork Tue Jan 25 17:41:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33850 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp833176iov; Tue, 25 Jan 2022 09:43:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJwqt0yQRcG+BWfnOnQqwZxlcK1KILArujok+ygEbRpikRsof7xpRXPUAPSk8amRf+qTBBjT X-Received: by 2002:a17:906:f01:: with SMTP id z1mr16832918eji.346.1643132622631; Tue, 25 Jan 2022 09:43:42 -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 dm11si11067982ejc.133.2022.01.25.09.43.42; Tue, 25 Jan 2022 09:43:42 -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=BzedxvfH; 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 DB81768B0F1; Tue, 25 Jan 2022 19:42:26 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D88C468B09D for ; Tue, 25 Jan 2022 19:42:20 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GND8h8fnNcNf6XF5J2mRp1NpYVbasR63/X5AjCpspNiG9VwV5g0JTGypFEn4Yn041NSALlr0N6ktjVbcagLRYYvQsUCP3luasc89R+vGYUYLASlqIfkOHgL3rpHqyZ5AJAqpiTuxx1lA7SVXPBlE38eTm9zhOnow4sfA0i11jjIaK8T51gGAWlQ10yFrQQq/gELlEDoiK2rD0zeTyar8iXV84We9cfb7v+q2NKAf4a6rZeOYGTHIR02EORkQ5GcKtjqJXlgzSZu7jJMyUsFOesc3/+4mcgLuwFAVOSlvDJvBPVhhAog2yC2I5H7TVwJ2UlBQWKjvorotb7OyJHxTcQ== 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=Jy/+6bAGoUg+VHdnBVnNjZryxnfuufBtiy65rM10igQ=; b=F6VBX8SIxmme7ptaar36umDMLh+mxy6UqrMOL5dRLc/YLpRfYjfHLpS/bWzMgDpvktf43VCWrdXrUx3Ha5IKUXBqyBcEOT22LMFj/sEQP2Y5T9f51EaDfXk93kvWOw7Dth7XmCymgsyulsY+vdoJ8PRQCJSBpYJf1DeNpmbGALOrMTJZh2e7bXibl2MMRIJXN77J/4Wr1wBVylVcmToB4sg3hV52pEa/ZyLtyI/swhyflk758CDCi7/pb+Ws/HhNcRg2bpG2lbx++EFPQVKLfPddsb7HyufiHnS5ojlmaUKDeB8F7mhyDjpe5L5aciHDpE/D0nGsDLFdlnd8JXwcgg== 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=Jy/+6bAGoUg+VHdnBVnNjZryxnfuufBtiy65rM10igQ=; b=BzedxvfH4BagY+WXlUkWOP7viFDfAQdPK136+zXkEwIp0tTHkDAu2XCdVL3K+6sHNo0WelC4AyzQ1W/5Jqle6UML0uY4/ivsbqz9O/GbxdPFqxBVxCoxDjkFZev5rDLM83m1sk4TvZoYrZKIi26+TcV5ECsTCBAcIFSKD8RNI0XQILGphRMr/cnJCxGUIl38F+HorwhyjhIr/yHuvdwahy0r4HHbaGgy+n03l1FcfUIRVve4tMqxRUzqskf4Y5776TKURKmwzhAVeNGiUQTAlfQr/hr/fP4yw8Xy5wqCIDv08SM08Bo56QTYPaJVElkZN/OEBKubb+BUQuANuq10eg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:16 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:16 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:38 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [xCmh7N9RuL2HGD0iJ0epBNdPlMPFvZv1] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ecb249b0-d4e9-4efc-99a6-08d9e02a073c X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hTIF4HFypJUcd/uWDDS8BkLdEb7qcKr7WdT7B5CtmZci7OwcfI0cFq8VtWod/KJS8dg5QLoaVOyK0RqM06J/876+lPfcTyc6Whk/7P3GU9Z7n2+ZOfMp5CGr9ZcABr4+gqzwbItR9dyKkQX9R9ZyDM6DCsMtrCS025VvuaEg9wzi2/l3PMsw24FrPVLOsrLoNPFc3WPetf/1CY9F7i7u+2bVkVD5Bdrs9GZnh+nQtdVUs+RAAfcagyzvG1uRM8k1b6r1j2zyQRIrCLH3qi+N34IUtlZ5H7W40V+oZB1WmbHslOi7sX2kKeQvvALKHDtA+52lDhNx1L0DvYQPshs6F06H0ZzY4NWsC2AUY5k7bnUKa7+0ShBcn3IylVFMVk7fWW6tj4EgjvIC3ZqUXw9z4xckTfhw/GwZqdAe70eSx10CPC4LWxWm8xm3VShLkZU5wbbKNdLYdJy1F5v+5DBhb2hwmKbZBRRugXTXaUNdY94pqjj2OTfWEJaeTEJXMPN5u1KSujGpRBzkIosxGYkatdUa246WmVSsUTcdomXsdYKQa6ImeFI5n9zA5UPK8dkJ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: j3lJgU663j+jWmGHoJ+iXnAbrrpVlaVEajxNuNkJHz9spbHWtkS7emChKieFA8KxjS+BScHyhVT0cX02CYCq5JPRVDfu9lKfsAnX1mYYGenJGJb/N+RlLKX827nu9JwSFqVS6OYxqHXQXtjsBIK7d/K1aeayEo1R9uQL4GpAmH0TBOt/3BT2/i0SVJEbW/8+BaPKoMLPPEE4wuqnCZR5B81eFGFi97GcefLy9nQLEaW+vWUqyQCHFmqIObMutDt9jYWGgTCzxIQOqIGxzSxQQ16lMtP/d+kJd0MgrwE2JKUVfY27IjaEFzs9V5NtKGiu0T6cKJOlL+PutHjF5jrLRLnU5ytxez1fp0Jkx9Xpds5CcaTpkPns8ulBJEnphdxVYpBLEd+9aStkO7yNlZz34zXZpxYSudwAIuYHe18j5wCChuq38AwgpDaM+37QMKpHXDUshZKWlLtN5LLeBBh4UnTNCBoh8mottncO2KHV7EM3ka0u84ELtfHFycr+2uuvvLJLwMnZDf3o0nibAgBs5l0M5ZEfM2WPuZjP/K9MOC19OkkF6OylSPgbFgSK4B/4gv/Y8sdoexwGpSdLjlp84tEylkVXZQSVtSUATY5F3DfcFQiS0Qhw38LQQQtRW0hJ//GVYWSjqG9OmNAyKY1sloHD+bWtgb75Wn+oTIQ25Fd4kc9ssyOlvlNl256wFoXEgVeH6USXeiiI6soFF7gcZyvEhczsiYek8/541iM69cIy77Tck5mUR+WD5lAsk36zlSPECphQzMSiABY4tnn8q34UqWwg/FWesm1+/ISLMXK83W1lkI9E8c27dr1Jcqx94v9ZQLauFk064JymQtXK9SzJxYdmr4/a/SN6cf6r09DF6n0apNVQAplpXVLhbYuMJgoZk6uXMWa7PDcx0FHYDqdm4VIwES38Q/NvFdJsAOSLsKrH46rJMxRhZcw+gnO01ndovyO3GZziQpwCWxUmeQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ecb249b0-d4e9-4efc-99a6-08d9e02a073c X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:16.6170 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 11/21] avcodec/ituh263enc: Use stack variable for aspect_ratio_info 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: 3hR/gNtEyNVy Signed-off-by: Andreas Rheinhardt --- libavcodec/ituh263enc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c index 069c6a9acf..bd2deba210 100644 --- a/libavcodec/ituh263enc.c +++ b/libavcodec/ituh263enc.c @@ -193,13 +193,13 @@ void ff_h263_encode_picture_header(MpegEncContext * s, int picture_number) if (format == 8) { /* Custom Picture Format (CPFMT) */ - s->aspect_ratio_info= ff_h263_aspect_to_info(s->avctx->sample_aspect_ratio); + unsigned aspect_ratio_info = ff_h263_aspect_to_info(s->avctx->sample_aspect_ratio); - put_bits(&s->pb,4,s->aspect_ratio_info); + put_bits(&s->pb,4, aspect_ratio_info); put_bits(&s->pb,9,(s->width >> 2) - 1); put_bits(&s->pb,1,1); /* "1" to prevent start code emulation */ put_bits(&s->pb,9,(s->height >> 2)); - if (s->aspect_ratio_info == FF_ASPECT_EXTENDED){ + if (aspect_ratio_info == FF_ASPECT_EXTENDED){ put_bits(&s->pb, 8, s->avctx->sample_aspect_ratio.num); put_bits(&s->pb, 8, s->avctx->sample_aspect_ratio.den); } From patchwork Tue Jan 25 17:41:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33851 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp833318iov; Tue, 25 Jan 2022 09:43:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJyV6Ndj2W6nvq9Oy9udrzlVhAfw9S43laeaVKE98oGt99KVf2ZEgsHCAV8WxgeOvchDyXGQ X-Received: by 2002:a17:907:dac:: with SMTP id go44mr7795838ejc.572.1643132634220; Tue, 25 Jan 2022 09:43:54 -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 e14si7092288ejl.52.2022.01.25.09.43.53; Tue, 25 Jan 2022 09:43:54 -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=Myf4fRn5; 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 13A4068B148; Tue, 25 Jan 2022 19:42:28 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2810868B09D for ; Tue, 25 Jan 2022 19:42:21 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DMF4j4/KsUJqmVg8DbmvyJVoq8TyWq+tiVP22jllJeU0KjM8ZWrhiFGtaE5YeMtHLKrm/zoQb4PVJk/+YgrNgqiiX+Ibf9Ko/vhUL2Cg7HWoQtSH9yy/jMUfyhPRFBKMgCf7Z7Mnv4KWU62SKu/SRq5fIs9EsiZB+dJAh3L/hGFTc9zxWLwrUP/E8xeyAv7Bte3/mbFR5nKinQo2fjFfOD2y2VhtcYnS4lvnODPbSx5sWQ/ziAxBOnrWj6GJrbnJV4oq972kTCC9bdnUwgMzyJlEDRmvGSlcAmqBuupmEsyDqIfbcqgFc64s+XA9Jbb3cIuLd+9eX3TGlJj2pw9rUg== 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=xvjJNLAAJ5/FUlYK0gCZXu7okfiwEQt09j7ml+3nrLg=; b=nmE/1XdPJdJGE4gNSkxmoMojxz/8fJEJY7foBV72q6tmmO22L6N1sjF+XGzVLKBXNZ+WleXqWrQxZxXkvdlRSqhkkaBeb7TUEyn5C5NNTZBRZ4r6SeMXI+8wH93uPEa/tbsIDEI0LOI2hFppQa+D1cQ9lM0u/v8/4Y4DDHjUWSw/Vb9tZknVN1Y05uEq6xlsq56x9+sIxMKW/n9LKVYEl79+6n0O3YQ/xFcDoZpnMuGMi3Tqt0nsVksKbCgT87xA9IYyA1WrOaQZqkpCnO8xDMbS2TI273hA4fCHkmob3Gj6999VQi30OV6Vce/I3j+gCpN9qBVxwlbuv4g0fZ67PA== 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=xvjJNLAAJ5/FUlYK0gCZXu7okfiwEQt09j7ml+3nrLg=; b=Myf4fRn5RW6Th/VeFFnufvgUx8otlD7lgcvvroW9f96UIzEobyU4GuhOofcl4OFuMeGqzRoGeLWCI53sQ9wQpspPKC7yUHZ1hMVUvpsHx8cQs0dvt5yT3C/ZppKIlQexdXIQdKVSs+Diz+9HDU2OzAljY2db4ejAyrdHIS2kQyGQg3NIQj1zs5OS3Osq5rd3FyamjAka0hPbKoqV71Whs5s521MKbeWpFTxaV4P8dTac1hmJ/d+aQWZ7b9qOAqqIheMTQ//lYIWhTaAGUf2q6N77i1wHPkUIxmURekasDrWG0ws8sn+e5hvtPlmVpvTwKlOjMm44I+x5mHMs3xFeLg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:18 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:18 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:39 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [22HZRa4xqgQ5KfOGEEEOnU5WaIba4Hrh] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-11-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dfec214a-16b8-4f79-4281-08d9e02a0824 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GAeGz1oNGRCStmHa22jHNb63oIgKFWGjGlo+9rGh6/t72G+jqEwu2VvWNATIrJrMv8JG23/4XmgYGur07ME0c9h4J3qQD38MV+FUGjbYRwZp5H5R75MQqKHNFtIxNuK2h3TTUhvSvF32NibyC+MDqS2AVuznPFwTsGat/Ya20FWJLxi7k7kzVndYn+daaYokNK75F0YP2/76UABrHXYtKuBv0M9wmLyW/ly2SN9FYVFpDkSxlbidOotQDYy2doza1s5nmXhX6jdlcwOllcdna45i8YC4Z6CWLLmPP4yPKnW/n3VzG6nD2fiZiAEoTz2Ne3gnXhvwvzQ+yTtvPlKZ9FjfoOuZehboZIjEYM/PEJRZEdfCQ2DOEzRdDY7b6m0Dn4ESx9Vh4S1MGFtqjeUqWkcOBN8ROtkJ3pzcrlTxr3arw2hTsCxmukgSJqW5kX+6nrdD72C97yTsxJ8COdc4hgvSu3Fs8rgLGXtDC5Ocw9J2kr4s9Gv0sWZbEVAV2pIYtMeVi1T13Wh3RulQojF9g6LLQOEGaY5PXfHZFW5k7i8PY74d78CU5ecg6c8g5NI3 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: TSONzH3ky82YCUZS/QVqw5zTKSpGzpk94XSogK00wfJw8lJQoJpVQj89eEcKvdbEoG+7QdNa9dU+ztZ/2w2irk9Gdv/wOVLIG/o8mdXbQOaGIalrL+YhwHwwLDN7hxDnmiWHabVw3ZxIE/69+dXOcDOPQk8PH9sF9qe5CSpER7teTAGhxlY/u0GJjWwagD4wnbFlLl41/bX/ieuwCZh3gRBcpfYurhUzLO2KR3e19IW0b6Eov3xvmHTW7oP8wWr0WIdf/GX2NJDjaVcBdt5+KEEtbw2whtq6oDBLT2mVVQ4aLcm8+2xPJNocLl0jcBuPsMGHbqwo81stkX5s5OdK3rPtaO1b4Ma+FvYpGVwuJFqr5blsy3+D8Ki4J9C4UGnHE3VqL2XBfvk6Mxtxbv69/u/62QLSFfInXuugsvYjthJykaPGlivi16MNl/heaQoujgyjodJi/lei+83MdfqpVd9hSxr/znUenScklTrJa7Ldg6PxpecYb+9a6gDVzc6g9HbIvQ9QrgWe7iItmdZPopQq65LQ0Yg+ypS0JX1iXaLeBNk2Jjg81J4WiKBrpNg1iH+1GQElsSfd5a/ye5ff1QHP6jWJreLOMQqmsy/15RI38hV0DHsd0tLveNKivw3c4mIuf52ELK83Cj+DsvcRdX0iLXZZX9GMwl/TgJZPFUCBZj4QjCHWe0XvCkhWemk5hL4jWQYoyjJm7NUHTZiPka1mZ8yl/e4z+TnX38v/2tOEOgoyk2ScCiYxZs8M3qHUUm1K6zcNL9o+EQwOKmsLfCK5K8Ng3JjX9W+xyH47wTy7beZ107HFiNuyJmVbH/ALxv79vO+AI7e/zdzauAj8tLmBxYFgJmtmsjcLF0kkiId44kzSDVYcyohZyyvWWq5DpibkB4gD8mNp/5Ad4d23wqGSuz8bJgk68cFdf7erWs6vdxWdYQesYdSu8rnZNsypxK2V5txC7XmWLqOJuJZxaA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dfec214a-16b8-4f79-4281-08d9e02a0824 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:18.0415 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 12/21] avcodec/ituh263dec: Use stack variable for aspect_ratio_info 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: VCwVG6Psk2QU Signed-off-by: Andreas Rheinhardt --- libavcodec/ituh263dec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c index 0a032ea54c..7d7a1f01a2 100644 --- a/libavcodec/ituh263dec.c +++ b/libavcodec/ituh263dec.c @@ -1222,8 +1222,8 @@ int ff_h263_decode_picture_header(MpegEncContext *s) if (ufep) { if (format == 6) { /* Custom Picture Format (CPFMT) */ - s->aspect_ratio_info = get_bits(&s->gb, 4); - ff_dlog(s->avctx, "aspect: %d\n", s->aspect_ratio_info); + int aspect_ratio_info = get_bits(&s->gb, 4); + ff_dlog(s->avctx, "aspect: %d\n", aspect_ratio_info); /* aspect ratios: 0 - forbidden 1 - 1:1 @@ -1237,12 +1237,12 @@ int ff_h263_decode_picture_header(MpegEncContext *s) check_marker(s->avctx, &s->gb, "in dimensions"); height = get_bits(&s->gb, 9) * 4; ff_dlog(s->avctx, "\nH.263+ Custom picture: %dx%d\n",width,height); - if (s->aspect_ratio_info == FF_ASPECT_EXTENDED) { + if (aspect_ratio_info == FF_ASPECT_EXTENDED) { /* expected dimensions */ s->avctx->sample_aspect_ratio.num= get_bits(&s->gb, 8); s->avctx->sample_aspect_ratio.den= get_bits(&s->gb, 8); }else{ - s->avctx->sample_aspect_ratio= ff_h263_pixel_aspect[s->aspect_ratio_info]; + s->avctx->sample_aspect_ratio= ff_h263_pixel_aspect[aspect_ratio_info]; } } else { width = ff_h263_format[format][0]; From patchwork Tue Jan 25 17:41:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33852 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp833447iov; Tue, 25 Jan 2022 09:44:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJynHbLqKZauvIAuh6RvVuESvjdw1ElMyAkIjsrGeqqfGauQYvYbM/h9YkLT7Tddyrxa2+6y X-Received: by 2002:a05:6402:2d4:: with SMTP id b20mr22187979edx.98.1643132645072; Tue, 25 Jan 2022 09:44:05 -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 z8si5591595edc.157.2022.01.25.09.44.04; Tue, 25 Jan 2022 09:44:05 -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=c1XUrJyJ; 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 EF1D468B162; Tue, 25 Jan 2022 19:42:28 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6530A68B0AA for ; Tue, 25 Jan 2022 19:42:21 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UI67bIuitzPvhYWp1sOI8hs3BXYRicnbOZ8xk+Gc+9WQ8bVNeanBr36o01iLCaooohc5FZ/4MRLpTSx8fOEMNFKJykrQPFnY4OdLo813qyMos4E5edY6kSN+tn2A+2BaeZRR0TMK64zuVegoQZsi0Ek5QEdS6GuRg4hpX3KEbqXic4KjQ41EZND2+toiEu9aAd6c9ZJSm96W62f359JZPs+Ppe3kJvAiBL2EOvpuAaUeGa2+Ztjgz0zldlt54vAicu1uJSEcJNO4OztwUEYvRDz6Opx9FXP+LX77Ry6SU+FeaOpfnvj0RgwC/NRchovzobwX/bWO+uytf0Teisp8Mw== 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=+dH3vG0Vd8wYuxf5Lv/30eu3e1YXcKRZ5gp/JvAyfH4=; b=ifB24QjFWbvOJ2dtpE0euyh1aUWzs1OnzjE3xVCeNImwRtRb78qXmGlpy5DNej01thB9/UoRiHCTNfJGteo22Ki0XrTkrKXYYb/3j5HuTr0Azi2uwwIuVPLLJMsiIvudGLnros4DrLmBHf3LaOCCrvsJtODwu9X6SU4JoNWpqdYekJ4qwFtPR19YUoPn/rsQ8YJzWIxkJtVCK6sJtlPG2XNgDq+M2XKNab47dSulMtP/3GoPeG2+QPMLCzX+Po1SCBRtIW01fCQp6CfNJjsasVozlFcTvTE3OM4qdHT74PcV42g581vGy8aeuG6mWYniCrIr+DJOd7V4DpK9tBwEYA== 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=+dH3vG0Vd8wYuxf5Lv/30eu3e1YXcKRZ5gp/JvAyfH4=; b=c1XUrJyJL/vvcM1gHO63X1ZacNhpy9UeZX7QECqceSx2BstZ12zPBuIj4V/pvqMqUS2qiHNO8+xYGsXCZuCcU1eTRx3yPLO0m6h8IqA789BKhq7nuJuD0QPE/LGXzyccXvSBPMFBdo/5AxbClL7tujUMP5ZU49+Uo3z5K+nhzeEHLPhb0ytJiZLE7w+szZiMTcXxgiFBmR1ePXOYzDthdKZ6RuvEIQxVCr1S8nX03fVH3kZczjMWAD+DdzTQf36KY2cp+Hb9YRDrosSxsNQN8Ak8WDWb1S1RSnoLXPxZGycOItx7xPlBI8Sn8GXytH8gpAQDPdlKQBqfAK/Rv5T76Q== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:19 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:19 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:40 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [Hu4vwqO0Mxwxa7dCzjk5fz0ysVI4xQTd] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-12-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 80e736e2-1281-492d-6ab2-08d9e02a08f8 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GLXK7L2Z9iWVDY5IRCiv214FW/Y+cKeD4S1+tWxPclZQnjpxeK8/uP6ZcN/uB2iI9cce0hMBtX7mAgtpmdWDQ8WrlicJ2jUjFl/pzhxF+66oLlHb6xl9fYPxIcDUij0if2JfL26eb0mu3v7kKglzq7kSbmLL1y9FCwc2/mgRiew8FDuLhcEENq8DYHg19+gLhp47BUVTuwZQYPyFSSCohMo4G2ZeU7LahqyXLe1YHano64q5TbDQAVCL2K06lOmxAMtEZKOO82ihEleV83VDobkl6tLMhtaSEqsmJdTvGWzQ72dzHaKcfIBhz+FIKcz/TAXKtYuFrJomOKRAaaXgFIx8F/dQZUxQ19hxp8IcWbyPsU9uVkiAooJs3jFYMC6OB4MBSfc1hWgklHIVy4odjjkJiSB5ZM4FguIY2oZZkQGr6U5sYms/GP64wzPnBLBLtqa3cfnuFuaUy65S4yYiPIdTg87mGOO9sbhKA2jBwmpMs/8hNxAiZFptQuQonH8hWQESmAukY0K17Ddsr2dxaPG8Cjf5nm+0wMe3oc8dw4PMsaVTjWbAPKmjy7e0XLsj X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pyyADuB6U1mRluFyvNYGvAhncI71a2L9aW0yBBGx7BtFeJ2Jehf9NBZS4E1O4UAt0z/YBVse1K8SO5bIrxO9T3h+ZoQqUyvyrubAFcPY7o6MrmKXsPB6MMIipAinVVgrCFOfTuUi2FTUGEFaVwidtzoZuwa1ZvflvpAsplHt7DlR/QN7OageYYcecsNGVLFS7PRXoB6CvjxEsvCC+wYkw8BmLf5wsb8y/eTTVNHCdup+qjpUF7dVlZdswGLAqrcTv5h6nyRJv7p8hrJgREOTxWtsJN+V05raqxQdHX0rrAwfcOEitLdik+p/mkuD/UoEz18ZiW+Lqdo7+2ErKAv31IMsrNxNq0BxCrbSEjOgZcdk/M4/AsYGx6m7z16DbiU7SuQ+OznKaylLdGHWGxS2gnrLCibCt4WClKiYJw1jrolkkB0l6DOB5ExTEPdQ7OX490ie+L+dUA/sc2t+b6QAFS4VBKBpqQ70OmhZOvbCqci02F8qgmOZH03IkJoYEkdYWrybkwtXQwOjOkRWuDe4siDRtW+VvMPTNxTVVnD+OmT0sXJIdIcgqvlAcBPjsXfEW37Z+ztBCGQehCuPzROlQDovLK9GlUqg/ORgL2zbgIfQ9qy0SBMxqpqUb7qTwHtRJQR+nV+SaDae2yUJys0JUj2Eec+J+LT1GFQOKJxa6bCaIyvFb0VpxRGoG2milvwF3M47FYGlVjDPEXrVlcbBEErEoVFZkZcMPjTlY90GpCskV95krb38QiqlnVx99F+1rptFeYLOCLCX/sJ9Iiwtl8eoPavcg2I7JFaSUnwGX+0bN89VsP2C3Lh6meDxdSw3xF13rO98FVm1Tn2+//Ocm2zQm0gWcggDDfrnR0+yaP7I/f3koWIQenAnoy1z/TwRQ22ciyssFKvgDhyLlxwAEn6hwWN/nkasjs/A2nmKtNNy7yMYMoWfg9l1bvZ4uTrE229Yp4LDMm/jZGiGl7i/dQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80e736e2-1281-492d-6ab2-08d9e02a08f8 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:19.4475 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 13/21] avcodec/mpeg4videodec: Use stack variable for aspect_ratio_info 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: cxvEsxEVyOHW Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg4videodec.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 00bf7b6c4a..bdd320b1df 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -2215,7 +2215,7 @@ static void extension_and_user_data(MpegEncContext *s, GetBitContext *gb, int id static int decode_studio_vol_header(Mpeg4DecContext *ctx, GetBitContext *gb) { MpegEncContext *s = &ctx->m; - int width, height; + int width, height, aspect_ratio_info; int bits_per_raw_sample; int rgb, chroma_format; @@ -2270,12 +2270,12 @@ static int decode_studio_vol_header(Mpeg4DecContext *ctx, GetBitContext *gb) s->height = height; } } - s->aspect_ratio_info = get_bits(gb, 4); - if (s->aspect_ratio_info == FF_ASPECT_EXTENDED) { + aspect_ratio_info = get_bits(gb, 4); + if (aspect_ratio_info == FF_ASPECT_EXTENDED) { s->avctx->sample_aspect_ratio.num = get_bits(gb, 8); // par_width s->avctx->sample_aspect_ratio.den = get_bits(gb, 8); // par_height } else { - s->avctx->sample_aspect_ratio = ff_h263_pixel_aspect[s->aspect_ratio_info]; + s->avctx->sample_aspect_ratio = ff_h263_pixel_aspect[aspect_ratio_info]; } skip_bits(gb, 4); /* frame_rate_code */ skip_bits(gb, 15); /* first_half_bit_rate */ @@ -2301,7 +2301,7 @@ static int decode_studio_vol_header(Mpeg4DecContext *ctx, GetBitContext *gb) static int decode_vol_header(Mpeg4DecContext *ctx, GetBitContext *gb) { MpegEncContext *s = &ctx->m; - int width, height, vo_ver_id; + int width, height, vo_ver_id, aspect_ratio_info; /* vol header */ skip_bits(gb, 1); /* random access */ @@ -2329,12 +2329,12 @@ static int decode_vol_header(Mpeg4DecContext *ctx, GetBitContext *gb) } else { vo_ver_id = 1; } - s->aspect_ratio_info = get_bits(gb, 4); - if (s->aspect_ratio_info == FF_ASPECT_EXTENDED) { + aspect_ratio_info = get_bits(gb, 4); + if (aspect_ratio_info == FF_ASPECT_EXTENDED) { s->avctx->sample_aspect_ratio.num = get_bits(gb, 8); // par_width s->avctx->sample_aspect_ratio.den = get_bits(gb, 8); // par_height } else { - s->avctx->sample_aspect_ratio = ff_h263_pixel_aspect[s->aspect_ratio_info]; + s->avctx->sample_aspect_ratio = ff_h263_pixel_aspect[aspect_ratio_info]; } if ((ctx->vol_control_parameters = get_bits1(gb))) { /* vol control parameter */ From patchwork Tue Jan 25 17:41:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33855 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp833627iov; Tue, 25 Jan 2022 09:44:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJzQ1YckG8QX/tDSFTSQCfkwYeUuFxKtKXMJrD58qK5NO+5mWL9J6VuGokxvcaXBIUOWfVhN X-Received: by 2002:a17:906:ad95:: with SMTP id la21mr17097410ejb.63.1643132657101; Tue, 25 Jan 2022 09:44:17 -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 sg6si12204103ejc.201.2022.01.25.09.44.16; Tue, 25 Jan 2022 09:44:17 -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=d2SAFjkg; 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 02B3168B171; Tue, 25 Jan 2022 19:42:30 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068072.outbound.protection.outlook.com [40.92.68.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 96E9068B0D2 for ; Tue, 25 Jan 2022 19:42:21 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kIprX1ssKR8TyagVqF9Bs+qyFOku1CPhdYyqvx9E8AN3SSh7vQFG9ave8QLiyqUXCQaxKnYfo6pbij1D6HdDFzWFrObPY4TgMm1OPRbaXkhzllvGrlOwlEz5drt8hPt4dU/jeLU9d1GSVtirxnkqA2XpgPpO/u/aJQLk4D1I3C6EQoI5AOLMEydVw2uyyDeLKMoRvwu5znQZrIZVC7SbQg1vfgcWuf7M8GE99rPsx23GUjGnl3rvvzdTVnEH8R3OeQIwO5OgxllUOTwYxZvcloFJDLY0N/WujEz5RsqmQr1febuEJJA1T+9sk6+SqIcjfmOrXyE1IF/a+Awy4H+mRQ== 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=SzvtAcLzUBqmeJRhDzx/niZnmr1Is4YDvf3ExIJY7Z8=; b=cqqSTb03xXi7XCV59FpbPf6WfOcnrqJ13J39UTa1toywhtGwDCuchUhxVGyTyU5DwtS1erhXFFPFsZQJ9ctvAc1zJyb4dGZYLOT0UesaRJL1c2TU3r0apt5pBIe8xe/+npGq4JbNlsEAXxA892bfVOEGHr0YY5Z4h5d+mSWVcsZg2sWELgjbzzzFWl6+N39zd3b1wtGEJMcK6z1J7B93ToVAL3YU+qx6SXr9KGTUCX98vEfVnTEEpwEUC8xUiaufpMIENqUbJ/gmeKZxup5d7+LnnWXZMlQQUdavvDLGWk1zpsVgFwFivFg5VBMGxJ3YSz0fpmdS9E6fh8aVX5L1oQ== 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=SzvtAcLzUBqmeJRhDzx/niZnmr1Is4YDvf3ExIJY7Z8=; b=d2SAFjkgeXT1c/lUrSW3KVJyvmPTCCWcwkkgf2PpMYt2QiPeZGXvV6bmRikeEKqQeBARNKbKJd0ouVF6OGuPoz+JDrphkjYMlHwoeouU+qFav8PX3Q0im1fOX3UGIfl2Tyb4tPmcadcUuKk0M2/bqTMSjc/RAmK7extgRoT+burDkeGdhM764GD93CHDrbVYgOuXppsLGkmwB3mnnFRBzesCskFvTm1Ozy/W5gcvTBwOzqr6OC0IdGJIhSkvCS1cetaAhoBjhZ5G8THphqmRItBbNiNfEppCfhSSwoT8LR2nMHS5qnE8UI+h3WeZ5dIEJ4axZROm+r9vWPvA4i5QDw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:20 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:20 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:41 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [kfnUy+NQHYCmXWtwFSgcZdJOTx2KPYUB] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-13-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4cdc2573-682a-49d5-73ff-08d9e02a09b0 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Q/TthdB5jil7+B58XW2YeDq6c6bnqKotcaFnTcBcXeEQMEQR4DSVed4V/B0BZnfPOfJuKKbQXcsrGz1wxEUwJcU/oMrNUUvqODdO6n5q4uviYXWM9g30hWvJd3+TT1ETQVsAn58MWaVh+bebY0i34+VlJPVKQQuO0fUlZSjyZWh619WZolU8uon8iBZDFs1nphnFhha3RwLYeDKC6fV6c0lYa3VGnBA6qucFUv8aCclp9HyxKNOEop9pXMyjFFBda4GXLMnpdmCuetvKyjL6KZ5ujT26zEW/m9zAb7eo4ZPZ+9ZiUbTG+ScZbbjKPK1Alw45DtHGRAGtruuE2lYI4xhl2Ym4h0rXKKJzIxboaIShVKFPaOOh0zb5h46NSGeU4Y8DOiag9qDk8AZ48y+nCyaxM/+zf8YZA/QnEiAZQ2mHLX9vEpIlYnP3GE8fim7kMqh3lYuyVI1wyY5Ce1KVkW9yzrmutvEIMvj6MVbgIkDpeHCK+8UYWXn0ZChzIZknOlMzN48LVGKGVIs0tLARZhpS8t2oCvyDxBPM418R82Vpt0C3JiPoIP1N7S8XuSqQ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SViqNjUt7zs4S7IJ1RgO6amSVSsvJh83CllGgs+GxS+wio9uiE72z7htrWmSx9Bhf6LntKUtO74ZjVbaaSdVwVi7o7upp/ItVShS4kV/moGAVmKGPDsQci0qpP48HmrgtVWJlzubPJJhGbNXgNzeuu3Mt5FD44X8WoscE+TkyqCKEdhXwA/I7aygXGGTXHpkzRdaqT7IpQcJpN7wMi/WFqKLto/8koqzLOJcUpaiptYiof9m982MHm1k/6++Mcz1gNRWFAWjJG7texFVvBXDaJPAA8JnWesYSRLepXaoIxM8+Bwn5qC/DH4pX+qWOsYs/X6SiVJhEKVWs+nbDmt9JcXIVQsC0gjEX0ND6Y7KvX3GAFQi7VWmyKMteoQQssTGC0ArZlRAQNQOAhIw3KxGlXpyMRadn2DOMtc0OREyXj0gySDQeAQSsKaC3ImW6eqOv8iL/zXCCYBscMdO6WAArzDCwuwAMp5LEwtvFpiF7uEPOg6t2FpiiAZoaaFYytIriBZFJVIk+2WBjHnD633KRJCPhj602sOBjJrPa3whU9F/4hEvw59jvjJQswYYy4+FGFgMimwVP069zKv3ig8zJkvPlIdaGY6DQWTvLJVBgFH3V/WOqu1gRgx7Z6yas378i2PlINrLlpQcPst8S1DfmB6eu+bRr6nhS//SOegHJBWmWUEOriMOf3F8ttsFI4lqtcGYCxeyRCfHpMaROGPS15CWZt5qZjXBRqDzDeTgFbqKllXwe+NIG4SnBPUqByOwY48Oao5nZ7gQPtzU8duFJELvitGENTLHOvJBE6X31viYAEljhLQBhbssBoF24SWab9QWw3hC6JfxhpRq97w2FVEwgFAZlTjAlVPpkz6TwHfWgwpQaHJ0SIvP76xcjfIeZk7ah4X+jUrt+3DVYVgfUEvMc0TZiT0oWti7OR6z+Nix4/GYnv8ZiigQMsbvb9o55ZESJolpXWXkiY5SYeDEZA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4cdc2573-682a-49d5-73ff-08d9e02a09b0 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:20.6224 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 14/21] avcodec/mpegvideo: Move aspect_ratio_info to Mpeg1Context 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: TEb3sEYzhz+5 Only used there and only by the main thread. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12dec.c | 23 ++++++++++++----------- libavcodec/mpegvideo.h | 1 - 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 6ad9fb245c..dbbf9bd819 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -65,6 +65,7 @@ typedef struct Mpeg1Context { uint8_t afd; int has_afd; int slice_count; + unsigned aspect_ratio_info; AVRational save_aspect; int save_width, save_height, save_progressive_seq; int rc_buffer_size; @@ -1205,13 +1206,13 @@ static int mpeg_decode_postinit(AVCodecContext *avctx) if (avctx->codec_id == AV_CODEC_ID_MPEG1VIDEO) { // MPEG-1 aspect - AVRational aspect_inv = av_d2q(ff_mpeg1_aspect[s->aspect_ratio_info], 255); + AVRational aspect_inv = av_d2q(ff_mpeg1_aspect[s1->aspect_ratio_info], 255); avctx->sample_aspect_ratio = (AVRational) { aspect_inv.den, aspect_inv.num }; } else { // MPEG-2 // MPEG-2 aspect - if (s->aspect_ratio_info > 1) { + if (s1->aspect_ratio_info > 1) { AVRational dar = - av_mul_q(av_div_q(ff_mpeg2_aspect[s->aspect_ratio_info], + av_mul_q(av_div_q(ff_mpeg2_aspect[s1->aspect_ratio_info], (AVRational) { s1->pan_scan.width, s1->pan_scan.height }), (AVRational) { s->width, s->height }); @@ -1224,25 +1225,25 @@ static int mpeg_decode_postinit(AVCodecContext *avctx) (av_cmp_q(dar, (AVRational) { 4, 3 }) && av_cmp_q(dar, (AVRational) { 16, 9 }))) { s->avctx->sample_aspect_ratio = - av_div_q(ff_mpeg2_aspect[s->aspect_ratio_info], + av_div_q(ff_mpeg2_aspect[s1->aspect_ratio_info], (AVRational) { s->width, s->height }); } else { s->avctx->sample_aspect_ratio = - av_div_q(ff_mpeg2_aspect[s->aspect_ratio_info], + av_div_q(ff_mpeg2_aspect[s1->aspect_ratio_info], (AVRational) { s1->pan_scan.width, s1->pan_scan.height }); // issue1613 4/3 16/9 -> 16/9 // res_change_ffmpeg_aspect.ts 4/3 225/44 ->4/3 // widescreen-issue562.mpg 4/3 16/9 -> 16/9 // s->avctx->sample_aspect_ratio = av_mul_q(s->avctx->sample_aspect_ratio, (AVRational) {s->width, s->height}); ff_dlog(avctx, "aspect A %d/%d\n", - ff_mpeg2_aspect[s->aspect_ratio_info].num, - ff_mpeg2_aspect[s->aspect_ratio_info].den); + ff_mpeg2_aspect[s1->aspect_ratio_info].num, + ff_mpeg2_aspect[s1->aspect_ratio_info].den); ff_dlog(avctx, "aspect B %d/%d\n", s->avctx->sample_aspect_ratio.num, s->avctx->sample_aspect_ratio.den); } } else { s->avctx->sample_aspect_ratio = - ff_mpeg2_aspect[s->aspect_ratio_info]; + ff_mpeg2_aspect[s1->aspect_ratio_info]; } } // MPEG-2 @@ -2102,8 +2103,8 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx, if (avctx->err_recognition & (AV_EF_BITSTREAM | AV_EF_COMPLIANT)) return AVERROR_INVALIDDATA; } - s->aspect_ratio_info = get_bits(&s->gb, 4); - if (s->aspect_ratio_info == 0) { + s1->aspect_ratio_info = get_bits(&s->gb, 4); + if (s1->aspect_ratio_info == 0) { av_log(avctx, AV_LOG_ERROR, "aspect ratio has forbidden 0 value\n"); if (avctx->err_recognition & (AV_EF_BITSTREAM | AV_EF_COMPLIANT)) return AVERROR_INVALIDDATA; @@ -2168,7 +2169,7 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx, if (s->avctx->debug & FF_DEBUG_PICT_INFO) av_log(s->avctx, AV_LOG_DEBUG, "vbv buffer: %d, bitrate:%"PRId64", aspect_ratio_info: %d \n", - s1->rc_buffer_size, s->bit_rate, s->aspect_ratio_info); + s1->rc_buffer_size, s->bit_rate, s1->aspect_ratio_info); return 0; } diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index e0aec532a6..e093e8c04a 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -384,7 +384,6 @@ typedef struct MpegEncContext { int mcsel; int quant_precision; int quarter_sample; ///< 1->qpel, 0->half pel ME/MC - int aspect_ratio_info; //FIXME remove int sprite_warping_accuracy; int data_partitioning; ///< data partitioning flag from header int partitioned_frame; ///< is current frame partitioned From patchwork Tue Jan 25 17:41:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33856 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp833769iov; Tue, 25 Jan 2022 09:44:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJyqPR/0tBkqNLlQX4IQxmVoJA7mupkl6PFB7mBXA9jXzs6Uex1cM/5FQCewQ8EflhWHEJJV X-Received: by 2002:a05:6402:1347:: with SMTP id y7mr21495628edw.208.1643132667796; Tue, 25 Jan 2022 09:44:27 -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 nb8si11876469ejc.941.2022.01.25.09.44.27; Tue, 25 Jan 2022 09:44:27 -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="ELKwB6N/"; 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 17E7068B10F; Tue, 25 Jan 2022 19:42:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068098.outbound.protection.outlook.com [40.92.68.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8989068B097 for ; Tue, 25 Jan 2022 19:42:24 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y09zk8+SNI4FHcEKv0LV9S4dNOxW0YtCFfCSD2WvbQQl/GhEcHv5OnqDILNWINBK0CJSw9bCwU9hGQsDKUuIMacUSZdgoiVR0DxcLX0HqINYqtb7fpE4rMy2BWXCqE6J4RygCowYohwgejl44FH0dzzQiifViXVIoCZsR+q7GRtzgKvZzoyBDOBTvLHazmk0VK7jbxSme5luxkfzV03OzPzGCuv5SOnxm5rmBQ0gfrNKDyuueH2ze8wwjgrOb+lCOE8FzJeKa5AuxYbuNEFl5Q0xX1kKmOjhtRJGDJ0paWujma/nMeZVr0nOGtADjvok9uucaHeNrjtN5NIS68PdmQ== 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=abw9que0TRdKS/1PU/LS0bblMc9gT3v0CdAH+kBgS6g=; b=ZFAcZEs3wx4Tg+AA/WU8qGYk+2Ekc4hkfq7+1pLdDK2QtUE2mytHTFgyBFffPV6AwjYjJLVwdby7e3HwKJIlJIBdSfbUn5oweYTjuZkOAoiroyWSlLjBdxd36ntNU47563X298NpjMPEM9PkLirBGQ20WKyKE+iJ0xqwfjaiskH6Ye5JfEygM5V/WCJ8/SE9Y/WxHWZDDg8brI93sa/27tlZSWjbU29XNMuUoV9Bha0EMEd5Z17+eNEwUZytzBsoVCOrDP87yg6kL3AGK0FR9c3mwSEvYP7K23c9IvlZ+e7FJotBLKsjTa6r/jvpZtFDzaYr5uz6tZwMqGV7EAHeXA== 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=abw9que0TRdKS/1PU/LS0bblMc9gT3v0CdAH+kBgS6g=; b=ELKwB6N/00w1c7S+A1XxeZfovDqC2oKr33aWsoCmCtLSlanXflDPd8ZezUoKXIvtnrEkFywd1FezHczWYI8tisVbXYrhP1qxu/psUHrL1txQewrXIuHPlCszzcAtZJ2A3tEdlSW6Y4YBuBBR0yKwXqnr/JyZIYA8f1dQepY6UVnP3s3yU9cyR6R7HwTy8soDIjStv6yYp/KNl8+J8t0rKKJpeWArPprXYdzSat5isXA4TC1a0ndFf/AmdrnjG6yg7bam9fF2YG7fZA8cJ365YvkRMyUw1yZvbECBYEDFdPSTC0jdH43P7Bh5CWlHjapvwYCcYTOOkGlOtx/vSCQVVQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:23 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:23 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:42 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [AN4aiHweej5oeIXKctOXbs4dGDC1Y5nj] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-14-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6c643d7f-ff83-4ce5-fc09-08d9e02a0b1a X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /yE2I0e6RvoyWGJNXseVMMK46ydj4RSdLefm6qWH9KcvNgfzdD+coKPxppPPGAc7nqXsIERn+U/t215nS/G+8eUot+RfiSbCVsHAQ6s4YfgQcvG1a5qSSLpvaYu7jXOjdMh+WH/3UGArTebSBM+5ISRsbXVzO6Vexs8FGaQG3/qC9G4NXrZRFj7ZCWih5UBa4gsl7xR2vT1DvsRKbAw/o3vSer5ZaalGBXuscjKs9iZ/EDsEh4NX/82PDERRFlZ/faE9bGEOzNP+IonZyodosGgayz5ILVsajglLOz6lkDEFI5nT2v5Eq3AzJija/OyeAI6rVMXul5cCiKHlofV182ArD9u9pa4tw5zL5Gy85BdGmX6lSnjc+blyZjARs2zVy9C2XZpTdnAF4IBkKwYtonvU5PK0rNTo6uv+0beZXAXstNheTPPgeZnIQW1fHJO94E9vqIi/Z3MdLS61YSFng0uRf4tejCu+GdUQ8MQP+qEs2wi+/q3HNQwofLEPL6za5cBGN5kvFQlw9c2f6KmYtX0OXtha5OQr0fINohDKx/SxPyRAk48xqIHw/OSH/ijd X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UH0HgLiWJ/4nKWAe/z38StJOWKNBj67vEMuLzhTDQYxpzd30JZhrvYPbkmDyCZkL/EJvHWyi34wZUFxyDr1aYJwe3zOEvAlwPElJuCIo7z90yA1QZBdHxzl/FQF2+4TtxsBIHBz8HKZC4M3voAVSlI3YdvltbE5OL+HnjxD1lCL003iuaLeQKOOXM1guklXWCTIQAc+jUx9X+WKACvbNu6feqlAsB+It0HDnVuGUD+w+3TAVHhXFV+K3k+rjgBpyq3r+vMQYGrDx60DrvtRWtJLIpcJ695XvIDQglmhFgC9cS84//FGcWD5T2a2/YVBlbEU5xoks2wkGotblVVT0/Lhp1NfQQaXtJTpSbJuxeiV9HCvgZ0Ayhrz5b+ouiHCh+dSAsiBbnXaow6hZukbKKbZNXS9PaHSyW+pWWajCmDHb36szYg+/+gXee3iNoE5gdIr8nmnULnySaCGTkDnOPWOGqO+UerD/2uh9eSdRmOZxBUqyVmob7ZEdruSmOQoppCzyiXdEMgfk/EES1W6H8SiHi7Um3XKRVcmJgzf1GzBc+a+f3APkANtvll1ceZGnL/l/CuulhULfZL78HL+g/kuix+mJOAN3jlC3hhOAg6/6vdpHxKJoB3GPfWEaLjAPEM6EP9sQWwWmokEPjAWqUo/Z5mHqS4sJWmClLadgE7cNBvjvWHWauzVA56O05BhkSHZm3GX0mO4ecXccnwN9JsFI4wM7pSd/QjHaBpj/K2Uexdq193a+mq+pnA8MncchYKj+KZISZBMxF3H5MrRi4VBRhYNUN5Mx3+GL19JbYaB9nBEAg0lKt4OS0RD29Lsi1Yv9wTmVXBnxiJ4/RUZpXdzH0nAAQ4WYvX9Y/8h5oSnnGsfVGl/JoqJE9cyfi+tIrVt97Hc6lpBY6U9EZLcIeX3ck0uYtcsTGVnvIJi5941+s2obgL9f30zHgZYHLIwphxSXWGZICIT984MkH7T+BA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c643d7f-ff83-4ce5-fc09-08d9e02a0b1a X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:22.9983 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 15/21] avcodec/mpegvideo: Move timecode_frame_start to Mpeg1Context 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: HH9IyQGe4hTF It is only used there and only by the main thread. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12dec.c | 11 ++++++----- libavcodec/mpegvideo.h | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index dbbf9bd819..0c5eddb7f1 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -75,6 +75,7 @@ typedef struct Mpeg1Context { int tmpgexs; int first_slice; int extradata_decoded; + int64_t timecode_frame_start; /*< GOP timecode frame start number, in non drop frame format */ } Mpeg1Context; #define MB_TYPE_ZERO_MV 0x20000000 @@ -2443,7 +2444,7 @@ static void mpeg_decode_gop(AVCodecContext *avctx, init_get_bits(&s->gb, buf, buf_size * 8); - tc = s-> timecode_frame_start = get_bits(&s->gb, 25); + tc = s1->timecode_frame_start = get_bits(&s->gb, 25); s1->closed_gop = get_bits1(&s->gb); /* broken_link indicates that after editing the @@ -2854,19 +2855,19 @@ static int mpeg_decode_frame(AVCodecContext *avctx, void *data, if (ret<0 || *got_output) { s2->current_picture_ptr = NULL; - if (s2->timecode_frame_start != -1 && *got_output) { + if (s->timecode_frame_start != -1 && *got_output) { char tcbuf[AV_TIMECODE_STR_SIZE]; AVFrameSideData *tcside = av_frame_new_side_data(picture, AV_FRAME_DATA_GOP_TIMECODE, sizeof(int64_t)); if (!tcside) return AVERROR(ENOMEM); - memcpy(tcside->data, &s2->timecode_frame_start, sizeof(int64_t)); + memcpy(tcside->data, &s->timecode_frame_start, sizeof(int64_t)); - av_timecode_make_mpeg_tc_string(tcbuf, s2->timecode_frame_start); + av_timecode_make_mpeg_tc_string(tcbuf, s->timecode_frame_start); av_dict_set(&picture->metadata, "timecode", tcbuf, 0); - s2->timecode_frame_start = -1; + s->timecode_frame_start = -1; } } diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index e093e8c04a..fd9d60b03e 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -443,7 +443,6 @@ typedef struct MpegEncContext { // picture structure defines are loaded from mpegutils.h int picture_structure; - int64_t timecode_frame_start; ///< GOP timecode frame start number, in non drop frame format int intra_dc_precision; int frame_pred_frame_dct; int top_field_first; From patchwork Tue Jan 25 17:41:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33857 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp833887iov; Tue, 25 Jan 2022 09:44:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJx8v9XL4GFhZz8vyu2CVAwgVO4rd53DSPbzZH2pFeTvpDDdLh4wh9FNaVpim7imbQdULU9Q X-Received: by 2002:a05:6402:40cb:: with SMTP id z11mr13396820edb.127.1643132678812; Tue, 25 Jan 2022 09:44:38 -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 24si9389172eje.241.2022.01.25.09.44.38; Tue, 25 Jan 2022 09:44:38 -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=JxbjRtNo; 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 12F1568B179; Tue, 25 Jan 2022 19:42:32 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068098.outbound.protection.outlook.com [40.92.68.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BBD4668B0F1 for ; Tue, 25 Jan 2022 19:42:24 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jJGKw1o0avaide7qPTgPwvre7rirxjHd9CQSEMshKQOr33D9ncoH5Vmor3X21XSgNw+suDRXZCgTiTX5So1GD/wiebnbr4mysqwv6px9tLnDCBX/sYwh+W2aGGLoqqQnA/3QhfRvsYOYW28q/XkdtIHqBWgqDpuZuZ7fCzaoOWJFqHcPLPffzaC7F5y+YJqz1JoEiyeTnUGqiArprxlHBV/9dJoeeRR4Ioh79c7YKnB/fzasRKFbW5ojqC6MuiRgR7nPQ+SjSPjgXK40sorwptbQFBFjontKkM/2br3CPxpc3YKTGT9WkgCKL8k3hx96/bYffHEH4bNQvpVUgfkRqw== 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=MRlDnsIPQ9nJnMdApkKvBwteX7b64eLLYTTjLWZM16c=; b=eDX56RI1/7a4RqXzJuZFB/b8AT3o71VdHZtKjFEQnbSkIWRMwMw6TY/kQ+iPMK1bcw9VmXFutd/x/sZWhqES5ZhxiOT/Z307HVQ81m4ylDFL9wj2u6IRU0ppkoKcKIkcOYwu8AL0CTdvdNAego4pRNHmNHPY+DohrSeozn1n8i3yivf6tLx9tq5IUCfuarEleiWXHON6lekjKxr5ag7ksbk9ogRpev+R6dRNosDN1jOYU/86CPbKfIYzM07GM/G0imlXOUVNUoGO1irVlbJElROWhjXYK8SV5DdykvskXfWNKgEPTuZq1xR+ZMgEiOZuuSwvLx90tgF5utmTtBrJxA== 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=MRlDnsIPQ9nJnMdApkKvBwteX7b64eLLYTTjLWZM16c=; b=JxbjRtNo35dmF24Gr8T16IrngfkmYwoT8C3flML55pbQbYVlz3/7LKVSEEia6dkVp3ixkFLcW1QNZ5uXT8aEnEa/LG5lxheRYtLZ3+lRsVEwvadSvApHxCgFh9uiQ/GWW0pK2O+61rsISTA+A/aYJ27zZ1MROeP6wtbcr7/ysE7KqhNpGUv6h7jjRsOyp4xd7F+hPGgkT5JdzSkYmc1LiqOe3Z+fXchYIW0SMBWCS1LDLqg9OvtCMwOc4rLjBu9Q9ub8mSTqNGvIAOs2Ng4WHpDPOWo72UaAuwdpkTksg/z/EdNLGrbpKSUtlXAsJvk4sNDS3fCpFpv3+SZB743p2g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:24 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:24 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:43 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [5Ks6jEgl3yr+V/joECTfq8ampMdfx4T9] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-15-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cda88c1c-f62b-4023-6d0c-08d9e02a0bc4 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4OpblF45DSSpe0QoRpLhqFj3+NKiny06R9JqnBPFfoniVxg4yAzNYeSk46kAHx2tuwLaV6ZGvHn4mYgLekqhtLPzzwKvpKtz5QOLNVvIqlrEqrkl9FwrH5AcYEZuzaRqH+vD6ZWU+NCaM7tUjtl03/0DayynqNqfxfd22BrHFkjmmiE3qG13k6WOZgncb5OC8qj9V9/uNI6VdZbvF1lJNmaxYkGjxdXdxY5FtqiIlELdfVC6/U29gWzGS8WEVm0pEjLwjrvVGURW8D9imTta/t0ruxbAluoevkeqGMRloES50c1SDnmKW257teKt5e7p7FLNhxV9XgQJBAHeOvWrC3zVP1nGBCYXytMvtj8J9AHcE8ai941nLIOvv9P4BjggslQSp334fIg8WZm6gMTBy9cTJjtpu9J8uMc1fyaqUWXwHU7MFfMEhgwYel5aq9nr0DXugnfhMgSni/aEpq8Bsfl8W6oTFCiwtnptGIXB0xpFkGcGl6jbfdumttC8Z1RrksW7qcTIm/ZsCrp3qob6ZgGX6c/Iny831AnT02fz/QHTo0ZCs4QsOisfiAGzZLAd X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: U00LsuvD4PuUv6ex6uCuES0EzAgqQxW8EX3Ba7mqt46n/0S4oyLRuDK3q8S0Jfb0IzNO+7E4B3woMWdRu3uKyE1ew12RHf96XwLCcXoiOGcZ3vowKyp2a1ihxfFqZcBnj4psqn5Uc64yCrmPHF0N84kqXWwixemWdEuARwZNAXgN/BUjcUqYJlMIM+O/gmiPXv2JO+YpQgltWhP7fm1uHrgiuNwgv8tqn4EbdbxK3Db+ZGoorgXQdL5MlXg4kQMlMRWB+SLqwTWSmQ4waryZA8Yv0kUtFakZcWpbgD3o9ub7u/k6tTFBoc3QVvYo3ZO7ifo8w4XIk8+97QxUhEHnBM7QNG+A29rGxcO0DMyqRKsJOx8YoFXdZU4/ClnW0xJ91WtaCb9gHwRRLbsDBUHZ/H/eSYhFHKEepAuVCVbu/XeNMvOMa54UbByvC8y1cvW9jmp0GkNr8yigKCujEmROEMq3GtIIap/EuqKhkaFRIA429a6+obUxGv2saUO7dY5Y8618BfcjMZcWBfwWQmGMj9iDhnBYrvfo8BGaajMIn8WNmahm8xvtTBv3xh7N04TodIKxrJmGo0N+Wgh42yQmM5HvbIOg8gj5dt50IFHRfmHxufdlwiMxGQx7KGLdHekwoVCmgfwibXoJGmpnnW+M6T0znjCPNKJu6NNWAyyDRZykWj1x5wPEWfYfwJRNcFTtdGThYLn2DT4QiDpe2+f4saWhz9SZXCY5cIVjKFIpbyF9QcSrR7KYW6pkuRztjiynufbiuPPj+TygKnzYoud73t5u3rf9aXGZ9axzraz9LdIh4tdEYf2DRJwkPesIPQ8RSBSBAOzsVJHwpHneC9mFGdkBxv1bKOLgONGHSYCDjOEZJRuRjWhKELNohIaZxIelf618Ro9SNrQzGMO6fWIrwNv/h56HHkv2TDJYOTNEb6fE/iCFsiPN5eb8KOtQawDWs28s43ByQL24k59gYwg49w== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cda88c1c-f62b-4023-6d0c-08d9e02a0bc4 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:24.1725 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 16/21] avcodec/mpegvideo_enc: Don't sync gop_picture_number among slice threads 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: bwkMGShXm2dR It is only used by the main thread. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 35f0f79d4e..93deded66c 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -258,7 +258,6 @@ static void update_duplicate_context_after_me(MpegEncContext *dst, COPY(lambda); COPY(lambda2); COPY(picture_in_gop_number); - COPY(gop_picture_number); COPY(frame_pred_frame_dct); // FIXME don't set in encode_header COPY(progressive_frame); // FIXME don't set in encode_header COPY(partitioned_frame); // FIXME don't set in encode_header From patchwork Tue Jan 25 17:41:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33858 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp833995iov; Tue, 25 Jan 2022 09:44:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJxrJwMqircTc2I8jjX8a3KHicZsigFoDNXl9MgY783diE6a+GL9dbcEG3tj94kmxZB7EmT/ X-Received: by 2002:a05:6402:10c7:: with SMTP id p7mr15819457edu.93.1643132689896; Tue, 25 Jan 2022 09:44:49 -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 eg23si10023922edb.548.2022.01.25.09.44.49; Tue, 25 Jan 2022 09:44:49 -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=XUcGEl1M; 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 D62CC68B18D; Tue, 25 Jan 2022 19:42:32 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068045.outbound.protection.outlook.com [40.92.68.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1C7C968B11E for ; Tue, 25 Jan 2022 19:42:26 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jikoO17m1rK+5HoxiWftkXP1D/j00w1oabLK9LmcSYxQVkeoOPVmwgWNWxT5FiMMENq0t/0sA8fPmXvvP17ONEnKKkFrLdTrHsdLchDQxl9toAnAFkh7fkd/VD2Ctb/GzmYUgtRElLELMDRPaiqfks/taVTaSWb23GtcXFG64R6guVAJ26AlnmsSVnyIaDDhUZxacwShmFk75CRWMKC3CKGvI4cIH9d1s9Y33v2eMls5ueRCwgG7sx2Tm0CYimlFsOwcXiDHGU+oqRMeLqPx1uJMmC5nF+lb4E7qpizhMqds3E+3/DWDL177E3EfYzLa6h0tWYnWBTz1c6uNGArSXw== 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=MOWvFP01J4zCkqGbA23fUuRK2SZaJzfLSnXD9R2NelM=; b=AGn4Vk2DO3Ji35WtvMo+kZPXs+kf4QMApTinPYtRuvRYMRlFZEby6jdVpz129V3z/443Tl1EJDWhfnYztS9k8nw+EdEUjmiO0YE2Xs6jXweRoklMWjZHaOgRAS43TJusmn9cRlWEUUzXf5gNrN3TPqA5MQyluogbvvs9q+Wg9vCplDywWO7eH/vnOBTPKSwEzwEVuLqxtPMLwi/8jfyLYqKoNe3hQT2vhZTG2r2LbvQRfXoVqSm8STuWpM0D3AL9DbQLtyn+ogzDy9kCiYpzHx87nY5D1pl6SLvz43C5X0mrRs3BB+SNJw0RMwRj7K4UBXM77WV+KJgEGnHQ6+enAg== 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=MOWvFP01J4zCkqGbA23fUuRK2SZaJzfLSnXD9R2NelM=; b=XUcGEl1Mw6fh9UCVMcNugIJxsRtZorXK1XXEMpovnGGjWMH1IzXLV/oZK2vExO4wwEZe0hJB+3hKvT1oIiKysjbj3IAK0QZsGIWBjQI296i2xV5M9yF3tC8LElKARPfwZI40KFr+TssH5dC7DA1PT3lyOFOorKzgG6ZA+3PQDoPbBUc69NSvW83/3cJTJIomLx+oggOZSlwZWJVsQuh3JNI2pKdM8sCI5ka4LEyx4ghikEDAUiT/hKcDXhstijkzOUXGsMoUDZL13OJLxEyBhhd7nNGZIXKz0phLJnFhwdKXLpje+jqOU/QUeQGKIzkvcTlpnvPgvn+h6ODrKqlk4g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:25 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:25 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:44 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [D2FYw5wIAsL14mWhc817T9w7KpiruEey] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-16-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5bee72e4-2357-484a-32ad-08d9e02a0c83 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A55JxvyzxMCCV7MPuzca94QCuWCmzaztl++Pspr70Ac6KqKj1k9yafrZ/7iuS4JAMuMNQAnCpU686Jsg/nvy5ojkCPjKdJrJfZaa8Ob5IXNH5bRks6GmRKIFBC/DWGuC2hLHMsNlKV+pI9z1GElLgQgTV+anj9wNNBliIyncEPJwR10XBLZZ0eEn94gaOGUqgKh7MUf05ilRRDlWESRc0tz7fRq7fXE2Nem4sSoSQG59rQMK6yYmSh+c4gpH0m7XL3M89FmTlT+mTZQJQHWhspeq32OUTCo22gfZWDAvLqfPIDREgf/xHVYovmbR0mFb37cSCZYs3ysuEaRmh2j3t2ebqoy3D2KMXes0HXr5pTeUdxe7CNWQogfdWpSl8nmr6s2ALoMzKYn+Ej+CmXy7lZaw+aKhmxtDCYgMYHwnc7Oslf+Hx5Eg7HnXKBgGNLJyKGpXd2byoqZ4zCLmwuixDxulEWd7S8v8py4C/T/GXUV2FMEns/YZnyyTIVSJ7F+4j6fAHDzpjjfx/DbyaYJMCczxBneXYGdm9fbeNriIEEJPaTvdXWFbNcOSFst0DlyO X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0oINgkQu002I8xvwTc5ofRuAW3socuXbhltUMsIwcXlDnoWMGgoRC6eCt8eoXsqWddVbJzvuay0f5OeO2kMLQZwZo7Q9Yw4LHGIesoDNJS7K8MEM9vwj6cs0z7MklSksTQYme76UucxxvriDBX+fsGG3U6s94uMgUE4oNPpkobrnCLhmxJ0tIK5VSZMlY3o+DUgUfslisb9ywxlaehADEU8AyYqDnQ0O5QYspf4gVCKGkoGSQcK4D7MGfoyO9XZ+1xlD1IVfWdqG9lKSk4XYpGmhhAVVsMK16H4zpscOamXv0iGk5LXrrYPnavL3n9kHLyeRayH5DTDUIFA4RrdUhJf6DJevoDuFyNiqH6O9m7f5DMCN9M2MUUaGYermuQ0sR3VZqZVIPB9Z0p/FLwyonWPhSCt7kPLXEMdMO1NcD/ukZHGSnvjd3YUEMcomf8Y0bxJpdyWNxOyHj5V/OAXUQ4FO8s2K18wd/HChxwx4BQSGsUAf027cH5GNgDs1O4xIH7WZRzd0BdqponGl7xGo8SSyr0MmG9cVpjkIv/uC9yGyTLUWTYumlAuK9FQUYdxgD6kbUQ3xinAGaO+zCsIBXXNO13PRkGyU9gP4YYhIf659nfqImuGgut8Js4Kpl0nLU+uXvIUG7AOmyTf7LGm8fOs/8GwNJwcIqJJWUCGGhiVoZKoac0Tzxm30ZtxZ6yoTf1p2Z4G3eRW3qdya8kUgmSGOrC28QWBjE/fiXOVtzLAjFjdapgoX1vKgTfsuUkYSgUkSsrmfefzFaoEI/nWbqDTRvJ42qhGhRwXMqwslsE0r0BDXdFs2lIdwCiiKxhxEbF+bcQowtpzN30etHkcHDtducc1HRfAmLXrO6BJuTVXJYl37C3s1IH64a0i5Zu5tR8dX+WHHnjtchO6gQdjIhyfo9LnFjJdnjaew7fCPoKMIFDY/jZ54HMQuODSgqadSLtgFn0eGWU5Tc1BGkXo6Dg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5bee72e4-2357-484a-32ad-08d9e02a0c83 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:25.3745 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 17/21] avcodec/mpegvideo: Move gop_picture_number to MPEG12EncContext 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: HV14amDfSiyl Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12enc.c | 9 ++++++--- libavcodec/mpegvideo.h | 1 - 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index bec522d8e7..eaab968425 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -66,6 +66,8 @@ typedef struct MPEG12EncContext { MpegEncContext mpeg; AVRational frame_rate_ext; + int gop_picture_number; ///< index of the first picture of a GOP based on fake_pic_num + int64_t timecode_frame_start; ///< GOP timecode frame start number, in non drop frame format AVTimecode tc; ///< timecode context char *tc_opt_str; ///< timecode option string @@ -402,7 +404,7 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) time_code = s->current_picture_ptr->f->coded_picture_number + mpeg12->timecode_frame_start; - s->gop_picture_number = s->current_picture_ptr->f->coded_picture_number; + mpeg12->gop_picture_number = s->current_picture_ptr->f->coded_picture_number; av_assert0(mpeg12->drop_frame_timecode == !!(mpeg12->tc.flags & AV_TIMECODE_FLAG_DROPFRAME)); if (mpeg12->drop_frame_timecode) @@ -413,7 +415,8 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) put_bits(&s->pb, 1, 1); put_bits(&s->pb, 6, (uint32_t)((time_code / fps) % 60)); put_bits(&s->pb, 6, (uint32_t)((time_code % fps))); - put_bits(&s->pb, 1, !!(s->avctx->flags & AV_CODEC_FLAG_CLOSED_GOP) || s->intra_only || !s->gop_picture_number); + put_bits(&s->pb, 1, !!(s->avctx->flags & AV_CODEC_FLAG_CLOSED_GOP) || + s->intra_only || !mpeg12->gop_picture_number); put_bits(&s->pb, 1, 0); // broken link } @@ -458,7 +461,7 @@ void ff_mpeg1_encode_picture_header(MpegEncContext *s, int picture_number) // RAL: s->picture_number instead of s->fake_picture_number put_bits(&s->pb, 10, - (s->picture_number - s->gop_picture_number) & 0x3ff); + (s->picture_number - mpeg12->gop_picture_number) & 0x3ff); put_bits(&s->pb, 3, s->pict_type); s->vbv_delay_ptr = s->pb.buf + put_bytes_count(&s->pb, 0); diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index fd9d60b03e..e5a4cc9b81 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -432,7 +432,6 @@ typedef struct MpegEncContext { GetBitContext gb; /* MPEG-1 specific */ - int gop_picture_number; ///< index of the first picture of a GOP based on fake_pic_num & MPEG-1 specific int last_mv_dir; ///< last mv_dir, used for B-frame encoding uint8_t *vbv_delay_ptr; ///< pointer to vbv_delay in the bitstream From patchwork Tue Jan 25 17:41:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33859 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp834147iov; Tue, 25 Jan 2022 09:45:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJzVSW71vsWcB6VdH3CzYwSmf2EW8U/xEaKgxbmX8NG++fNQ0DK2cBTPRl66c5Yn7W5eI51i X-Received: by 2002:a17:906:69c8:: with SMTP id g8mr16681917ejs.356.1643132701334; Tue, 25 Jan 2022 09:45:01 -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 21si10283128eji.228.2022.01.25.09.45.00; Tue, 25 Jan 2022 09:45:01 -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=boRYtOyP; 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 AD06968B191; Tue, 25 Jan 2022 19:42:33 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068086.outbound.protection.outlook.com [40.92.68.86]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 16E0468B163 for ; Tue, 25 Jan 2022 19:42:28 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CnWRMDWj5kUAy3Ri8U2jRrVdxGPB36DAgVaDZVNqFW0lxksKJ3Fs9OiuO1XGjuf6OXFnUxHsGgfnGKdZ1tNhgzvl6f+gMBNyFg4rvjhYGJJzDr2rcGLlGDjZQZhtx1law+olR2VIuG+SdjcuRAOWbobmXlStp8t4EIk81OWfdBckE/G372cGg3Ggf0Ze8drupXueROJpKmvveRj0vi8LaZb18MslpfuO1bQrEpDLYEhmg5xryEX0oPWNaO40anMT9rdXM94i3P8jrH+dtdQrIao/gDv6SwePOx+GsQjH0rFm3X3HLiyCAjFnThtYELf80QPLktaB34uGNGKJsI+DCw== 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=uVUwI1PxcRlzjm+xEREyrz3U4KvzlgkpwZAs3AuGD1Q=; b=EwCl1fxbv9XIPh0t9b4UUrxEiJH4BGls/UGW/SeOvGmN2Sg3uG0q17xqTevYFMBmMM6ZIHGeP7mIoykLYm4wcMofJ+0i/PlxEgABiA07E3LnIZJ3EHAyeZwvCgp/BcWLDJu98wfsfJec9YgkIjNqSmTIT/srRqRgMjrmMKQbyjhqSZRJrmmV21GUy5D4N9nrU5DnvzYebxcS8lg6fES3EqvxTKb/93c47wPU4i6yqVh3zUesCRRPRoAmk9kIULCdQ5rwoAhjTgrmaTzvb9zyGSDCgFS5cui0dvLC+//aLisuPj92b2J0l2eCjs9gkIr2OG8m6UHOhLZEYAESgF0H0A== 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=uVUwI1PxcRlzjm+xEREyrz3U4KvzlgkpwZAs3AuGD1Q=; b=boRYtOyPAVaPX29ilC2bIZxyIQMuHM6QmitvhAaCPIGzaQVToKF7rHTOfFTQ6Y33M2Jc7eavC3WFo47baf7irlNrA6vqKbPgsRroVqnxTrJC7h72R/TyxxIE4aWrV9cz0BSTJyW8pzgcyEh04MchfDEUTELsywJrmI10M/388b1X9Hxoee32Kyyea8W0vetXLYP2Tj5m7kIqXSenQs6tL0XB7cQT8JgtBw/EaQOdlXQreKuBKAvwYX6+6IPQctb0UWaZDD2JPLFVBwr9ite0hZOoPB6O2XeAB2zazJJMoqXKAWBOvdKpJT1k9aGQKjmBCPBG7lRsV2oOKJXqPiKoAw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:27 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:27 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:45 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [Ik4LzJSGbbLDbi5I/UFWi2U9WzAWRVtu] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-17-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3d376555-66d1-4d00-cc3f-08d9e02a0de1 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5+FSsuWbDTfvhPX1zuiWecSRi1rojw5FjXN51ZJmNFcfHWFjGYQZGkgOUgeEBBLdZELDmBZEMAMk0Y+tpu9SyIhDxIHpcfxLoijp0olc6thpeTZWgAyyH6NP0SpD+O23YFexYUIbzf6rubEGoQbeO2LC+Jh5QeA6X5z/UgWmuIGEtW5n1lJBLiBJvRLm0iKB7CDTmPV24YD0jkiJd2v8lUEQ1VLhus6StXmnFJB8xBd1sFyOFQzw4Brvk7IE7X+EdvvSuiTTUENnY3EobB917flSae2IU/xZ4/aY9lu7M2etMO/cgoWvT6XU0Gl28njNQsvDl/HGzUBHIoYGm5tE5jm/cGDuy+tDQLLkHoj+REpk43CzCp3vHu5C3k1RxE1SqK16oswA04DtMlV7+AP++KBATaRzE3p1RTv8QrBPrfO2ehZqj3vjSu6Ld9bCy0X1S/NFJW5sfxzZ/NIBKE3foxuQRrumJgDpN7HBMrhREAh4CW23ERZTeD1d+plRuYYMDsht1vyPhzBnVn6HH28l4jSER7G7LK34238ZsyPlaUaiiQn/dGdcaSDKDFX4y2J2 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gLJfKd+HLnCYO7kvW5MtrUf/60c/QYnfwWWiuIELMSCyVo9lGffDUiU6vvZQRTgfHXSwoNQTiXti5P7QQqbXkPouHkyK8ti7N78gouTU3SpDOipn2WeCto0Mq9bzq6HMbj9DJ+GwPnLO40ckC3dCKp1eIOyWekNrxJ4oCPkXHd4SYVqcMRmMgytBpSxIbkbvzTRTVhaoo9TtQzc9x/xe1TEHqKu184TzRIM8X22aQkaZM0fRimRvUjzpoyAz0XaN9t6UN6hsSZztEaS6bCxPojLXSd1Bgq2geewpcmlQZRnqPlbh0o4QN9Pc46BRSHEy8xEfoUPeDDVCS41f+5XMO3sioUn1a0wuFLtPSgHmev6lHe+VL7C1yPxyY28tYQC9V4mf0WEbAp+C4y4Rw2Pr67aEZNQxfOQR2zl9FW/8qKsxPhKBE1vGFbNwFjA26z0GqRyXSPmRvUJKqnz8ltyXUHB7PsvAowWFV9MCPJ/uTepI0vHkJkNYaXx5wMQcK+beC2mX77aehapalrCfbsenYSGfyCh+GhDGLsB+o4ieSF+5w96dfFiz/phy6Kw9YYFwLyYdhRrnq/x660OQoovRuvc3LXGADEXweL8KZLzKMD5F5DEt3Kh0ndKZn5IUfJEaojoKH+ju4U34kR0NX/0H941XykT5siZzlFVwGATRcWRvlP8VKjiiK98IwakcShIsSD6qGNM+o90u8cwlz3390C5MKYyMfC//J6NWR06Nal4hchOHupAt2HWB3KRzBzN8NPFOGLfhZMiy+4sejOeHxM8C45Y0p0PcyB9tiJ7ZQqQdKEmx1/824AwzF5xK9+tUDtnzGOTcUmUPJJTPC8taRDqoNnvM9dhDoa+x5LKgoCQWMvacJtWSUNqcoNTSXAcwpR+s/Qt5v+0fbcamz7ZY4RL+dQ4ynlg0ZetXB0M46mgP+9lv5fudxZVRF8OMh/taCgjbZnpEMKDkVs7f+1C6kA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3d376555-66d1-4d00-cc3f-08d9e02a0de1 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:27.6723 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 18/21] avcodec/mpegvideo_enc: Move msmpeg4/wmv1 encoders to msmpeg4enc.c 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: cFmKolP2Qdvg Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 42 -------------------------------------- libavcodec/msmpeg4enc.c | 42 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 93deded66c..4c3c870013 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -4628,45 +4628,3 @@ const AVCodec ff_h263p_encoder = { .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, .priv_class = &h263p_class, }; - -const AVCodec ff_msmpeg4v2_encoder = { - .name = "msmpeg4v2", - .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"), - .type = AVMEDIA_TYPE_VIDEO, - .id = AV_CODEC_ID_MSMPEG4V2, - .priv_class = &ff_mpv_enc_class, - .priv_data_size = sizeof(MpegEncContext), - .init = ff_mpv_encode_init, - .encode2 = ff_mpv_encode_picture, - .close = ff_mpv_encode_end, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, - .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, -}; - -const AVCodec ff_msmpeg4v3_encoder = { - .name = "msmpeg4", - .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"), - .type = AVMEDIA_TYPE_VIDEO, - .id = AV_CODEC_ID_MSMPEG4V3, - .priv_class = &ff_mpv_enc_class, - .priv_data_size = sizeof(MpegEncContext), - .init = ff_mpv_encode_init, - .encode2 = ff_mpv_encode_picture, - .close = ff_mpv_encode_end, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, - .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, -}; - -const AVCodec ff_wmv1_encoder = { - .name = "wmv1", - .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"), - .type = AVMEDIA_TYPE_VIDEO, - .id = AV_CODEC_ID_WMV1, - .priv_class = &ff_mpv_enc_class, - .priv_data_size = sizeof(MpegEncContext), - .init = ff_mpv_encode_init, - .encode2 = ff_mpv_encode_picture, - .close = ff_mpv_encode_end, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, - .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, -}; diff --git a/libavcodec/msmpeg4enc.c b/libavcodec/msmpeg4enc.c index a4efbd34e6..2c619e1210 100644 --- a/libavcodec/msmpeg4enc.c +++ b/libavcodec/msmpeg4enc.c @@ -669,3 +669,45 @@ void ff_msmpeg4_encode_block(MpegEncContext * s, int16_t * block, int n) } } } + +const AVCodec ff_msmpeg4v2_encoder = { + .name = "msmpeg4v2", + .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"), + .type = AVMEDIA_TYPE_VIDEO, + .id = AV_CODEC_ID_MSMPEG4V2, + .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .priv_class = &ff_mpv_enc_class, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, + .priv_data_size = sizeof(MpegEncContext), + .init = ff_mpv_encode_init, + .encode2 = ff_mpv_encode_picture, + .close = ff_mpv_encode_end, +}; + +const AVCodec ff_msmpeg4v3_encoder = { + .name = "msmpeg4", + .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"), + .type = AVMEDIA_TYPE_VIDEO, + .id = AV_CODEC_ID_MSMPEG4V3, + .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .priv_class = &ff_mpv_enc_class, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, + .priv_data_size = sizeof(MpegEncContext), + .init = ff_mpv_encode_init, + .encode2 = ff_mpv_encode_picture, + .close = ff_mpv_encode_end, +}; + +const AVCodec ff_wmv1_encoder = { + .name = "wmv1", + .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"), + .type = AVMEDIA_TYPE_VIDEO, + .id = AV_CODEC_ID_WMV1, + .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .priv_class = &ff_mpv_enc_class, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, + .priv_data_size = sizeof(MpegEncContext), + .init = ff_mpv_encode_init, + .encode2 = ff_mpv_encode_picture, + .close = ff_mpv_encode_end, +}; From patchwork Tue Jan 25 17:41:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33853 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp834303iov; Tue, 25 Jan 2022 09:45:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJwrvhcVgQKCs3svNOMH7c2Fpa6lAm/M59zABVGTDlcfilZ7JKcDbfYTQhnw/Mh36PjrtcmU X-Received: by 2002:a17:906:444e:: with SMTP id i14mr17359425ejp.596.1643132714265; Tue, 25 Jan 2022 09:45:14 -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 v10si10632424edb.96.2022.01.25.09.45.12; Tue, 25 Jan 2022 09:45:14 -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=D+iZW8z5; 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 9CFEF68B19D; Tue, 25 Jan 2022 19:42:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068033.outbound.protection.outlook.com [40.92.68.33]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7B48568B182 for ; Tue, 25 Jan 2022 19:42:32 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fo3OVprF362yqiUot5lWSzBnjGA81554JINZOKodEf0ZDc+hStop1HzX/xNG4+J3gQqWfRvPAM1s1SEKysRLpiiC2fneS8pYUwK8ZKidNSj/pJHETttTRekzLo9KxseUAbiEHTAElOJGPuM9WIqx8SOypsZJUVoCVs7oUL124oKDMymk7yEcAG/Tb8aP3i8mbPa6nv98TYx9Km+Oz0W1dY1/LUI0aW345Eso6mHkmP80yLzpi5jmRZb5H+JyQfdc17hv0ijRx+gBbD5SwRZ91kSDf5fIlilQ/rFcVAA6A4lXgMjBXEUHFpVXErmwkCYIvqulCn1hV3eLFF/AwtJ9VQ== 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=JsXRDQd/qaw9CXNDJbgbCGMXUkZdXGxofMSzQ9+n5rU=; b=cw5MYE7rieZC+3Mx5eEIxLzkGBThr+s7qgr5CPutWXQFy0uP0YuyK+nm6HMtuNyFzfvCNzY37YjMCxL2+k1+3hgku9ot3/pazwaWTeuwYvZiA98eHC/kTt2FZ80mJs7etGL4aLK2Blzwe96aqinj3UhbgpQ7NyOxg5XmM15Jzk2/ixFyR7wUSrft7SVP29Fb/m3wBSdI6c0MaxDj0r+uwnDYXFun4uWIXLxtGL74rm2nxmaeAnpESeOeZmPsGCtOhzbYODqPyae3TlbhnaSgO1MUsk6LnXqNuujQs3ll6t4wWPb/hIb8Ae5bA4tVC9mEMzL/2he4tDrhpHtqbV6GFg== 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=JsXRDQd/qaw9CXNDJbgbCGMXUkZdXGxofMSzQ9+n5rU=; b=D+iZW8z5JxJ2NoCwVe2Oso/ry0Qe0+gJIdAxlsliesbG4EU3mnpLl/W61sS5N2UvZttyFvgzORLXygzk/6ISgYc5sNY4GsOG96BKj2IBp+P93evv/yFcer5tOM3vmxTxH0OimeuSBEzhd5SP6awXob5z5HhzooD1Qh0dEc8VKWmvsTflhzDXR9+LA/WUyJ6FsRuG2ZM1AkAdE9wbOH5BHkSRqs1vT/1nnqMXNw6B43Y2YOb925xtZ2kZT7Gzcy9tVspHyK/x27HoaucBu644ihvS2RvrLtA/VTCPv9vywSDHtz7PakrD+eD6o9lvooy1cF6MGjXWKx7jRTVSp7Nk7A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:31 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:31 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:46 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [UGYwCeqxgE/BCDgz8zbXLr3WtbqoIHNe] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-18-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b1f5738b-a1dc-44e9-ef2a-08d9e02a0fdf X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1dh/0p3L/E+Ih6xQcquoyv7wJa/Udk4wM8qRBb0UIOXpW6Od7KZXDcMZgAtUHR2BsaK3LoVWc2A/s1gbKQZF1rXsxvCrFEnYInIX80W8ZWNGbZUpzMhr4SfaR3H67nT+DaMn29tQ5K4ogO0LV8k/KWCMbUJdlhUrRFenUwbRHmcoIIuttMBwiFsD2CdA/UdKd2wQ+6/z9zDWe72kfuHhYWJ8BAKICXXvy9pwQgF601UzQmXDhe+rcu92/wiyqTktaFftJKXy7TyGPmGtDOilKqHg64aJ3+FRgnxHXM5zwcvB9uAG6iVUFNiXfexotNh8f8oTJw+bPv+5cw768hV1n8f/tLA0Rr0e5bGDnq+GHEcFHMgd94unx094jTHwI0Uaww2BNTXRq6MBlANJDzYE5cc/5H3Y4/ezBzkVRWdGUJo8lmDPE17wxI0xiSNGHeFScDk7IjdRdfKD3Ka2rEulIRJND8RiHcPxN5AyDYuOXjOaJM6ORLbKyl6ywdmvnAAwYcWDfsPMFp52QAkVy9fdWS+AfyPHnOCpnqYDokgUNrU/rjn00rrw+vagzSfg7n63 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uaxr5py376et1YckLdui/x1tKxuB5WFDxiN2ST0DZ4fC4nRXWvdKtItDuOm8RPH5MT7FaBeCkak88KtuUnLTVcHP64Ye0LVVuzMFmFGwWQsADXl2hojqlJXRM9nFUZ82ugJ7KoDcqI9OEgfMK4D8RbHPZFqTNpOdSKPQ/0nn8sb8Avt+2WHVC3uNcSZxh+W8V+OYbWs/b/fX/VncDTc0nl5CcDdddIfKM1I4aHz9ddAkTXrJlCn6ev8Dkp7DEkHz7+CfYKdDUorF5MXzWpwHllfNlu5fk1WHC6LOuPL1kDcuLnV81E+2fnxefBb6aCyVf81ntWAD0pR1/sACTDm34tAXrL5MzWpdKhcwAE7veNiw9u8czv4V7jFMZhaWMjLz+V+/LeKHvp1bBDFpjrx9YRSOkTypsdLORCO4J3tZfwkJ93CF+ThLs+rp4+pC/iMkJci3NnFKOy/PemFsB9XFUEnGNRh9lgIM6Pq0FfrXCYyenIDI41YirQlVJszAXiJ9CNEKlgR3lzKSHm01OGKo9gcDHq3fpc0VbjTISrJe9Qnd3L99ERJuGzXXg3wL1BFTwFdDkWau2obZmiWwbLMIZnAJRqo2tkcczlupict7w4E+PJJ+PxfaSdfjHDC2lF4Lew/AHYysHtQvp7MrO67o1PD4pUmfO5c1O46MIuydFYo6KNQP/QNtdzC6yET0W1tI6WsLo2ZTKUBZD/NZfmuC+/gUtZ7EEpf9I46fQDTuk8WAmCR48hv9KEyCX/NmQ4nny0gjw2aQdYGWwK7GY+4PQqswzbzb8jUF23nPX5E2VZ7lT51wrVUwd8PcO6Zmihy7NTdhXryggBf4GGiG6ha7SJ4iFPJj3S5ISMPH10kdOto01eSDDjUcAIjfiEhiN12c1ksyCBhQDMxcTkR7cLvfKeHm0XQc5o6wupqXNv0kjaj6RIzXrmchE5NLjkBTGLPMU3fBEM0EZJj8yye+5t0QJg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1f5738b-a1dc-44e9-ef2a-08d9e02a0fdf X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:30.9999 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 19/21] avcodec/mpegvideo_enc: Move H.263p? encoders to ituh263enc.c 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: lc02DYm9pfAV Signed-off-by: Andreas Rheinhardt --- libavcodec/ituh263enc.c | 72 ++++++++++++++++++++++++++++++++++++++ libavcodec/mpegvideo_enc.c | 72 -------------------------------------- 2 files changed, 72 insertions(+), 72 deletions(-) diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c index bd2deba210..9253d60a16 100644 --- a/libavcodec/ituh263enc.c +++ b/libavcodec/ituh263enc.c @@ -874,3 +874,75 @@ void ff_h263_encode_mba(MpegEncContext *s) mb_pos= s->mb_x + s->mb_width*s->mb_y; put_bits(&s->pb, ff_mba_length[i], mb_pos); } + +#define OFFSET(x) offsetof(MpegEncContext, x) +#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM +static const AVOption h263_options[] = { + { "obmc", "use overlapped block motion compensation.", OFFSET(obmc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, + { "mb_info", "emit macroblock info for RFC 2190 packetization, the parameter value is the maximum payload size", OFFSET(mb_info), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE }, + FF_MPV_COMMON_OPTS +#if FF_API_MPEGVIDEO_OPTS + FF_MPV_DEPRECATED_MPEG_QUANT_OPT + FF_MPV_DEPRECATED_A53_CC_OPT + FF_MPV_DEPRECATED_MATRIX_OPT + FF_MPV_DEPRECATED_BFRAME_OPTS +#endif + { NULL }, +}; + +static const AVClass h263_class = { + .class_name = "H.263 encoder", + .item_name = av_default_item_name, + .option = h263_options, + .version = LIBAVUTIL_VERSION_INT, +}; + +const AVCodec ff_h263_encoder = { + .name = "h263", + .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996"), + .type = AVMEDIA_TYPE_VIDEO, + .id = AV_CODEC_ID_H263, + .pix_fmts= (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, + .priv_class = &h263_class, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, + .priv_data_size = sizeof(MpegEncContext), + .init = ff_mpv_encode_init, + .encode2 = ff_mpv_encode_picture, + .close = ff_mpv_encode_end, +}; + +static const AVOption h263p_options[] = { + { "umv", "Use unlimited motion vectors.", OFFSET(umvplus), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, + { "aiv", "Use alternative inter VLC.", OFFSET(alt_inter_vlc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, + { "obmc", "use overlapped block motion compensation.", OFFSET(obmc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, + { "structured_slices", "Write slice start position at every GOB header instead of just GOB number.", OFFSET(h263_slice_structured), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE}, + FF_MPV_COMMON_OPTS +#if FF_API_MPEGVIDEO_OPTS + FF_MPV_DEPRECATED_MPEG_QUANT_OPT + FF_MPV_DEPRECATED_A53_CC_OPT + FF_MPV_DEPRECATED_MATRIX_OPT + FF_MPV_DEPRECATED_BFRAME_OPTS +#endif + { NULL }, +}; +static const AVClass h263p_class = { + .class_name = "H.263p encoder", + .item_name = av_default_item_name, + .option = h263p_options, + .version = LIBAVUTIL_VERSION_INT, +}; + +const AVCodec ff_h263p_encoder = { + .name = "h263p", + .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"), + .type = AVMEDIA_TYPE_VIDEO, + .id = AV_CODEC_ID_H263P, + .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .priv_class = &h263p_class, + .capabilities = AV_CODEC_CAP_SLICE_THREADS, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, + .priv_data_size = sizeof(MpegEncContext), + .init = ff_mpv_encode_init, + .encode2 = ff_mpv_encode_picture, + .close = ff_mpv_encode_end, +}; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 4c3c870013..044c675014 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -4556,75 +4556,3 @@ int ff_dct_quantize_c(MpegEncContext *s, return last_non_zero; } - -#define OFFSET(x) offsetof(MpegEncContext, x) -#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM -static const AVOption h263_options[] = { - { "obmc", "use overlapped block motion compensation.", OFFSET(obmc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - { "mb_info", "emit macroblock info for RFC 2190 packetization, the parameter value is the maximum payload size", OFFSET(mb_info), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE }, - FF_MPV_COMMON_OPTS -#if FF_API_MPEGVIDEO_OPTS - FF_MPV_DEPRECATED_MPEG_QUANT_OPT - FF_MPV_DEPRECATED_A53_CC_OPT - FF_MPV_DEPRECATED_MATRIX_OPT - FF_MPV_DEPRECATED_BFRAME_OPTS -#endif - { NULL }, -}; - -static const AVClass h263_class = { - .class_name = "H.263 encoder", - .item_name = av_default_item_name, - .option = h263_options, - .version = LIBAVUTIL_VERSION_INT, -}; - -const AVCodec ff_h263_encoder = { - .name = "h263", - .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996"), - .type = AVMEDIA_TYPE_VIDEO, - .id = AV_CODEC_ID_H263, - .priv_data_size = sizeof(MpegEncContext), - .init = ff_mpv_encode_init, - .encode2 = ff_mpv_encode_picture, - .close = ff_mpv_encode_end, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, - .pix_fmts= (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, - .priv_class = &h263_class, -}; - -static const AVOption h263p_options[] = { - { "umv", "Use unlimited motion vectors.", OFFSET(umvplus), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - { "aiv", "Use alternative inter VLC.", OFFSET(alt_inter_vlc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - { "obmc", "use overlapped block motion compensation.", OFFSET(obmc), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - { "structured_slices", "Write slice start position at every GOB header instead of just GOB number.", OFFSET(h263_slice_structured), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE}, - FF_MPV_COMMON_OPTS -#if FF_API_MPEGVIDEO_OPTS - FF_MPV_DEPRECATED_MPEG_QUANT_OPT - FF_MPV_DEPRECATED_A53_CC_OPT - FF_MPV_DEPRECATED_MATRIX_OPT - FF_MPV_DEPRECATED_BFRAME_OPTS -#endif - { NULL }, -}; -static const AVClass h263p_class = { - .class_name = "H.263p encoder", - .item_name = av_default_item_name, - .option = h263p_options, - .version = LIBAVUTIL_VERSION_INT, -}; - -const AVCodec ff_h263p_encoder = { - .name = "h263p", - .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"), - .type = AVMEDIA_TYPE_VIDEO, - .id = AV_CODEC_ID_H263P, - .priv_data_size = sizeof(MpegEncContext), - .init = ff_mpv_encode_init, - .encode2 = ff_mpv_encode_picture, - .close = ff_mpv_encode_end, - .capabilities = AV_CODEC_CAP_SLICE_THREADS, - .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, - .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, - .priv_class = &h263p_class, -}; From patchwork Tue Jan 25 17:41:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33854 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp834445iov; Tue, 25 Jan 2022 09:45:25 -0800 (PST) X-Google-Smtp-Source: ABdhPJxfYPxSPYdn/TKmzQANXgdRiNx/3INng1JOC/UEE+k8HoKPaJ9l7e//ypoitb4xwjx7AqOl X-Received: by 2002:a17:907:868b:: with SMTP id qa11mr8553324ejc.585.1643132724833; Tue, 25 Jan 2022 09:45:24 -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 y20si3559563edd.608.2022.01.25.09.45.24; Tue, 25 Jan 2022 09:45:24 -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=VJSPkhRr; 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 A6C1168B1A6; Tue, 25 Jan 2022 19:42:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072025.outbound.protection.outlook.com [40.92.72.25]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1373768B180 for ; Tue, 25 Jan 2022 19:42:33 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WBmkINA7Jb0VlgcZSQiAwosxqmHR/zBCAd1L5/d7l6CEMe5Oxp92xlKKjyiff/rOkbXxxCYZgX+Nl39I+XZqDkR0QOkk9+X01UzecDj7JgtYYb4jdbj5NbbivNOaABQQQ65KZMcN23qeZlmkrDV3fc/KY7bCIP7uRa0p0HOOIeg+NJdbv/V8NDcZkvf+kNcB1/2hVTRUVE+Mxq6ITA9pOvDhvG5r4WyEGv/WU6BD5e4zcJ49jKVGDCdsvvD4ouQrRoMcD0XSoBplD6nVvYJ1Si0UPBNhF7Auhyqo4zh/ixNQcs/6OmNOTsIGiM/rkGZQhtdowotkvTO6m+s84NW7WQ== 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=eEJOEQ809k/kGiKOk/O6+jCTtaZ1j6zbCsjpg5B99z4=; b=FhPaOv2+5La0zZNmnqxTXc3nuyUzciNNJROEB0lDeZYyj0PFYECovu5vT3N46t22RQeGXvrXJjijOMHWBwfkOzJyoz7PC5vdSWRM8QBg/Dg0Nrq/wsEPcWL1dRvdGbkJJYJamUSdaB87763QtLuasI7IwGDQ8Cql2ie4gbIJIJs/wleVQuPPHePx7v5A1xyj1vALVuK/TZ+gLioadiQnXT/dmaVz0qCBU8OuFYi0zUOhWOUzAlL7ke0Yg43FoPAJtGP//id/eVlx4Zvym0oSRB0EiZL2Yf0qdeO7Vla183WjUSOR+K2fFd+4Z9XAVdhnBwRh95BZfTFFk9MU4j8Bqg== 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=eEJOEQ809k/kGiKOk/O6+jCTtaZ1j6zbCsjpg5B99z4=; b=VJSPkhRr2RCy6kL3NsdPXPXsD291VGZIKl2N+0TnLLExJf5AxsT3K6IejYsd7WH0Qh2jkEX6KySfCwqNEqv1m9VO7a4ilqthBDsyJXaDDjnerBehBtn9Goy1J97GXkrD1CjxfcV5JB0v75dPx3BmghIKUJACW482UaxP2kMEPNUIJ92fgQsTxClxtZ27qkHgq/kl/TGdietfYMJqldppnbhTfAJCI703BZPbnQZA2tVO67fkhwPPhRcy/D7TjUUquOwkL+PI1D+h2VRPMjw/D2SnNZ9wU31kdeRCtdpIpbbDniy4GtKdJ2oLAqut1RLuPqExXI7+0LcJFxUGuxIbNQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4086.eurprd03.prod.outlook.com (2603:10a6:20b:1a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Tue, 25 Jan 2022 17:42:32 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:32 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:47 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [c/X5T4kmle/tIhlfU+0DMHxw5LuCNW9b] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-19-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7005ba05-99f3-41a0-bb1d-08d9e02a10c9 X-MS-TrafficTypeDiagnostic: AM6PR03MB4086:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cEbwRbDZGhVlqoYCY/TqvEQTO9VwBLCFrAyfvJ073Gf+0QeEK3R9BBa+/zJ88sAzUjs6f7g2yI4mp6yN7cyEbgMAFcG56+Ie3pPErM1+otIs0QxureIFU0zrdDiMui7Ax9OjRHg/hDPhxV1OS8vo7ACZzbhlGA8bTDvgvnT1i0QBIUBqucUDZYEqoyaFBlFWt/kH1BQUjn30ePmrwnV8NT11lZIayeMtc0BA5MZoJ1ic22zcMx0KGH63Qdzjip67XFAejwrHJCL1ZSAjciAUmgZGOGBAy28OyIKmkmrQ9AGknFRAcnGGjR9jYRaCK11xF7RCMI64ITYYdNSVdVZern40xCpQWFirUIi2y68+DuWDsNUlDNLthOKDgZiRPQ8+jV6AGd/yuBcJ3tWkCsoRBxeU/yQIEceB/K5copw7qb1czPsNB+hEXAuZJc9Z2oUu6+7+n3Up3+oMkgGhMws1Ny0O857eNIl5QYtIzYV40Zoke6VC9VYkPvyiCQHNJfpMm/8rAzMb5umY1WjCUQZ3C0Hnghd1IB3GqzKNG0vr3igUTzvFzd7+OPXyS0n7jyCy X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6T4I/G2MUG4N3ZKsjXR4fy0bP7UphsfBCchbnD/9GCHcHtMtU/4NezzH5ASgZX0SL14Vjn9AOQCcMHhIUTh/395xOKcXw3bU3gmPDJyeW5P6YIimzxbA2xmlv7rL2f6B+XGzQ9Uw7WBNqGlP63q0QPfCJnE/nvnN01qzcZxqsYA5yDL7UQ5cvPikmsgQhDv3n1Bb9I9VxC750gBsnvIjvVjYafX/SvWC4FdrWxcV+ZRgqWcMwRMtMVgb+eTs8o0l3jbRy/vsUqWnw1Ui+1PmWPtn+LC8PP2CljGehYnsSMv+MwhSU8B+ftziyEwQA28e7Yxssjh3v2sdfOy5J4NUZY7M5Rp7yAix51xTks8RRv9DMk3mhlWLCqQISwdRZ8pkAJgZtbe0PEYi9DjlYYDRmqLCEmfVN+5Nfbv+LAD+1mGe/saviBK8kAtTCl1hXNbf2AUL1cy9WT0EtnD9Grogdfue1f4Y6mRYwV2+z1aX0lTDZXHud8wAiV4oWOVbAnapOOCjXUddFAZvACo/7EkHPJCZGUH6pEe/VwJBhoVW50jxKupEzqNzWlCvP8CJKZpCZidR2Y6s3/sMkLlECg1RVOLqmJkPstUp2/NCKZvpC3aQSP7RylLRCbKAG6Y3QW2oxzmymI01OWZp4fh0a/A2x27A3DZ5ch/R4qCphBQLz+qXjNA30g77TsbWL8x3XywI+N/adCLdrWmuJp76YjttyOOH42UOPRd727AfApYN004Jmcr9suqEi6On3gsRKklQTm/OErkwYKgB3e4V1KNHrq1TTwD0aM8QQU1x5nShiky3nE7+5CCJwPvjik6IVCHfvBggnJrYGShjcveRf3L6WTNuXo58vTc1B3JxX/cGGHHH9QNBMNnTZvkyOmkBDclinAAxtR9Tica+uDV9qRfl10Z0PdTo+kDZBE4LGDG04IIm0SOSmfWGGUaA+wggf0d6LeDrtk1/oi0l+2LIsCY9HQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7005ba05-99f3-41a0-bb1d-08d9e02a10c9 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:32.5477 (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: AM6PR03MB4086 Subject: [FFmpeg-devel] [PATCH 20/21] avcodec/speedhqenc: Add SpeedHQEncContext and move slice_start to it 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: QNQWWV14b3CZ Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.h | 3 --- libavcodec/speedhqenc.c | 19 ++++++++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index e5a4cc9b81..9243edefce 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -425,9 +425,6 @@ typedef struct MpegEncContext { int inter_intra_pred; int mspel; - /* SpeedHQ specific */ - int slice_start; - /* decompression specific */ GetBitContext gb; diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c index 967774931c..9a03876fbf 100644 --- a/libavcodec/speedhqenc.c +++ b/libavcodec/speedhqenc.c @@ -54,6 +54,12 @@ static uint32_t speedhq_chr_dc_uni[512]; static uint8_t uni_speedhq_ac_vlc_len[64 * 64 * 2]; +typedef struct SpeedHQEncContext { + MpegEncContext m; + + int slice_start; +} SpeedHQEncContext; + static av_cold void speedhq_init_static_data(void) { ff_rl_init(&ff_rl_speedhq, speedhq_static_rl_table_store); @@ -123,24 +129,27 @@ av_cold int ff_speedhq_encode_init(MpegEncContext *s) void ff_speedhq_encode_picture_header(MpegEncContext *s) { + SpeedHQEncContext *ctx = (SpeedHQEncContext*)s; + put_bits_le(&s->pb, 8, 100 - s->qscale * 2); /* FIXME why doubled */ put_bits_le(&s->pb, 24, 4); /* no second field */ + ctx->slice_start = 4; /* length of first slice, will be filled out later */ - s->slice_start = 4; put_bits_le(&s->pb, 24, 0); } void ff_speedhq_end_slice(MpegEncContext *s) { + SpeedHQEncContext *ctx = (SpeedHQEncContext*)s; int slice_len; flush_put_bits_le(&s->pb); - slice_len = s->pb.buf_ptr - (s->pb.buf + s->slice_start); - AV_WL24(s->pb.buf + s->slice_start, slice_len); + slice_len = put_bytes_output(&s->pb) - ctx->slice_start; + AV_WL24(s->pb.buf + ctx->slice_start, slice_len); /* length of next slice, will be filled out later */ - s->slice_start = s->pb.buf_ptr - s->pb.buf; + ctx->slice_start = put_bytes_output(&s->pb); put_bits_le(&s->pb, 24, 0); } @@ -273,7 +282,7 @@ const AVCodec ff_speedhq_encoder = { .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_SPEEDHQ, .priv_class = &ff_mpv_enc_class, - .priv_data_size = sizeof(MpegEncContext), + .priv_data_size = sizeof(SpeedHQEncContext), .init = ff_mpv_encode_init, .encode2 = ff_mpv_encode_picture, .close = ff_mpv_encode_end, From patchwork Tue Jan 25 17:41:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33860 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp834618iov; Tue, 25 Jan 2022 09:45:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJysxCOf6VtwmrvY4IMUfcD3A4dsoq4YjPD1pE1TJWzPyCNKJuJAksiLu8bnc63EnfytsX5h X-Received: by 2002:aa7:c412:: with SMTP id j18mr12313130edq.393.1643132735244; Tue, 25 Jan 2022 09:45:35 -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 c10si9986287edj.97.2022.01.25.09.45.34; Tue, 25 Jan 2022 09:45:35 -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=dlxuGXfD; 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 C1EC368B1AF; Tue, 25 Jan 2022 19:42:40 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-oln040092068014.outbound.protection.outlook.com [40.92.68.14]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 05E6E68B0F0 for ; Tue, 25 Jan 2022 19:42:35 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hEnEFWmV8y8rw8gzIyXBJMJAeUfDmOiE6Tpl8j7PcCxsoGD8X5MJ2q9VUZegsQdgK5efkt1wYmAzsHCl0PzgTHmqonAa4upeF9xwm0e0Py9Of6Lsu22s5huC1C1Nm1NWDOFkXb7kmg2ZUcUzCJp1wbdJdlcgYKU3PeDe5yQPPDiTdqVYU9A6W+u99gA4xZPb1VOEA6Ur/8cM2dJcb9Fd2WZ2tmvY/GzhjSFx/3Hpad6hyaUT0Y3ZZLt2Ydh5fOVu6AdX1g/HAVHmDswjlDk7rriZ0YqN0s6A5lsHMwDUaP9IY8T6zLeFA1UpQxOL8GEqdVBBmKCi08JWsGvMTAHjTg== 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=m7P+wQ/su6zm3u2PSKvhWr/LW0KdXrm8CL8wJ3b48l8=; b=SRNG0m5tn650X43q3C+Y8pPnWhGB+ZruKXS6UVNi0iMoouiQYdrzVfilhDIc4B8FpdPH11XVgpepK6ki/sxDBS5f0cDZ0/QLRKjnkFp696aBJFAfs6eEAJnk9dX98147TEZgd1txzABL0owI6Rrei75OhpMsQGrAKSC74cCRPbxqTvSkS0n1XRpillj8p76LXQIom8PwDSBrZ8gQV8OedJq/6TziC/5auOTqzGtV6T9AKXHwa5CWm8Y+WrCgi3xuux+2YbCD0ed+fd/E/yN+0sy6D6ImPZV7e9ugT02neVL0Iy3czUlFR7ALjF+mbHlwFaKUlkqypHAJtygYFroxHw== 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=m7P+wQ/su6zm3u2PSKvhWr/LW0KdXrm8CL8wJ3b48l8=; b=dlxuGXfDNBLS9fXRguosB5XfQb6RoEV1cDmdHP2mYpA+laRi8iBR4VBJhC74GaO5zFu+o/irR+1Co7RGAUoZTXfTapwOzw75nx1Q/ePSZ2Z8hNYFMz6xd5BpSPTPua/ndTTbXnqG9OoKvi/Njlu/6bHQjp31IGkgLqN0vEY6gx46SxALxx5aenXXvtYdtU0H3XRBl7qfKCEZM/FIeiKrZWL+0b+nn1cjkGpO0R22uPqwKDzSD/SKdlknQk3vpjkzyAoryJpmxyO5u6wYIIbi89O9IRa7/bkcoSXquJD2qsIz0ukmwMF6B6codI8Fpj734A1vX10apKz0n7HayJUFow== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DB7PR03MB3500.eurprd03.prod.outlook.com (2603:10a6:5:8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Tue, 25 Jan 2022 17:42:33 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.015; Tue, 25 Jan 2022 17:42:33 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 25 Jan 2022 18:41:48 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> References: <20220125174148.994967-1-andreas.rheinhardt@outlook.com> X-TMN: [utzLgiGj03lneSPNKfOtbpmjOQydKH1c] X-ClientProxiedBy: AM6P193CA0061.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:8e::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220125174148.994967-20-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b6066708-0c71-4ca4-f9c3-08d9e02a1191 X-MS-TrafficTypeDiagnostic: DB7PR03MB3500:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JKhEyWsZulxtI93HSxHIzNladDpifkSGTu64ZjyOT6onQJpaUdiRCn+jQvvjoj/amJGHDXVJDIfYIeQKdUE1eY4T3DgZftvCyGtEo/S7EzxGM5nIdKuo/yxFXvTfttErU7bBKJpBFXTy+f7zKOiA1+ZVghUTlGomPkm9/lhRePEzwTLFGkb4P/X69TEgQJK2m6BeG8L7SQDVgpnEq5D6IYETQ16pz6AaD9drK9XoW7rIe03WJyN8GW4i9bL8zU6cHN0+0v0CcI2apWTWTky134xFZ5zASbMT8UPcFBVZPjCMe/bFt9V9Gy0sIpBfB10KRL5JY7z92ZKnY+tCznVuaq3qZLVwZwjjRZF7wnp2Rr+rMjZNRzyapliOiszaqlGT5MeAURZQbHB/+n0rdZ1KzStjGEqQtNeYh65uPeF7jphPSmSwPKbcOebaXGSjyB8hcZEpjDTaxuX+BeB1k/U5Mm1mMzi0Nr0fNqXmi+oiCPinZGIybwaUvdCR/nmDc7d55ABaRV8WdfAihHxwtsCtyGP48EpYT3ERrWAcOnbYeBnSN57aMgKP6FFHoIrezhBZ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WVLg/3/i4f7mzQrD++q/EaAY1jdk3sAvDMTFKGXppoGnBQTFn6MfE0Pw3JaUvLgWa5Lz/QA4+NtI/X75mG/CjVR+JgpYpKAQBYP1CRZLVGhnvVW311CH5FfvyPsnA8QejV4dy2ij2OpKT3HCOoWKFBvFmmhV26N5uOEaDyPcrbVfmjfGMxc1wRI30qxPkmaokfAMOc6aZVp8lS9YqETbC5WscuDZ2NZk+2dQgQm4pwhG+ujoHARWgCJWTReII9O5tsVNX6s4eGxvtnnnWHOwc0e0SGrYdfSOqYyS6kF4WnXsJVbS8usyxLT2/7yjpofXxqdxC4nHNelTPMUadn88+Yap97MotzuRa7SrrtvI8oAMaWbpxuSvsQLy7mdMmXDcVpvzIjbDq4L0FD4ZCYDkvc4MLP3yh1lDAebvxinsuZZph81gOvguafdMTMWB9H+MbiXDr3T6msl7Jxm0iVimIFX/EnCPXxoltrTrQSQJ2m4yqI3PwiK8lKurFtT2oM8HBgALh9yinnGs/kdYNHMDQuoLm+ZsadW8zBcOxRggff7g1EFFqVxd3GTDkOtzh50xt8nHaRnmfmRCCUEMK/35lN+f56RHVlN2HbxTCltx3brnmiN1VO3mCDN5o0C0wAY6hBWfaUzoreSMz+0IaULZnHptGDzMehjyiL2FF/fJgNcBaibP5xMkXH5mrBV4sVuXS/HkHQHVNhAI7lbYrd+zBlztF27kxsK0GEhyN6tbz7sx6yWPPS8WG0gZIAnZyQIZDHfRiKIBMPWIgu2KpuR9wDBVii2iyI15CKo85bPdHnXKBjYUP/NtfGxDSleAz925iUnINE9ByhtTaW4VH/MmDEohowxYJrOQ/2wHCZiFb5DKcnBBaowKkFxnoGkJzIXjzitXHa3WIax05x8q6prMMU9L55RYca+jFIRjU7Ww0m4YXHptIt49uPGBnZvhaaunxUpvWs88VR2lV/B4OcGrUg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6066708-0c71-4ca4-f9c3-08d9e02a1191 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2022 17:42:33.8456 (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: DB7PR03MB3500 Subject: [FFmpeg-devel] [PATCH 21/21] avcodec/mpegvideo: Move frame_rate_index to (Mpeg1|MPEG12Enc)Context 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: jrdpDNbb4cv8 Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12dec.c | 15 ++++++++------- libavcodec/mpeg12enc.c | 11 ++++++----- libavcodec/mpegvideo.h | 1 - 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 0c5eddb7f1..4a7bd6d466 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -70,6 +70,7 @@ typedef struct Mpeg1Context { int save_width, save_height, save_progressive_seq; int rc_buffer_size; AVRational frame_rate_ext; /* MPEG-2 specific framerate modificator */ + unsigned frame_rate_index; int sync; /* Did we reach a sync point like a GOP/SEQ/KEYFrame? */ int closed_gop; int tmpgexs; @@ -1297,7 +1298,7 @@ static int mpeg_decode_postinit(AVCodecContext *avctx) if (avctx->codec_id == AV_CODEC_ID_MPEG1VIDEO) { // MPEG-1 fps - avctx->framerate = ff_mpeg12_frame_rate_tab[s->frame_rate_index]; + avctx->framerate = ff_mpeg12_frame_rate_tab[s1->frame_rate_index]; avctx->ticks_per_frame = 1; avctx->chroma_sample_location = AVCHROMA_LOC_CENTER; @@ -1305,8 +1306,8 @@ static int mpeg_decode_postinit(AVCodecContext *avctx) // MPEG-2 fps av_reduce(&s->avctx->framerate.num, &s->avctx->framerate.den, - ff_mpeg12_frame_rate_tab[s->frame_rate_index].num * s1->frame_rate_ext.num, - ff_mpeg12_frame_rate_tab[s->frame_rate_index].den * s1->frame_rate_ext.den, + ff_mpeg12_frame_rate_tab[s1->frame_rate_index].num * s1->frame_rate_ext.num, + ff_mpeg12_frame_rate_tab[s1->frame_rate_index].den * s1->frame_rate_ext.den, 1 << 30); avctx->ticks_per_frame = 2; @@ -2110,11 +2111,11 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx, if (avctx->err_recognition & (AV_EF_BITSTREAM | AV_EF_COMPLIANT)) return AVERROR_INVALIDDATA; } - s->frame_rate_index = get_bits(&s->gb, 4); - if (s->frame_rate_index == 0 || s->frame_rate_index > 13) { + s1->frame_rate_index = get_bits(&s->gb, 4); + if (s1->frame_rate_index == 0 || s1->frame_rate_index > 13) { av_log(avctx, AV_LOG_WARNING, - "frame_rate_index %d is invalid\n", s->frame_rate_index); - s->frame_rate_index = 1; + "frame_rate_index %d is invalid\n", s1->frame_rate_index); + s1->frame_rate_index = 1; } s->bit_rate = get_bits(&s->gb, 18) * 400LL; if (check_marker(s->avctx, &s->gb, "in sequence header") == 0) { diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index eaab968425..ecb90d1a41 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -65,6 +65,7 @@ static uint32_t mpeg1_chr_dc_uni[512]; typedef struct MPEG12EncContext { MpegEncContext mpeg; AVRational frame_rate_ext; + unsigned frame_rate_index; int gop_picture_number; ///< index of the first picture of a GOP based on fake_pic_num @@ -144,7 +145,7 @@ static int find_frame_rate_index(MPEG12EncContext *mpeg12) || av_nearer_q(target, bestq, q) < 0 || ext.num==1 && ext.den==1 && av_nearer_q(target, bestq, q) == 0) { bestq = q; - s->frame_rate_index = i; + mpeg12->frame_rate_index = i; mpeg12->frame_rate_ext.num = ext.num; mpeg12->frame_rate_ext.den = ext.den; } @@ -233,14 +234,14 @@ static av_cold int encode_init(AVCodecContext *avctx) mpeg12->drop_frame_timecode = mpeg12->drop_frame_timecode || !!(avctx->flags2 & AV_CODEC_FLAG2_DROP_FRAME_TIMECODE); if (mpeg12->drop_frame_timecode) mpeg12->tc.flags |= AV_TIMECODE_FLAG_DROPFRAME; - if (mpeg12->drop_frame_timecode && s->frame_rate_index != 4) { + if (mpeg12->drop_frame_timecode && mpeg12->frame_rate_index != 4) { av_log(avctx, AV_LOG_ERROR, "Drop frame time code only allowed with 1001/30000 fps\n"); return AVERROR(EINVAL); } if (mpeg12->tc_opt_str) { - AVRational rate = ff_mpeg12_frame_rate_tab[s->frame_rate_index]; + AVRational rate = ff_mpeg12_frame_rate_tab[mpeg12->frame_rate_index]; int ret = av_timecode_init_from_string(&mpeg12->tc, rate, mpeg12->tc_opt_str, s); if (ret < 0) return ret; @@ -266,7 +267,7 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) MPEG12EncContext *const mpeg12 = (MPEG12EncContext*)s; unsigned int vbv_buffer_size, fps, v; int constraint_parameter_flag; - AVRational framerate = ff_mpeg12_frame_rate_tab[s->frame_rate_index]; + AVRational framerate = ff_mpeg12_frame_rate_tab[mpeg12->frame_rate_index]; uint64_t time_code; int64_t best_aspect_error = INT64_MAX; AVRational aspect_ratio = s->avctx->sample_aspect_ratio; @@ -300,7 +301,7 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s) } put_bits(&s->pb, 4, aspect_ratio_info); - put_bits(&s->pb, 4, s->frame_rate_index); + put_bits(&s->pb, 4, mpeg12->frame_rate_index); if (s->avctx->rc_max_rate) { v = (s->avctx->rc_max_rate + 399) / 400; diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 9243edefce..0b76a460c9 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -201,7 +201,6 @@ typedef struct MpegEncContext { int last_pict_type; //FIXME removes int last_non_b_pict_type; ///< used for MPEG-4 gmc B-frames & ratecontrol int droppable; - int frame_rate_index; int last_lambda_for[5]; ///< last lambda for a specific pict type int skipdct; ///< skip dct and code zero residual From patchwork Wed Jan 26 21:34:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33864 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1882080iov; Wed, 26 Jan 2022 13:35:12 -0800 (PST) X-Google-Smtp-Source: ABdhPJxQp8mLCbcR1KFS9aEuHt2SjjM51BO0tfuEsgkpEO53w5dicJ69XYgeOygB9bYxTjbV70vH X-Received: by 2002:a17:907:3d8f:: with SMTP id he15mr461848ejc.623.1643232912625; Wed, 26 Jan 2022 13:35:12 -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 cy10si220195edb.39.2022.01.26.13.35.11; Wed, 26 Jan 2022 13:35:12 -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="LOivEm/2"; 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 48BD468B054; Wed, 26 Jan 2022 23:35:08 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071048.outbound.protection.outlook.com [40.92.71.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8312A68AEE4 for ; Wed, 26 Jan 2022 23:35:01 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZI8whhNvfHfM5o6J3o0QxIUsw3CoAAEqaLeXPMkSsD5su/zc0j5MzQEn1rd6xSfxWX2bNB556wuIacFWU7DfCKVId7DhSgtE0tR4EiymjuxHqWG3ZU3UeQtJkSCwmdjmS/5XoqDdg5QuCiGdJOVvp+CqZdyqKt0ym/08FDnYzuSxQwRxrNW8IVxN86KZulh8oZBVEsw+4jXaoorm/yB9dLktVPsGeRR7tCDbl6udFUtOo3OeLyJQZDb9/6zEmJQrgBnMW9usT0sL2k78bNLTFIV+r+UBY59CSSPHfCPxjr9eROkNR6n0eoYxIdRDvs1I0dzHlpWHDvNXvn6IiihPzQ== 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=bRUVXz6jwBh+FQ3p5mj+WqYaYq0Qsq9/2rtIPbQ2VPw=; b=n3z4ghZAztSAWjkG3WetMSBdZ8/LswJeTGUBGf9g17chS01iclDL3dj6/PSDliob1kpiYQ40EHvFleSGHlVBi32Y6ZL2vh6bPkUWA147r9vmhrj0HkGIpLnQHSwrJ+bmy07L30fNc2TaIYeBKGPjd79T2WZxCAEOKjw7HTfS1Qs5km0uOYMf7FEUVcXxFq0ulP3x3YY68ylRPbfBJtivdMCu7QXkUM2zMWx8Qloj7a2mwy2EuGMuhZ7oi7pOLYUGo5g3SO6YSTowFn75gjSk+bXyuplHm6kyVPSZ5DVTMKA2i4muXEOjfhKxTRe/GQqSms7PksUGjS5o2nxvpqDH2w== 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=bRUVXz6jwBh+FQ3p5mj+WqYaYq0Qsq9/2rtIPbQ2VPw=; b=LOivEm/2q/C82SYcowPQ8SFUQCUmeQOgR5jiMZ4kTpBJNqJfvNpVc6oQjvlga2CM2d8Q9Ixj9bNaRGpptCq4fTGKSeU9Qvbylm2NBpl8rHEJED6v0Oc2jSqeIL1Rf2ghCv4J7X5qBSoDT8K9d4lHUUqvF/dWEC9O9ivinYNmRsk1KJqz1ztuxznc1k/1fz3uRkVg1+AUhOf2uh/VYWcrK/uGGnLiy00sE7cU7Xq2Pt3IjpE24DtTwKf/qhwaiLnT9DpqzWefX18Y3nMhkMxsjIMf1OJ60oKV3TLCMM7dQaOumvnCdyyXZgYteEkakY5l3bwT7EQfU0cGGRKoHmvDwA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DBAPR03MB6406.eurprd03.prod.outlook.com (2603:10a6:10:190::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan 2022 21:34:59 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:34:59 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:40 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [SMO/HTFyDDVsnk4moLNxDgDwdmUBNYai] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a2b2c820-2a90-49c6-7bf5-08d9e113b41b X-MS-TrafficTypeDiagnostic: DBAPR03MB6406:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: H4yZB2GvJuVOIBOoAHSWQg8Ao31CEQjmy2gCtPzXktbjptwKthi3dE+dJ95w2X3IfmE5mul5cnrUctRnBKW14PKxhN2DIXTLpAhD0Af1z7Ommvnu0rkpeLtvWLEC6Op0mQN1aK91zBktQW9+fHYFWJbaEJ8GUk4qOoBAZ3MwPZyykOYo2HFO+wtP9JUvnEgiNNydR1Sl0VtvK6ug/1Bnq13Hns5ohLMCQ5gBJZdBDmREvaU7mQfPcc9LZkjGWySwuK6IPcNdhOUnvnhhUX5Lv753DMF0N22DXFNVcLU/OWG3EFKyFBXkFRiSywV25ugQDu3tW3p8wagZADMBRbCWTLpJAc5q/DSxTMucsmG/NEpbMARKf89Ooso1tfGh91f8zQErEXxKGBPYixJ9ft4coJwp/DWs8CETvsOKyL8r70iHcjpqCHS8Pznkb67izDWw7Jo7fLHAb0qPkn0zZc34HJDhKGU6eQhuSThdd6L6pzY+eTGUBS8dyWzx7uGwoeT1TBx3+W3uELeNN5b4Ht7BHRtwgocRIdJHqr34LX/z1gxdmMNo5nTogtmKVNRvvDGK X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: EcpzvecZy1H9MkPz5u+VfvheGftSw55sdJXgZoLQNf8gnlpONnS2kHweDCEjkp2CmSNwUplqm0cl9nMqNXNvSeC5erNmDiCjCGzO3MfVqzjGZsG+XiLanC+wCxRSDbGiXxLEnHWJkWZJMEPRzEpFZRL9KL9Lb3zbc66wSU/9oFuqVeN65PMP2JOeE4XGikznoF2JDe+UIGmYzCS0ovnfO1Nt5y6yLB5qu8vi4+WlpFVVjmqGLlRQixJSieo/T4xnl7OQ66lSEHzfT5BQWusAPBGD9sG6S92V/YJFBT13D61uoXh7ZalSgowJBI4h0yuqDjnHIgWt0AUZGZbOuahMX9z16NarFuGA3lgVgriIvnWOQwsUVpx6/aTH7/l5WWXOzWHRMrH/16wJGV7jiuL7tqH0V6eWWW0F6Ng4qCWxNMZfhQydw7qnUyr3k1Pw8Br7gcRlzOnexqgDwS7gZ1CLtzh/uN0u+QYy4Fm6C2p07sernpGz+xjuUtDBnyKmgDSDAqNMtNNJ6DQ4eQ+jizHWeG7xNNHEUf1+O46GI4ZlH/ko9NYMS4M6rSqQq68tcZVTpMsElE8sxCBvFpW++URtmkeiu/vR24fyxV4TkFsvlAm8+kTycIrp85LHfMqmt9hgyG5aSZ0o8HEKv1zNBo1CT+fLbNGtNz2rNlqlEr2iSQoL59gisBDBF+nyA5CLCFw9zYQhCqIj1Zi7jsy1NUIG63J6qa8NS11Xk15x2O3WkZGeGwg9eWzZKuVHfAJUe/tArR5uRwvFmvd2oK2cUOy+OmQAfiA2AW6bK8YFtI+l0WZ3K4heppEQkf74A86ZImaFGowf+cxeMNzucekR3XEvL+9hBE4ZKGY+rSkw0EUBo+OTfFrtLCc+YGVuSELMmvPdvL6Ekv5hs2teVwB/gjeU8/T3Ym6BSajtq5uWDotckEvZAqlA2g0T8rmqLQJv0J1KAehfZoih5f4P2FPBsb/IIQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2b2c820-2a90-49c6-7bf5-08d9e113b41b X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:34:59.3682 (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: DBAPR03MB6406 Subject: [FFmpeg-devel] [PATCH 22/33] avcodec/mpegvideo_enc: Localize check for invalid number of b-frames 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: 9XOC7R9dEdeU Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 044c675014..920cb337a1 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -350,9 +350,21 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_ERROR, "Too many B-frames requested, maximum " "is %d.\n", MAX_B_FRAMES); avctx->max_b_frames = MAX_B_FRAMES; + } else if (avctx->max_b_frames < 0) { + av_log(avctx, AV_LOG_ERROR, + "max b frames must be 0 or positive for mpegvideo based encoders\n"); + return AVERROR(EINVAL); } s->max_b_frames = avctx->max_b_frames; s->codec_id = avctx->codec->id; + if (s->max_b_frames && + s->codec_id != AV_CODEC_ID_MPEG4 && + s->codec_id != AV_CODEC_ID_MPEG1VIDEO && + s->codec_id != AV_CODEC_ID_MPEG2VIDEO) { + av_log(avctx, AV_LOG_ERROR, "B-frames not supported by codec\n"); + return AVERROR(EINVAL); + } + s->strict_std_compliance = avctx->strict_std_compliance; s->quarter_sample = (avctx->flags & AV_CODEC_FLAG_QPEL) != 0; s->rtp_mode = !!s->rtp_payload_size; @@ -499,19 +511,6 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - if (s->max_b_frames && - s->codec_id != AV_CODEC_ID_MPEG4 && - s->codec_id != AV_CODEC_ID_MPEG1VIDEO && - s->codec_id != AV_CODEC_ID_MPEG2VIDEO) { - av_log(avctx, AV_LOG_ERROR, "B-frames not supported by codec\n"); - return AVERROR(EINVAL); - } - if (s->max_b_frames < 0) { - av_log(avctx, AV_LOG_ERROR, - "max b frames must be 0 or positive for mpegvideo based encoders\n"); - return AVERROR(EINVAL); - } - if ((s->codec_id == AV_CODEC_ID_MPEG4 || s->codec_id == AV_CODEC_ID_H263 || s->codec_id == AV_CODEC_ID_H263P) && From patchwork Wed Jan 26 21:34:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33865 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1882165iov; Wed, 26 Jan 2022 13:35:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJw22ZaHDmYNUmcz+2at78ZcjPhESUGEjJS/1m9itG4681MqlYH9SxA0Daw6KT7+dggvTvfh X-Received: by 2002:a17:907:96ac:: with SMTP id hd44mr596291ejc.46.1643232922140; Wed, 26 Jan 2022 13:35:22 -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 sh31si224409ejc.857.2022.01.26.13.35.21; Wed, 26 Jan 2022 13:35:22 -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="mjlGT/hQ"; 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 4BC4F68B0C4; Wed, 26 Jan 2022 23:35:13 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071048.outbound.protection.outlook.com [40.92.71.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9DE5368B094 for ; Wed, 26 Jan 2022 23:35:06 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QScj21GBxvxVIw3WxSjSZ4a5i1ylL7UeY6W/1Q2ubMZmX5KD3xRQAe5byj+4w5eTukSDiK3+OHUr1YR+CvXYb0y4gz+klyir5qB8OTApoFXXYdNKfUS0XMA/cTgSBXv6AfdiLSO7tyHMvLvmfZicbQEai4hEZZjsJXOP74pVcGFXcFhOCaZr8EJ6cU9D8ecThJGWfIZtX4z8ReN9IxltOSbXvRm5jAq5aCqZyzTYSBneVKd0beJem/E8ltRBmhc6+yAdzfeFC+MOYD6x2n7m4B37CG28+fuJSzCc7jVuygbRgBTKMVmTyooqzQUzBBdlGE9fqyJJX0vsPSf0bjTvKg== 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=uWkoUUD5wUqi0Zzv8P8IrpJ09DGCjDz7GHpIMvyySj4=; b=ERl0H/B/+bqcEz8ydqcQlJBDDWf+A5YXMt8okMyqyJoNChtgpPVzXLW+0ZwHNBid36NqF3MoCKzPVFVs3RM1/YIL6KrhjEOYIjpJ/O4tE9LUk8Daykc5XaxgdOiovZ1zKZiJmFK13+b1hiv2h45fJd3PKFuk8zJ7NNXLPKgxAQDR2EtK4yrz58GOfPCbWxZGr6J+hwaPAZgBVcGmjlEcflgdcaaDpLdU5YTEQ69I39FYK6H3CWgUpABXdgobIoke9ijLouE6kqT73Om8aNiZaMsqWRgMBPJvf6KarnYjVBJWM1kNLCpgYPJY7A0/tnP1Clf5qrW4vi+dfWBWgx/KLQ== 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=uWkoUUD5wUqi0Zzv8P8IrpJ09DGCjDz7GHpIMvyySj4=; b=mjlGT/hQ/Q3s3EZdzdkqgTwmhwaPS0CF2ZoXA7a9+CpHWae4/PYbrhKnC1O6/wHledkSZpvOOyPwwI3kHBOm5uhCSh1Bwehhdp+6IF6zRT7W5O/spmuBEfjD6tJjlyBt5jADKiLjFZr5ELhypho6GQdKnYoYPps6MnCnQtgcDzikilqAKgUAteOW/Ohg55nvYb5c+NoHFAX/P79kXGTfg4IB9wsaxRfk9di95PQuwEP0P9iN6Pg+pI1sejDgJQeS3esgHIukIDJ+I3smfY6Py0FkSppE3W6xs/Zjj/YAsXFZj0lpi6lWBNe+bYulaUIDlYOTEYO6swrWLHnRVZlVpA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DBAPR03MB6406.eurprd03.prod.outlook.com (2603:10a6:10:190::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan 2022 21:35:05 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:05 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:41 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [X/EbqmCaKv45fIeMmfaPOqEgmwnZyo6a] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d985fc26-b2fa-4769-076f-08d9e113b780 X-MS-TrafficTypeDiagnostic: DBAPR03MB6406:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ouH/cpEQ5kmQ6sqd9N73T1yeXcsdplyDR1nwyfqaPCA7VcR5Ce7noLxYxsnEXANQqWgMFLWpyevYmd4wRn/snGkepLc5ws1dAJ0RygxBIHZ/mCNTzwMqKpwZbRPc+Nw4XtFYk8GfQ9nB8bFvVY04IhmKN475G5soQ3R1fFArbNuiiIkhYbzqupzkJnu14/2eG90Mg0RBuLQpsSWeNdnUmsRgNmK50kig6zMH3GQ9FPS3P9B794ReY6sME1fNZ9657QZPEACXjwpHEi1lWRNQmmtFBTCigB0jJjj7h0Z3gDPFHWFif7B/o6kve+ASo1yuY3Ay59w8y0sgP5T2k2AOTCBVQw+SKeZS0ScWkO3FXFDtXrRZZSP0xmakiQ+CIQSEEd3Ely4Qs9v2oPg1yRYwdHVGCNU1v5eVnLr7Upuv2wH+CGWBwkMmzLPmj4OBdIiJ15sYXB3LXo1LYdlZHInFSBJYs8xF/xoloOxl4xbtdApE9+eQcHuypjbbFtv3vD1MTfbmjtjwhsSQno2SQKVepqI1YrCOqQmELLQWcJRiXY/na2IoKmQF+02qt6/4e1OU X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XFXkMhgAv9JJVGZ0hzAt+pqZ5BiNH1p2i0+oWvTtcpnhV4pmaNIyPVnvbSSLFiY1Q0Mo9Z6P+9SBzOCXIviDLYHp/+a3YTJgBgyzxIrEUFwe5mvSeFAppOmVIXNoL2vsytQAq3ijJs4wS3fGux0Y/sux8JcLgwRmnnNSJOHnNr2MRkD9dtA1gRlUa2KztVwRAElDH92LXXlLNC3y9RRYn7cZLGwrfw9aZp77YkBU0i48LNnvw6bZ0unkC5g+oD4RqhiLs6OKVryUNj2PHjN4aQmKvPF9NFupXnKEAE7CHiTWPf4LdhFCfx0kU4erppW1AaqH9KQc6d9sVY4W3D29rFs6IVY4uJMabvAdgsSjsKyxL9yIRencZ+pPR7t7K5EFGUm8X3A+6jOud+3k8LQmK0X9FsoVddU+5ow7bHhc/7mDNhiFG/wh15y3ASh0Edjftr9lWUvzjQU4ehp+vpvf1Gwa+7nFnxQHjruOsw40n4M6InW1WpFnjCC9jI+tpgOL4qamM3fxSIvmXyGUwc28TBzDjq1P1FYY3elPRIBb1CNhs0rfAODasnzwY52BJZ3u3sUY1oLu/WMqZ5QI4f3FrFn4+mutPllqmVkEkXS47rNbo+vL0+M1QZnirKSQ9V+Qgz4PwYaYrG3JrMRI0KtTvrKsk2lpjEfJj7eomH2B3VcQq60RXnSNQoogcRU6psh4JC1QQV+Mn6GtfRpKfrHtFi6mrSLxJ++aK+67bWpdYbozx8rd/HboCqckF50X1kBchhjMXXrMOTvq2Qimmj12ozm8mPXKzW/m+09S/dSqRy7Vub9hx9+2cXLpHRFGDblVLVTcXeOVlZyUAAs1NePXctXHJ+rFpWmcsVEUsOVl+6lmNtuAtNDRTYyv/hJT62s8l2fYSBLhFqrzfDZvdeeI3TiLeA9EPWPXJ372BC0GpZ+zV8vYILyphD/SHW7n7QB6G16KmX1CzHBFDDEkpbCp3A== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d985fc26-b2fa-4769-076f-08d9e113b780 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:04.9978 (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: DBAPR03MB6406 Subject: [FFmpeg-devel] [PATCH 23/33] avcodec/mpegvideo_enc: Don't hardcode list of codecs supporting bframes 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: recitSpb9Bxe Check for the encoder's AV_CODEC_CAP_DELAY instead. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 920cb337a1..9a5634c505 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -357,10 +357,7 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) } s->max_b_frames = avctx->max_b_frames; s->codec_id = avctx->codec->id; - if (s->max_b_frames && - s->codec_id != AV_CODEC_ID_MPEG4 && - s->codec_id != AV_CODEC_ID_MPEG1VIDEO && - s->codec_id != AV_CODEC_ID_MPEG2VIDEO) { + if (s->max_b_frames && !(avctx->codec->capabilities & AV_CODEC_CAP_DELAY)) { av_log(avctx, AV_LOG_ERROR, "B-frames not supported by codec\n"); return AVERROR(EINVAL); } From patchwork Wed Jan 26 21:34:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33866 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1882263iov; Wed, 26 Jan 2022 13:35:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJwYdynlVN60qBlwhiLM9nb1PmTiD2iQxvCVhSJ2844qG2QEtgxnGaSk6zu3RYXA2YYVzcja X-Received: by 2002:a17:906:58d4:: with SMTP id e20mr459901ejs.769.1643232932408; Wed, 26 Jan 2022 13:35:32 -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 c15si232790ede.581.2022.01.26.13.35.31; Wed, 26 Jan 2022 13:35:32 -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=vSgGIqx2; 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 4686C68B11E; Wed, 26 Jan 2022 23:35:18 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071048.outbound.protection.outlook.com [40.92.71.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B8AE168AF21 for ; Wed, 26 Jan 2022 23:35:11 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eCcxFFYxQkqdmF87fNGN9jMMbrRMnXbXpw977xGxhby7r4lfJvM1P9nJEL1wdemlYhr22zigJT4hhHGDndY8ABaRZ8kIT+UcdIdAN0WNKDjYldwDm0nIMWaNQ8HU9I7+ElXRhuwVQmKy0LSQQ5zCHPB3H9Utbm3jC/vDpPtMo9egQOdr5m7080nEbYfq7eI0AxymPjMZHSCJtZ82O7S/XpPzrUDFkLgCyUPuaB3wOMFegYbA61lK14GZ7WDlzDCisZEzVaqZZCfHhryolVx8ZNR8nCWijn/o5tS3dBRL/8IdOQvP+XqxFkNaHKdhCojeJQcpSD80pxdedmKJwFJAKQ== 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=Hg0bYB8uEN2W2kH4fKL4QaSoWfG3Ixl/Mv3+iPCEq2U=; b=k06i2TZbsH1Z1hl8ksvux8lQdMFt68FC82FZRu/1SbkRNjS3Nb72TBP+aruGD62mstTlW7o7P7qUfUtdYncPG8Pn4mdsGrNcZF8RRiphCzP+tW2Mwe5BDeXSjnublvl3N1myl1NVHeSlAYbh5bXf9JCCKEcBgg0ywDVCt3CH/1xTZbvJ5HqGm3ztccj6HL8sk0vum6aLxsEZhaWkZtInwYvGZPYqIaQdzRuOKcjji/kOv2WVhOuo9IiliIWxJ+KxYAsSkQSZ3GGiuDmRyWDWPAb8Ybq0S/y6C6gS4VfyFdvCH05gRjSDbpqfMk8eQFOV9Bs+bz9LNnLy/ifO4OZSkw== 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=Hg0bYB8uEN2W2kH4fKL4QaSoWfG3Ixl/Mv3+iPCEq2U=; b=vSgGIqx2FxotjpFphQAAlZkr7NcG6OeeGLlGudUQ1RyUSrB2wy12ZP6oNx9d4vZNyTnCcEid6HwahxSyVmCh1/C76OTpuX1dH3tdgyStHMfOd6IUc34J+z3F1bx4gWp5je47z1xmeF2NgDSp4xB59jR6xCOJe/hEsyAMyeYeG9v8ghRpg/LRucFrPeDvfUYom+O2oGSwJtpOZRA8XylEnz4mMS/spW30bJubyWpKLHG+8Ozb6olc3vP5ulnfwNkQdqKpJYUIk8jr6Wd3VhPxRYpznQid0ZxZI3P89521VhTcxwXGu0CthsU5l66eh2JZLZQsAJGffAoiZr6o9WVFxw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DBAPR03MB6406.eurprd03.prod.outlook.com (2603:10a6:10:190::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan 2022 21:35:09 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:09 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:42 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [d/95gDshTBRHkYTcqMKYCYayZJkYQiNM] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c51881b2-a736-4410-12e5-08d9e113b9e5 X-MS-TrafficTypeDiagnostic: DBAPR03MB6406:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kgE7xVSERnkuPiwQkKN0iIPdsnPRLTS2+6VKU3EHgN4Yaj1I1uXUJ4h3dKnKooLyvwYlwdXPUVIC8zORzgx8lVOm1QkbD6iU6KWaY+QdQLGjs9T4msTgStJWDYYe3v/yILusGd0EuftWMKL0zDPYvSwyyBbnfAdyQkUOEje3lr22ldVnsPqAq7pq5GL3RUdYiXGlhQmHB7bjfOUf/U60m2p2xb4c/LoKaNGZD+74nuDb1McpWXyE8LcRxnUjs5PF3HXcsrHiwFxPeTHSVxcVMnyhQYky/u/btMmkt7xLBdqNN1oUGvSWE5ST7YMaOxKLlsuIFxV64KkkUmPm3k9EhyCebZ/Sf+KpD1Xv1OREL7w6ETw2ifaKyis9pvSSwmDeJvhYKAV4jKwdMzJdeAf8K9+hap7lMPRivF5oQrHQPGJwDfGQrhzBtgtUCHqK6cOiZ/eRfImeOM/Z1BoCkrnPJuvmSndHnhVix634Q1/3WO6dM+Qq1lhLE5qD3/8vEURHPytN6PLq2mtLiBJaZNi9lwICgkrsEasq+whJYz6YCs148VPRiWxtYnA8CXIU7o/azkvH1niosp5uuTVYd8I2cvVWSHBFjqrFaxnmOIVD2Ac= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: HySQsp+IQJ5ytb/Bpis0/DVlQwaFmQX/bvZNwyCQba243uGbaQch8HEerzbAlZPhl4S20m6GnOL3p2Q3UYkkTgd2U5XF5fEWiMemxHkGAhGg2Fe+n5zmfSfAs14DqRNSypoCVRG5DA1AB5QJItWooGb/EOF0Gta/eHl+yltuCLYXT4ccNVacesvPYWJAWAG+o7IalEAsG4tncdVOYixoc4nzqx0CBwpQsv+fTcg+SyShG4Ftt1ITZdFDmeQXCAgCAovdPA0AzIVOose54BNSnGLuwDScfLw46vfol79FIxuR9AICGnlaygzXRtXAuQmtRIb6AuIRgqT/XH81cp/vXxFVxVYEXLnCVPjXEk4onMv2mcqSlXW7+97rm+AjGjaTKOpGOAnEQWH0abh5eiaiFn+cr9jqiNqSGZ0I8MSNXsm+U39zacYXqj0OjaeeztUikA1Q4Tpj6ZiGDd8kFgSIWlLFFC9oygWAixIqv+a4FiLcCMjmzrnAsdhWNIDY5ozB0voipcPnGIUOykyZsCxx9+fYyk49cWKN7v1CzgoO3kow4A/mo8fIZqT+A2/KkNNZOWEaEfsmBuynWy1D5swzH0YCNn5Jix6sG16mJD0HDf4KoY3uZ9u/WrJLEh8woWGuMPgFq0B9YbWY9bZgsQN2t+s/UpcCCpr5+QPcpGy1aOQWIuhT9WNQ3q7GbsG9RQYNJaazHrZJ0o7hteuPqAutdCO7z7pxbu7/3DeZx2b0I7n3I4ozsFvJpASV/RmZosGWQSfJUcTGMjLtMznqwsEBWunSxpm7ppnAYB67aq1Vhcs6wg3f389zdWO+pV2QekY7sdnMowlRh7poxOvhIgkP1iq+EIo1TZeWrNMYDnPZvUWJGwtmaU6QhGpgpv/MX51t/FimGUQOvN18xlFvuOu1XZ3cfCuKc0GmCX47W65vwn7HGFRYC/2w9cELVP8Ij287jGdyq5x2vk8brCTSWUKw5Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c51881b2-a736-4410-12e5-08d9e113b9e5 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:08.9998 (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: DBAPR03MB6406 Subject: [FFmpeg-devel] [PATCH 24/33] avcodec/mpegvideo: Fix off-by-one error when decoding >8 bit MPEG-4 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: YvUe+GrqfZ6l Fixes visual corruptions on two macroblocks from two frames from https://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4447/A003C003_SR_422_23.98p.mxf Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index e9f2fb212a..47603c2991 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1648,8 +1648,8 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], int vsub = i ? s->chroma_y_shift : 0; int hsub = i ? s->chroma_x_shift : 0; dest_pcm[i] += (linesize[i] / 2) * ((16 >> vsub) - 1); - for(h = (16 >> vsub)-1; h >= 1; h--){ - for(w = (16 >> hsub)-1; w >= 1; w--) + for (h = (16 >> vsub) - 1; h >= 0; h--) { + for (w = (16 >> hsub) - 1; w >= 0; w--) dest_pcm[i][w] = (*s->dpcm_macroblock)[i][idx++]; dest_pcm[i] -= linesize[i] / 2; } From patchwork Wed Jan 26 21:34:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33867 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1882352iov; Wed, 26 Jan 2022 13:35:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJwtLvfBjwknGPkdiFrQc4KbCFG+/euZrjL3/nF4MqhjofuAkOA5uVGXaIcvEegwN2ZixbPY X-Received: by 2002:a05:6402:519:: with SMTP id m25mr952783edv.130.1643232941035; Wed, 26 Jan 2022 13:35:41 -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 ne33si261534ejc.3.2022.01.26.13.35.40; Wed, 26 Jan 2022 13:35:41 -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=eVKWT8xC; 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 3A4A268B143; Wed, 26 Jan 2022 23:35:19 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071048.outbound.protection.outlook.com [40.92.71.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E63DD68B0D1 for ; Wed, 26 Jan 2022 23:35:16 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EZaWJMGQZhGKyP6aU8a9PRRcTWoQ0pbiDMEmhx0uEL+DBxI93HX7roAM1usIKp3TaELd112S/PT2cTIuKfoXBeKzq5kNQlBDmjG6u63zk3xtTn3/2l8vTBH7/9w/p+TSJo79grWL3zkmKR8GLyoT0kWxp2etHz/kElE4c5qm6pjsSt321cjMTg0SeVa7tykdN9PjDmP+2nQEHzLdvCxhHoSH4TpWO4ln0PbMnuarU3+lFigO0V8eLnUXUu1VqeSAywKXMZe/oqYIyHJyINwPS+fvPb3DiAWadFgZNx3A6ciyvQ1cBKWPxxHRjcGz20XdX1l2jb5KDS6C3IMr0+73GA== 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=mUgM33gVqzbZCvp/+6DlhhY54ic4AqFPota2bcPDbPY=; b=XBurR4kH2hSAYviDWkNkrB/Ma0zvQOE5eAQ6xlmuv9wwvklFHfSHA9Mk9suf9gAUPJht9Jtj3ZX2Ew5BTVqgrW+pBaxxCHzRCi4BYCrqcdcxWWXvOYpRMgLxWCiiBG07aIzM7iUwy+1PGx0k7HqFijE5GSTtEVDSitFRPblyidQj0qzmclPTa4MSLlkfAlie4kpPZRFH0EWeW14+JOIDdZQs0E+pq9pZygIVY46qm//Dvpa5ky8mzP1fLRBXaXWKBoj5cwS65hpyUodswewtEITASBMo+8uW8fEhrZiBapXi2yv8y00/33e6w2mbwfhHGNqgCQAIv+4v37iFdFTJaw== 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=mUgM33gVqzbZCvp/+6DlhhY54ic4AqFPota2bcPDbPY=; b=eVKWT8xCEI21rqjKZh7hmio/cSGRpHiOnGUwtwc0xnoDtVNljbUFvCCLPO2u2/jY2BvIcLDLGVFlfOqQKVxY1Fn+0p6dQjz+mEt5uZOLWjvYNMAESLNO/DTGYFVfmAoFQk31Vc1OjxeqFNIsAe9crSFwBMCPF+1C6LqJynRJmv+ljhYgF20NBSyTjJDoaNORIaTKc/ks/nRSXrZTFzpHdoDKDJN4QTKpen7Edz8uAHmZDrLlj49JsGZhSnyGnvnuJNh6TIwhZz8bL5YtlLUeJgyk9k0UQgQKWScP+S0lf0p6C223xkadXKH7t5j1i+nW0+K6aSgy2iA7ddo7u/ZyeQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DBAPR03MB6406.eurprd03.prod.outlook.com (2603:10a6:10:190::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan 2022 21:35:10 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:10 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:43 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [TT6QvKbL1zwvhK4jLC3VBDRHw2oK3Mtb] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f0cc1fd0-6dc2-4404-a72a-08d9e113bab4 X-MS-TrafficTypeDiagnostic: DBAPR03MB6406:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3ZkHpOlfc2+LdjJNsA4+YiTogGri5QsYmw9LvOmn6QX8WYJ/bFJ5O4dpT4WERbDJ3yVeAsd0dj4vYmd846DyEGuZmV85Cm9RTs4kmhD+AQyJhot9Dpko3RV47B/8b6B/N+9jI9R4+dWplCSyJAW4Q0m/9XWOvEfsAC6p3YPV4Hugk0NupFUWcBbLF48oK4d2G4EgzsSV7DmXokoC9jnacLSHy/CBkH989Fw6Ag8eCWyI1rcHs67MocBw6c8+P0AZEPaIFgZKnjcVp+lAeQZjJld5ZLFzjWtR0uVwArkYxcwLqTZbohuEPKsopMlJn2wsHoVqPusz7TuBfxMw1wetWq+O1GYXYJBzWH/UNmpgQZbFnULRWUE2U4oQh1hgc83MoSb+eqcZ/dItMT/zdN95DAUtmwA8hO84doAVsByv+Aw7p9Y5kcRT5aIzhU588RK/x7wphiQnBQSUiIMkMYJf9dGvglEP487zsR2kHbiXj/Y3SFL+EK3rblZmRiBErftUt7ZHlkv7bezt/dl+e8H4zChfmPJNbWSovyzBW86vbDDpz7bPvC8180fBG+C6CcS9 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: m8GW3xKNO7RnaGHEnqmpTpTAVOQI29pwZ3gc0mPrk6sDKhWUJRCn2MmL5rthgZJZRkgSpCLfXLm26W/tItJo/Ob7pLiZ6S25qmsaE1PBOzOskPX3DekERf0RY3n3x7YzC9Qsv0qOeTNvaiO7bxF12OtFnDOxpIzHroPc1e/JHZVOvYXcVlsSpdmqaPT9LjxsIBGLu/WZAxHCanKfXAqQwTpRRX05ZBMUqeXRJHZG3/SznAleQwscZf7bkJGTPJrPcTFYiKhfEJJ0ndCgDLk6MZKVpyis225Ni2f6g7Bb6+vgFEoP3isjPptwzvT5Dd8LwKG7+LbGkXjSve2XQJHBulucsJC0kdDVgHKoosIaoVXj/4iKM4wAwN8tEw6wLoJBHushK0RkETtM6rtqyF3AQG0L8oHPYvWVv4Rp9mUAwUYVAXR5Exw6ahbBeJclZmxDWuixYGsB6BELXXQ73ZgnSMSj3viwJ5rsmuEXJW4lc9CUhvWjWY5yMr5II26X74Z8Ax2Ot0YUOY9SdL+0C23u8n7RxNFKshGSnsVby1lPxtjpYICrE6iexCWaaKp3p9DlRa/BDtraUPEdQvS2pDCcl9jDvqvo7Y7g1v7Ac1EKoa5Vy9NxSWChW42F+eRoK6ybeTWBn7s5tWB+WkbKNNe9+l5laXPNzHylLPyM0uZbNGDsk2tCRn6AkIxYxWEjNaD5AZ8YG+gYj8feJmo3iqR4Fks2LY6GTQ2mCK3Jy8Ms2ILWTsFnfuGT0wkJzW8Zc5oARFskYqOYy2bEwf6ncDIkrgfG+Atw10+QYwAA8FBGiSW61W0ED25rXvfKRcJW3wYzMEsleDV4egCrWgM8yxIYukF1Em3EmW8kNCgwERh388OYF7NDCdN5zgJHK9Or8fUDpsxdDljQ4QF+3b1xhT/Ebxw8DUWHDM4oBCWK/LR+FtNVg0hsUq1+6ZEkjJ/LcmnzvWKPRvgg0AWC8b/ndGSn6g== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0cc1fd0-6dc2-4404-a72a-08d9e113bab4 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:10.3602 (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: DBAPR03MB6406 Subject: [FFmpeg-devel] [PATCH 25/33] avcodec/mpegvideo: Fix crash when using lowres with 10bit MPEG-4 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: M36Yxe/qpyzO In this case the macroblocks written to are smaller, yet the MPEG-4 Simple Studio Profile code for 10bit DPCM ignored this; e.g. in case of lowres = 2 or = 3, the sample mpeg4_sstp_dpcm.m4v from the FATE-suite reads beyond the end of the buffer. This commit fixes this by taking lowres into account. The DPCM macroblocks of the aforementioned sample look as good as can be expected after this patch; yet the non-DPCM coded macroblocks are simply corrupt. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 47603c2991..40494fe115 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -1629,13 +1629,17 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], uint16_t *dest_pcm[3] = {(uint16_t*)dest_y, (uint16_t*)dest_cb, (uint16_t*)dest_cr}; int linesize[3] = {dct_linesize, uvlinesize, uvlinesize}; for(i = 0; i < 3; i++) { + const int16_t *src = (*s->dpcm_macroblock)[i]; int idx = 0; int vsub = i ? s->chroma_y_shift : 0; int hsub = i ? s->chroma_x_shift : 0; - for(h = 0; h < (16 >> vsub); h++){ - for(w = 0; w < (16 >> hsub); w++) - dest_pcm[i][w] = (*s->dpcm_macroblock)[i][idx++]; + int lowres = lowres_flag ? s->avctx->lowres : 0; + int step = 1 << lowres; + for (h = 0; h < (16 >> (vsub + lowres)); h++){ + for (w = 0, idx = 0; w < (16 >> (hsub + lowres)); w++, idx += step) + dest_pcm[i][w] = src[idx]; dest_pcm[i] += linesize[i] / 2; + src += (16 >> hsub) * step; } } } else { @@ -1644,13 +1648,17 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], int linesize[3] = {dct_linesize, uvlinesize, uvlinesize}; av_assert2(s->dpcm_direction == -1); for(i = 0; i < 3; i++) { + const int16_t *src = (*s->dpcm_macroblock)[i]; int idx = 0; int vsub = i ? s->chroma_y_shift : 0; int hsub = i ? s->chroma_x_shift : 0; + int lowres = lowres_flag ? s->avctx->lowres : 0; + int step = 1 << lowres; dest_pcm[i] += (linesize[i] / 2) * ((16 >> vsub) - 1); - for (h = (16 >> vsub) - 1; h >= 0; h--) { - for (w = (16 >> hsub) - 1; w >= 0; w--) - dest_pcm[i][w] = (*s->dpcm_macroblock)[i][idx++]; + for (h = (16 >> (vsub + lowres)) - 1; h >= 0; h--){ + for (w = (16 >> (hsub + lowres)) - 1, idx = 0; w >= 0; w--, idx += step) + dest_pcm[i][w] = src[idx]; + src += step * (16 >> hsub); dest_pcm[i] -= linesize[i] / 2; } } From patchwork Wed Jan 26 21:34:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33868 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1882476iov; Wed, 26 Jan 2022 13:35:51 -0800 (PST) X-Google-Smtp-Source: ABdhPJxMVZKYQFHP0LXdMB4EysQKNZd3eheQFJUDJvr6aSZ07Xtv5CWoNHX07MUg9CMCeDC4DQDO X-Received: by 2002:a17:906:d553:: with SMTP id cr19mr532605ejc.65.1643232950936; Wed, 26 Jan 2022 13:35:50 -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 z16si228281edx.328.2022.01.26.13.35.50; Wed, 26 Jan 2022 13:35:50 -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="ByvS/m/t"; 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 28EA768B0BB; Wed, 26 Jan 2022 23:35:20 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071048.outbound.protection.outlook.com [40.92.71.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1F85568B0D1 for ; Wed, 26 Jan 2022 23:35:17 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XgDm+tzifdOtF4sfJodhczvHOrBaZF8H9RI36Nh8uFRmNWTtEggTrRn72kQmXX1RWhq9/6MaNDquBnMgqc0xfLBNQSDvuAoJ3uZr12vxbTRR7WLyco/XxACWp9za4EV2q+ZDSNPfaI2V/yjjFmiVd5cKbL9R3RPSE2sepid7paQEfy4LxxZEGye70ijGh6qQFKQpO7f05INxgAvlZQQSLoaPE+MYi49s0HShnZhoRu+J5W5OPMu16x9wGNByMmBRzbE9Gn5yKLgkUAs00kaNYCzrM1ImI15u/2LtxwoDgBeZqvtoVSQRQUmKtHs+IAExwL7NuNpXZoiVRKP0dv3Kdw== 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=jMzu/HFiPLieDwDRkPojI8cJdcuamyXexV0WUlA2wSc=; b=W/Uje2yt5l68LjRPhu7UMp6rfCkyp9JvrM7+hTGuNdcBuMwFmC98komuavsoou5WlMKlM6V4/C7qx/erRh7YLOpDInsnUznt6xBEoR+uc1DD7eaRJ51nhUbjai6gqzdxy0B9cPViPJs/w7hgoyi1mpTQ+3CU1DIhsUY4m4XtHqIvE3L8R8i4F5gzRDZLiTbXdzqgXISCHrubBVwKS/RF2LTKfOAk+k+QgA7bxLp6gcVn9wEVHMd3qctQOS41BIKrnwa9UXSnIaI3g2k8/90bY8DVbn5OAVR0XDGdWABLqzgxP1rxnbIPY3XGxsZ3veI26NaZ++ns7XDce6TJtFz+iQ== 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=jMzu/HFiPLieDwDRkPojI8cJdcuamyXexV0WUlA2wSc=; b=ByvS/m/t6i2xOStV2qMiGgRorJRrou3JEBl0MBCblPvSSf6G5PEPIueAsX/C1fi/V2/ySNjcdfxZQZVFZzotq5mDlR9XZktuQur0worCjRE3pdAaG3HcHqQ1EbWHLm6fD/QiyT6Rtm9m/ZSvu18l0MOv1yn9ygSS0wrOZCVq/TossWA4o+G+lhKr1gb3BX6HhjjexCVgQn9dcltijTWsE+/893EtG4rzj1zqqXGlDIbJY+7cNQ+XKG+dVYXKqmobgpBKRbhm1xa078v9HOB59aK3Xtmcu90rxXj89Z3w4uRcbWBRlHBfr4wUu6AiVZSBobFsvjIHD932ZTLbumBl2g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DBAPR03MB6406.eurprd03.prod.outlook.com (2603:10a6:10:190::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan 2022 21:35:11 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:11 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:44 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [lSqF2tW+5FSgPh1mOUg7IjqeyEzB/AE1] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a5e1b684-6473-47da-4dac-08d9e113bb22 X-MS-TrafficTypeDiagnostic: DBAPR03MB6406:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4MwC4mRCSgAhH/io9ruF74yWChuEuGk9aY605Z7ij9TedJ/Fvouo5TVWD1wVQ1HbhZgTq4PUJ2i08EPOy40JXXigJ3EyvfjnS445qdRUI5VcEfsxTrIdeoLjfuMuYo1Hhd91u0pV5QL7ZsdmW+kRVDahhXLHWlPLKSoN3yJnhFdd9UrcdIF688uKuJJTG2xTurwrJoBfy4Tt5P3Opn3felETbqbqqeLROm9U4l+RdjYJuv9NR0aKrEFmzCkyEC7oKjRY5Db+/B71I/ZW25lZgrCjcaiqTXy2/ORXRcmo2h7raGIlhk2zkiw+89hmjROoy33GSdq+qXMUNCZQSLXyyjZjxupCac8SINR31uZS0QpjaEnUDt0tf5QmwIJTdIRIRpHxZq/2OcOCEF5nme01ZlQvmOOoA/qDpyIx/cviTcVy9d82E8jUkhL09k0+Ioqc3yZhLlKDEYfXEaFwZjh6aKbIphRQRD7cAo696gXhsKX0MIXBw6EC8XlTQTUXyAnCvm+lO0HuhXbx1rbLJqpuQdfPcnB4FM2jEqzvwgfBd/3Wdhp7WhUZiSExXl2kJiWt X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: O4A9PjMFYKy9rm1gY8pJqWiHTuMTRg6wlpqrKM7/aiVItLeEVs4y5TNZcyDsxb1V5nI7J73EvuXFJnVkWqYVcuqUZoKVlNlOFct9vkq0BltLWJDd4MU+6zlp2yIEzBYu9sRhLB3Dt6+wW9CwbaCJV0f4gQfAj+mEDQaUdsYYjG3k8Qxcs30+kCZ7OIa6gvm7+gNQoE2Z2zlsN7KWfIbxcsxDfP1T+8JWZd/3c5S9yVqy/IbRKFwGFBhHu0s7t3TU6QdvC7JGAK9prIJEPt0WII34oT5Lh2lezzpKbm0Wy4e95aDVVd3X+I8UR0+TQ0vI/Zw6QFfATIpK3IIjcr4MZn6AJSnojt0inFZcAM+HzaCuqU/bLYlvzi6nemZp+9sxA6yV9W8DFlnyA42OsfKeNmqACaWClAwo1f45g/E7Avi58YUCZItL8SOza4uk2IQPlzcWobgraAFWptOsQrRSE2m7y8Jn3ti96DKeJu/N3eb1qLq+ZRhUR3dZgbDnpEHliD2CU8VYfBkCUaVEsiz0ocvFcId8epR5w3wX6nPDj01z1hQDAiM7b8jpsSKlESmvCpgiCDv5npc/+XL5uusutlh22g0Uyvt0d/NGf3dBo1c03ZXF36WThgKiQ7vrBYc+8IB6ZKwKLL94+eeb1nB2ZcpbXssjeyc0p+OTluwTmy0chrdKBX1LJiu80f8ZU9Fox5M1XNakr1y06oLu7LqXFD9692V4YZhnp/avirDUE1uEE+OXpy9HdS7F6j9Y9FUlr9JSpEQO32KQUeBdQ4PJywMcybBuDdEDR9UkXpbediipjn955nXrrGP2h+RRYFW+W2RCoG6BCgb4mu7KHr1tPsI55fgpxzfJ/PVq/9bbAlYapi5x9auqqCXfsS27VI/N+3Xa99umaQwEDR2YFfo6QNFwMRj12k9vS7DTxfVN87xexcBqGDALTRnk1UxmGxiEWiWdCE3om153jn8qb7LH3A== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a5e1b684-6473-47da-4dac-08d9e113bb22 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:11.0788 (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: DBAPR03MB6406 Subject: [FFmpeg-devel] [PATCH 26/33] fate/mpeg4: Add test for MPEG-4 Simple Studio Profile 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: hD/llNeFITgR The sample mpeg4/mpeg4_sstp_dpcm.m4v existed in the FATE-suite, but it was surprisingly unused. Signed-off-by: Andreas Rheinhardt --- Will hopefully work on all arches. tests/fate/mpeg4.mak | 5 +++++ tests/ref/fate/mpeg4-simple-studio-profile | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 tests/ref/fate/mpeg4-simple-studio-profile diff --git a/tests/fate/mpeg4.mak b/tests/fate/mpeg4.mak index 26007f82f0..05c26b9be5 100644 --- a/tests/fate/mpeg4.mak +++ b/tests/fate/mpeg4.mak @@ -11,6 +11,11 @@ FATE_MPEG4-$(call ALLYES, AVI_DEMUXER MPEG4_UNPACK_BFRAMES_BSF AVI_MUXER) += fat fate-mpeg4-packed: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg4/packed_bframes.avi -flags +bitexact -fflags +bitexact -vsync cfr FATE_MPEG4-$(call ALLYES, AVI_DEMUXER MPEG4_DECODER) += fate-mpeg4-packed +FATE_MPEG4-$(call ALLYES, FILE_PROTOCOL M4V_DEMUXER MPEG4_DECODER SCALE_FILTER \ + RAWVIDEO_ENCODER FRAMECRC_MUXER PIPE_PROTOCOL) \ + += fate-mpeg4-simple-studio-profile +fate-mpeg4-simple-studio-profile: CMD = framecrc -bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg4/mpeg4_sstp_dpcm.m4v -sws_flags +accurate_rnd+bitexact -pix_fmt yuv422p10le -vf scale + FATE_MPEG4-$(call DEMDEC, M4V, MPEG4) += fate-m4v fate-m4v-cfr fate-m4v: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg4/demo.m4v fate-m4v-cfr: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg4/demo.m4v -vf fps=5 diff --git a/tests/ref/fate/mpeg4-simple-studio-profile b/tests/ref/fate/mpeg4-simple-studio-profile new file mode 100644 index 0000000000..303265ae1a --- /dev/null +++ b/tests/ref/fate/mpeg4-simple-studio-profile @@ -0,0 +1,6 @@ +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 720x480 +#sar 0: 1/1 +0, 0, 0, 1, 1382400, 0x3d252879 From patchwork Wed Jan 26 21:34:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33869 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1882595iov; Wed, 26 Jan 2022 13:36:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJxBE0lKwK3ieGkvHZ1Kw2IsK8X08VIlfjEremfYE3CL5bovwntV7q0lJwkOcVZ/BkI1qoEZ X-Received: by 2002:a17:906:e0cb:: with SMTP id gl11mr524599ejb.135.1643232961299; Wed, 26 Jan 2022 13:36:01 -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 m25si209499ejn.613.2022.01.26.13.36.00; Wed, 26 Jan 2022 13:36:01 -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=EcV2wB1b; 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 EC1EC68B172; Wed, 26 Jan 2022 23:35:20 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071048.outbound.protection.outlook.com [40.92.71.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3AF1768B0D3 for ; Wed, 26 Jan 2022 23:35:17 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZHbB5PchtHi0bxlC3F5RXAdBNgs/vgJHBT8eNGSc5ljtq7mPufQnebkmj7VljpnQibkkGheD+tzwg6DUqvPNbl6LxFq3B5ELV+fCRY9eyyK/SAi0t8kxVaEmojZMphJemINOBW5w56kqfUX86YA7HdGsfxRY1I52W0jKeABTgaFPX2DJs0ubi7D5VtohtfZlGZVghPqvGtKhd+Lgpu5u8k8Xr9jEpvcBVxu2+NnbSi3SmX00Ypfepvq8QRvHRxLuzqeca3bJTWmepuPBajL+DqD8ZdhOFM7I+GAe65+ukbqztF8Z8f2FwJfu8mywO+J2LEAgSILRio6hXbuZrOoFBA== 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=fkKkoeNxIk2DpcvkbwrtjCRVvyqK4DezK9Zlp4tT+Es=; b=H4z3LzPr2PzvnjqMEE83LTaSUdbm3WwJUEjYKCYvsnJUYsGJbkljry9RIT8EAZC84Whk3tK3FWyF5ppejVY8czdzXovxqruCm4KYJerMeqOkGu+5vQclwQJ4cQn1rh2A9OBEEsCGAlNh8y6e0jD6nmrhKUEz3RK15EjGly6jfrHkBWTrFYuw2KZKL9tK6mpfCaA93jKmIxXiL7qtJ27bP6Kz4BnMafSvAWEIJJhm/hGZ4hQkiaOSw4qgdAwe4+aI/UIR9w3Bg4JKhBSIcDh9UQm7QvK6P3MzFP8kvz6Z0fauoV8d/wQmTXgwY3fbITLecueHDXn6brPKbgjeYXnE8g== 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=fkKkoeNxIk2DpcvkbwrtjCRVvyqK4DezK9Zlp4tT+Es=; b=EcV2wB1beCRl2ElcPidVYnvayCBecGr1N9msdV+LZsgc1xyIksYFaIW/xIlRpHbN+mxsJBXyqr/iqaIJPnU0s1WG6HS+0YivRtFIhqxeMA5v2SzF9nw/erWWXPuUqaz+UVD8jnCnsqFLCORdYsOY20YPK361nWLRp3hE20v3iMqpy/YgTVQ+z8LqueiJ6ZTbnomYB1ALUXQ3qeBDHz5JI71vtt2F636X6pkEt22pCzwkdv5hagb0hZvIssF2Kd8d2CVirosrWinu+pfVOjdSObN97nTLAbzpqjp3DWEZkZ+XatWFa0Zc2t3uJoMz0V8SKJbqR0KR3Hm0n4bwHw0xkA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DBAPR03MB6406.eurprd03.prod.outlook.com (2603:10a6:10:190::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan 2022 21:35:11 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:11 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:45 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [TfoL19UQIF144HkL3hxX1GyIRW6mUqnv] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5e844122-920d-4d38-6743-08d9e113bba5 X-MS-TrafficTypeDiagnostic: DBAPR03MB6406:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2LakNGhTARj9gKv2QupSoyU9aNjrxLAkJsiQZDdt/TFtlx3hgoDHSsroC9VPPI4z5/6Wf+sFDy2cF4d+UhuJ5owwEgO07ccSxiemZn6BvWP5Z+vj/1mfbLSL9HH2fhN9VuLIcZC9d6F5RjX5dXxwwPC4N5BOB82o+PrL96PSs2guVhY8EbaSidT21Qmtneu/pDAMBpAUkZIjCeBD+TmIEuqDN/99e4s4ekCkRFEyY9zCcqM/eQfsreYrdqiniFH2KwAXoiqnoI11iL4YW//oPrMv5v0ZygKfeDPj4NRK9y0Q32cKGwKkL8c78+tSGCMfdM59RgKsO2kgcankOtUcEKZGQqmoMnteMSFsVEQZpHocxjcrJByjqtmQmTgnwuxbU8xCEL1z8fWoi4bq14lwjAQPm9hUUnGnkwoA5ZmXPrpctHNo93osxW+6WB6iN9vt7PlN/cIFKqmXYWwZ9o3xPccvQC1kArSje4jWLinFAUqlyiXk2HbpUgEjx+48oEBO/0TAfhndQMygy8PD2tcVx8C0IM5V9mAyT+lIbw2oevQGToU8hWWB125lOpmo0TEu X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UitEFpVAIDkgAFrQ5Ckk9uUJvk+dvXbWlG8++CfJHAzJ3VBIWQPFmVZXm2ymklk23kIcHidV9LJ2xsMgS4pY9Yn3jNjoFMI38wsfH99Lcv1cKWPmRCYAeJ/Jj1+3s9/C79K0E3cC9j2iZ5VstB1RLOAXcv3pl1w9VUIQbL1peRr9fOc9nGdJ4dXbm27IFQPp9v0AbECVIcGP+8I6gku8BGyjhrKmkSs0QS+nVwWJ38bqAtHn7+0tlaku5IzDOgGdu/zoLhawS2RHglFtctfhTNDV30b9iVifQYkyDXZ1Omx99zL0ciYXhZgMduGUDAxNhHajprFKayIfBwXhJm85PB4uOIkqN30jRslnI99GIuByfQa/dYUgA70az7rRFuWaE6q++iJkBQRLVgqj7oSl+QIM5I0qH89XYEtB1/nrSiXk/iDCkKi32QZXeQbXzXfSNl1k+UyCPEel+IfD2iieykk9oi+KHrX5fAcYbjcktoEJUXikMLiOT87ckAiFpT2C/RZ74DVrfWeb68ENPlJkLiCtCCg+UHds1qNDEc9a2FMhz0sSypTh751Vf3p/TN+7TPmnKVRBKtDWA2OuA4XWolorS+y9lrKssc814LbUk/6I1cKXZEdS7oCl5vGBjpEcCK5ghlJH3jRxK8xG6yw+ccD7kV47+6MxJrLMUEoHQ9BwNHA0czZ8k2wrZCT3Fk44ZRW3i46LEHg1HN20lhmqJAGgDQyDtktIu1YtK5IYRfnsTY2I4JHH8Z2BBKLwrNaukfyT1LjwWbSJg7vhxYCOQHYLVQVvwyhw0ZCSxgp8W4H1aAo9OUJWtUT/+D5eG2RU1K3YAeDlLne87vzlWhsD5k1jUCVCKnffuGCaCz66NORM2ZAeTba/NOX8WV7pj3mSvnhQ9B/hL4wEC5nSk1KlsmQi2cvABztlufQEidpjDW/Ras6bSyOVerH7Mk/RStELqmLV260VoVEfhqDvds8Z5g== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e844122-920d-4d38-6743-08d9e113bba5 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:11.9224 (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: DBAPR03MB6406 Subject: [FFmpeg-devel] [PATCH 27/33] avcodec/mpegvideo: Move handling Simple Studio Profile to mpeg4videodec 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: uA9RT8WIATKL This is its only user. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg4video.h | 4 +++ libavcodec/mpeg4videodec.c | 62 +++++++++++++++++++++++++++++++++++ libavcodec/mpegvideo.c | 66 +++----------------------------------- 3 files changed, 71 insertions(+), 61 deletions(-) diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h index fd6b6f2863..08beb7f29f 100644 --- a/libavcodec/mpeg4video.h +++ b/libavcodec/mpeg4video.h @@ -119,6 +119,10 @@ typedef struct Mpeg4DecContext { int rgb; } Mpeg4DecContext; + +void ff_mpeg4_decode_studio(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, + uint8_t *dest_cr, int block_size, int uvlinesize, + int dct_linesize, int dct_offset); void ff_mpeg4_encode_mb(MpegEncContext *s, int16_t block[6][64], int motion_x, int motion_y); diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index bdd320b1df..fb43ad2d17 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -67,6 +67,68 @@ static const int mb_type_b_map[4] = { MB_TYPE_L0 | MB_TYPE_16x16, }; +void ff_mpeg4_decode_studio(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb, + uint8_t *dest_cr, int block_size, int uvlinesize, + int dct_linesize, int dct_offset) +{ + const int act_block_size = block_size * 2; + + if (s->dpcm_direction == 0) { + s->idsp.idct_put(dest_y, dct_linesize, (int16_t*)(*s->block32)[0]); + s->idsp.idct_put(dest_y + act_block_size, dct_linesize, (int16_t*)(*s->block32)[1]); + s->idsp.idct_put(dest_y + dct_offset, dct_linesize, (int16_t*)(*s->block32)[2]); + s->idsp.idct_put(dest_y + dct_offset + act_block_size, dct_linesize, (int16_t*)(*s->block32)[3]); + + dct_linesize = uvlinesize << s->interlaced_dct; + dct_offset = s->interlaced_dct ? uvlinesize : uvlinesize*block_size; + + s->idsp.idct_put(dest_cb, dct_linesize, (int16_t*)(*s->block32)[4]); + s->idsp.idct_put(dest_cr, dct_linesize, (int16_t*)(*s->block32)[5]); + s->idsp.idct_put(dest_cb + dct_offset, dct_linesize, (int16_t*)(*s->block32)[6]); + s->idsp.idct_put(dest_cr + dct_offset, dct_linesize, (int16_t*)(*s->block32)[7]); + if (!s->chroma_x_shift){ //Chroma444 + s->idsp.idct_put(dest_cb + act_block_size, dct_linesize, (int16_t*)(*s->block32)[8]); + s->idsp.idct_put(dest_cr + act_block_size, dct_linesize, (int16_t*)(*s->block32)[9]); + s->idsp.idct_put(dest_cb + act_block_size + dct_offset, dct_linesize, (int16_t*)(*s->block32)[10]); + s->idsp.idct_put(dest_cr + act_block_size + dct_offset, dct_linesize, (int16_t*)(*s->block32)[11]); + } + } else if(s->dpcm_direction == 1) { + uint16_t *dest_pcm[3] = {(uint16_t*)dest_y, (uint16_t*)dest_cb, (uint16_t*)dest_cr}; + int linesize[3] = {dct_linesize, uvlinesize, uvlinesize}; + for (int i = 0; i < 3; i++) { + const uint16_t *src = (*s->dpcm_macroblock)[i]; + int vsub = i ? s->chroma_y_shift : 0; + int hsub = i ? s->chroma_x_shift : 0; + int lowres = s->avctx->lowres; + int step = 1 << lowres; + for (int h = 0; h < (16 >> (vsub + lowres)); h++){ + for (int w = 0, idx = 0; w < (16 >> (hsub + lowres)); w++, idx += step) + dest_pcm[i][w] = src[idx]; + dest_pcm[i] += linesize[i] / 2; + src += (16 >> hsub) * step; + } + } + } else { + uint16_t *dest_pcm[3] = {(uint16_t*)dest_y, (uint16_t*)dest_cb, (uint16_t*)dest_cr}; + int linesize[3] = {dct_linesize, uvlinesize, uvlinesize}; + av_assert2(s->dpcm_direction == -1); + for (int i = 0; i < 3; i++) { + const uint16_t *src = (*s->dpcm_macroblock)[i]; + int vsub = i ? s->chroma_y_shift : 0; + int hsub = i ? s->chroma_x_shift : 0; + int lowres = s->avctx->lowres; + int step = 1 << lowres; + dest_pcm[i] += (linesize[i] / 2) * ((16 >> vsub) - 1); + for (int h = (16 >> (vsub + lowres)) - 1; h >= 0; h--){ + for (int w = (16 >> (hsub + lowres)) - 1, idx = 0; w >= 0; w--, idx += step) + dest_pcm[i][w] = src[idx]; + src += step * (16 >> hsub); + dest_pcm[i] -= linesize[i] / 2; + } + } + } +} + /** * Predict the ac. * @param n block index (0-3 are luma, 4-5 are chroma) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 40494fe115..a231ee52b7 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -40,6 +40,7 @@ #include "mpeg_er.h" #include "mpegutils.h" #include "mpegvideo.h" +#include "mpeg4video.h" #include "mpegvideodata.h" #include "qpeldsp.h" #include "thread.h" @@ -1602,67 +1603,10 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64], } else { /* Only MPEG-4 Simple Studio Profile is supported in > 8-bit mode. TODO: Integrate 10-bit properly into mpegvideo.c so that ER works properly */ - if (!is_mpeg12 && s->avctx->bits_per_raw_sample > 8) { - const int act_block_size = block_size * 2; - - if(s->dpcm_direction == 0) { - s->idsp.idct_put(dest_y, dct_linesize, (int16_t*)(*s->block32)[0]); - s->idsp.idct_put(dest_y + act_block_size, dct_linesize, (int16_t*)(*s->block32)[1]); - s->idsp.idct_put(dest_y + dct_offset, dct_linesize, (int16_t*)(*s->block32)[2]); - s->idsp.idct_put(dest_y + dct_offset + act_block_size, dct_linesize, (int16_t*)(*s->block32)[3]); - - dct_linesize = uvlinesize << s->interlaced_dct; - dct_offset = s->interlaced_dct ? uvlinesize : uvlinesize*block_size; - - s->idsp.idct_put(dest_cb, dct_linesize, (int16_t*)(*s->block32)[4]); - s->idsp.idct_put(dest_cr, dct_linesize, (int16_t*)(*s->block32)[5]); - s->idsp.idct_put(dest_cb + dct_offset, dct_linesize, (int16_t*)(*s->block32)[6]); - s->idsp.idct_put(dest_cr + dct_offset, dct_linesize, (int16_t*)(*s->block32)[7]); - if(!s->chroma_x_shift){//Chroma444 - s->idsp.idct_put(dest_cb + act_block_size, dct_linesize, (int16_t*)(*s->block32)[8]); - s->idsp.idct_put(dest_cr + act_block_size, dct_linesize, (int16_t*)(*s->block32)[9]); - s->idsp.idct_put(dest_cb + act_block_size + dct_offset, dct_linesize, (int16_t*)(*s->block32)[10]); - s->idsp.idct_put(dest_cr + act_block_size + dct_offset, dct_linesize, (int16_t*)(*s->block32)[11]); - } - } else if(s->dpcm_direction == 1) { - int i, w, h; - uint16_t *dest_pcm[3] = {(uint16_t*)dest_y, (uint16_t*)dest_cb, (uint16_t*)dest_cr}; - int linesize[3] = {dct_linesize, uvlinesize, uvlinesize}; - for(i = 0; i < 3; i++) { - const int16_t *src = (*s->dpcm_macroblock)[i]; - int idx = 0; - int vsub = i ? s->chroma_y_shift : 0; - int hsub = i ? s->chroma_x_shift : 0; - int lowres = lowres_flag ? s->avctx->lowres : 0; - int step = 1 << lowres; - for (h = 0; h < (16 >> (vsub + lowres)); h++){ - for (w = 0, idx = 0; w < (16 >> (hsub + lowres)); w++, idx += step) - dest_pcm[i][w] = src[idx]; - dest_pcm[i] += linesize[i] / 2; - src += (16 >> hsub) * step; - } - } - } else { - int i, w, h; - uint16_t *dest_pcm[3] = {(uint16_t*)dest_y, (uint16_t*)dest_cb, (uint16_t*)dest_cr}; - int linesize[3] = {dct_linesize, uvlinesize, uvlinesize}; - av_assert2(s->dpcm_direction == -1); - for(i = 0; i < 3; i++) { - const int16_t *src = (*s->dpcm_macroblock)[i]; - int idx = 0; - int vsub = i ? s->chroma_y_shift : 0; - int hsub = i ? s->chroma_x_shift : 0; - int lowres = lowres_flag ? s->avctx->lowres : 0; - int step = 1 << lowres; - dest_pcm[i] += (linesize[i] / 2) * ((16 >> vsub) - 1); - for (h = (16 >> (vsub + lowres)) - 1; h >= 0; h--){ - for (w = (16 >> (hsub + lowres)) - 1, idx = 0; w >= 0; w--, idx += step) - dest_pcm[i][w] = src[idx]; - src += step * (16 >> hsub); - dest_pcm[i] -= linesize[i] / 2; - } - } - } + if (!is_mpeg12 && CONFIG_MPEG4_DECODER && /* s->codec_id == AV_CODEC_ID_MPEG4 && */ + s->avctx->bits_per_raw_sample > 8) { + ff_mpeg4_decode_studio(s, dest_y, dest_cb, dest_cr, block_size, + uvlinesize, dct_linesize, dct_offset); } /* dct only in intra block */ else if (IS_ENCODER(s) || !IS_MPEG12(s)) { From patchwork Wed Jan 26 21:34:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33870 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1882696iov; Wed, 26 Jan 2022 13:36:12 -0800 (PST) X-Google-Smtp-Source: ABdhPJxZBrJ4Ljz+ylR6rCxrHAl8S0uuDfnaADOwX3DBK7jXxpHaIa5Pft/0tX7Xu23NbeReUiEI X-Received: by 2002:a17:907:7d94:: with SMTP id oz20mr572842ejc.340.1643232972061; Wed, 26 Jan 2022 13:36:12 -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 f14si224730edd.197.2022.01.26.13.36.11; Wed, 26 Jan 2022 13:36:12 -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=HOvN1iEz; 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 BBA4868B169; Wed, 26 Jan 2022 23:35:21 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071048.outbound.protection.outlook.com [40.92.71.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 56FFC68AF21 for ; Wed, 26 Jan 2022 23:35:17 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BL5vbNfxMFwm0nFd+9SuxEVgmfsAiifFXd608zH2w4K3evPQf4Fr0eO1yrl2OHA4aSdF8yZYsdZP2NZnq4y7OSb0Oe+SSI2kzZrkfTaBbfwfMzD8L6XiUZ1FqIdumj2U8mwiOg7YetUWofcQGanOGp2EzyKpKax0fS9lbiUi+2thEGGUFz7Q4s6sVARB6LTl6DFdYnewtm1nsqN49+56lLqnZxsjp4G5pN0sSa+RPzrVIkHhkvmQPd6XTGOiVDVWjU7AxwfGSlaKhphts4faARvmdzTrcn87x+bANquS6ZmMXrT+xDuz4qCIp06TjrNirjInah0btWFgZcKTOMzTkg== 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=NFq/fMNlTte1k/HjFWuQF9Of8X3eIfvcEnpKBYgUqsA=; b=bTx7GrIAT5TaBLdRrDt0ChjlA5FzqWwJjPtADDhtXHBHBjYo8Uef0+tv04v1rA4NQ10WzV9tODQlci4y14KUYgx1KXUSHNrJ7qEgWKUQ0ovE80a1PMXwdvMBxIFs091D7bWy7WFyrQEqntEiV0PPy3LxtOoH7YMteA+ORSg2CnNMZO3lYOxSxbvQnXxNCNQhHXqjJAUKbsF+sr3KcFCBKmiqr84x+/kdI7h7/dQUoCPSZ4hrhlw33MHDC+EMEZ5r9Gt9NE+gTd1G+UjXMHs/nWH07ubCUD3+uDnP66LhorFI3kWtiRji9hRUG/wNa4fj1RvwWWYedRj53OdxMs5/lw== 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=NFq/fMNlTte1k/HjFWuQF9Of8X3eIfvcEnpKBYgUqsA=; b=HOvN1iEzmQnbsgcf2VgMf+On5Sf8FmX9enLmrUE90HsxQFr9ZxrvUoj8CclkGhY5beASdPpDgYmamKXnMvcKP5avG+jK6yvA63Ja+4xycncmIVCpBzCja5HNbBGzD3Fu/IlcnMXZ8M8hZomslDPPvWDcZkPRrs0qWT4OKjUI7KujjY/higXqjbGBwFhIPYcur6wcfsTRgjkcv5qV7uor0LXm93ewYPIgawe+x6kyFTmohpDhuRPzONTNHvj3loIX7KXn/6BaeDPkK7pHulkKN2WxSuVVVbVIUzH96RmEcCuP/pzmtrOk5C49XoRkvdOt69b4RKdU56aToLMh0/qN7w== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DBAPR03MB6406.eurprd03.prod.outlook.com (2603:10a6:10:190::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan 2022 21:35:14 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:14 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:46 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [bu/RPaO3BtrsAZavSKMwiNSM3gCjUutW] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f4cc803f-74b1-4e09-b5f8-08d9e113bcdd X-MS-TrafficTypeDiagnostic: DBAPR03MB6406:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RGeCmZmWBRK9Sl/2SRbqqizspcKv92NxkZSlUjvC35FKDnfLXyvgQ/ZDx3FOSS4tClA+7C0YJMYgZqj7WL2DvUyESKrBjQqvgn6ylEYwFvKqkSiQ9+ZoiAS/A15dQZG/9Ksrp7D0oPXIbxY6oo6tRW6+jY5jBspNxtPWRHwmhgSC2dHNthc3Ru86nw/UAZlgKj2nvIjfbQ/NLbkloM4wpAZgMWSfGiU2YiNOXnWJ8hazGous+IPy4uNthDiREy0SrVel6eoGRR5bzE6EDNIbIopZrM77zHbeRjgb5EQuUYiIiZZlwPFREtP7WDVT9HpXiNiBZuNdDENtpbPzvJBAzIpvD/COOzeijuzdjhuwEE1p+Lp7jHGNbn/ANRD+dx7vaYw3QIVXY3nKrJiMX3cxTYEEzCepT0Xe+zbFePVv7qERkt3n2krRUndwLAKKbd5p+285a7K+NVoZk68ND7DF9FixCMNyWjq2Yn89i+LQ1Fxp6ceC2KnaO+8XT9RlLTo7I+2rcw7qNbR5LtjUKlAecRiY+recWRlROs4yvgkP4dKgsh7OlF8XJGrr9Ay9LcFf X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: v/dSYRUVuqg1OZSnsbJPPhhP1D0S3Qd2ErMCuH4+Z5RLAxvNsDbiv7lJMyixQbaDlF1ESmlrktYz6ce+aijGWDoqzY5SzzgVopEOcwdTKMuptmej2dNu8uvEVYuAn/uskGzmE6/E6wtNst0taZ8xvgtJdomGITNB80XPbqP5tTAaQLC7LZWZ+LjX7ia+R/N4GKwvXiGTvVsu/hkDvaVnZe6jlfeM9DMyGRPXnf+G6JvMTIocz7O6Adp4Sjjok0hj74xZ+oHHApE+OVK8Y/zIkSnEuwAPK4LxduxgSObbH8zBzSyVp4KOFQi0l1A+P4SxRFf6hIruchEXt8I4gjI6kbduAPq8IztbIaOYEJThRiKAvYbJHrerM960YVukxeoZXH1czq8UEDPad6Dom3dooj5jlIyqgkDQ10OWp9fqbPHxivoALATWCW8By7A159ZIXPHhRiT+mI8eObTaXvbdBd3+6Rj8zq4wgcrx+LLhojX01ohUDVVMNR09fIcPrwxZow3acFcnKLoqVDqvi9TzydbZzHkbtHiDIPqp+U1si7YSh7V+rAhWsO0srGVNyU/jO0f5ndD+ntyENZLKEUFvF00mcBkC57/oEPqgxl1VLQY/ljio373EDhH4iV8sdzZ3iB7IlSROUWEjn3OydnpAHpCcl+BJt4lFVB3x+dhW8QGgaK1Ym2tOwienXEC2ykFj7XXadg675sg7FwjW/77GFDUWup8XY5aB7pWLcd2Qdf2t8zccDY7gWy4MFU63suEyUTsQ5H/9IwQOD73JT8moBLYN7/gpj0rhyPYBFw6ujSF2dTjKku1NwzedhpuMTGZmL3YQnRIxf6fFW4LBrjLdp8y3UtoaWGE0TZhIkt0+d8qUaLs2nf+on1rWY5Uw7X0OcZxGEOHAMcJiulw2fWLp73IYOmkOq3Q2Qe9aEE2X3BKMxvIyZx7fBF7z0zELnTw9Bs4u8nGSS7K3vFnrWeN6mg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4cc803f-74b1-4e09-b5f8-08d9e113bcdd X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:13.9861 (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: DBAPR03MB6406 Subject: [FFmpeg-devel] [PATCH 28/33] avcodec/mpegvideo: Move MPEG-4 Simple Studio Profile fields to mpeg4video 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: eGxCeiaXiRFQ This is possible now that dealing with the Simple Studio Profile has been moved to mpeg4videodec.c. It also allows to avoid allocations, because one can simply put the required buffers on the context (if one made these buffers part of MpegEncContext, the memory would be wasted for every codec other than MPEG-4). Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg4video.h | 5 +++++ libavcodec/mpeg4videodec.c | 44 ++++++++++++++++++++------------------ libavcodec/mpegvideo.c | 13 ----------- libavcodec/mpegvideo.h | 4 ---- 4 files changed, 28 insertions(+), 38 deletions(-) diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h index 08beb7f29f..9fc79b1a22 100644 --- a/libavcodec/mpeg4video.h +++ b/libavcodec/mpeg4video.h @@ -117,6 +117,11 @@ typedef struct Mpeg4DecContext { int cplx_estimation_trash_b; int rgb; + + int32_t block32[12][64]; + // 0 = DCT, 1 = DPCM top to bottom scan, -1 = DPCM bottom to top scan + int dpcm_direction; + int16_t dpcm_macroblock[3][256]; } Mpeg4DecContext; diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index fb43ad2d17..b8118ff2d2 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -71,32 +71,33 @@ void ff_mpeg4_decode_studio(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb uint8_t *dest_cr, int block_size, int uvlinesize, int dct_linesize, int dct_offset) { + Mpeg4DecContext *const ctx = (Mpeg4DecContext*)s; const int act_block_size = block_size * 2; - if (s->dpcm_direction == 0) { - s->idsp.idct_put(dest_y, dct_linesize, (int16_t*)(*s->block32)[0]); - s->idsp.idct_put(dest_y + act_block_size, dct_linesize, (int16_t*)(*s->block32)[1]); - s->idsp.idct_put(dest_y + dct_offset, dct_linesize, (int16_t*)(*s->block32)[2]); - s->idsp.idct_put(dest_y + dct_offset + act_block_size, dct_linesize, (int16_t*)(*s->block32)[3]); + if (ctx->dpcm_direction == 0) { + s->idsp.idct_put(dest_y, dct_linesize, (int16_t*)ctx->block32[0]); + s->idsp.idct_put(dest_y + act_block_size, dct_linesize, (int16_t*)ctx->block32[1]); + s->idsp.idct_put(dest_y + dct_offset, dct_linesize, (int16_t*)ctx->block32[2]); + s->idsp.idct_put(dest_y + dct_offset + act_block_size, dct_linesize, (int16_t*)ctx->block32[3]); dct_linesize = uvlinesize << s->interlaced_dct; dct_offset = s->interlaced_dct ? uvlinesize : uvlinesize*block_size; - s->idsp.idct_put(dest_cb, dct_linesize, (int16_t*)(*s->block32)[4]); - s->idsp.idct_put(dest_cr, dct_linesize, (int16_t*)(*s->block32)[5]); - s->idsp.idct_put(dest_cb + dct_offset, dct_linesize, (int16_t*)(*s->block32)[6]); - s->idsp.idct_put(dest_cr + dct_offset, dct_linesize, (int16_t*)(*s->block32)[7]); + s->idsp.idct_put(dest_cb, dct_linesize, (int16_t*)ctx->block32[4]); + s->idsp.idct_put(dest_cr, dct_linesize, (int16_t*)ctx->block32[5]); + s->idsp.idct_put(dest_cb + dct_offset, dct_linesize, (int16_t*)ctx->block32[6]); + s->idsp.idct_put(dest_cr + dct_offset, dct_linesize, (int16_t*)ctx->block32[7]); if (!s->chroma_x_shift){ //Chroma444 - s->idsp.idct_put(dest_cb + act_block_size, dct_linesize, (int16_t*)(*s->block32)[8]); - s->idsp.idct_put(dest_cr + act_block_size, dct_linesize, (int16_t*)(*s->block32)[9]); - s->idsp.idct_put(dest_cb + act_block_size + dct_offset, dct_linesize, (int16_t*)(*s->block32)[10]); - s->idsp.idct_put(dest_cr + act_block_size + dct_offset, dct_linesize, (int16_t*)(*s->block32)[11]); + s->idsp.idct_put(dest_cb + act_block_size, dct_linesize, (int16_t*)ctx->block32[8]); + s->idsp.idct_put(dest_cr + act_block_size, dct_linesize, (int16_t*)ctx->block32[9]); + s->idsp.idct_put(dest_cb + act_block_size + dct_offset, dct_linesize, (int16_t*)ctx->block32[10]); + s->idsp.idct_put(dest_cr + act_block_size + dct_offset, dct_linesize, (int16_t*)ctx->block32[11]); } - } else if(s->dpcm_direction == 1) { + } else if (ctx->dpcm_direction == 1) { uint16_t *dest_pcm[3] = {(uint16_t*)dest_y, (uint16_t*)dest_cb, (uint16_t*)dest_cr}; int linesize[3] = {dct_linesize, uvlinesize, uvlinesize}; for (int i = 0; i < 3; i++) { - const uint16_t *src = (*s->dpcm_macroblock)[i]; + const uint16_t *src = ctx->dpcm_macroblock[i]; int vsub = i ? s->chroma_y_shift : 0; int hsub = i ? s->chroma_x_shift : 0; int lowres = s->avctx->lowres; @@ -111,9 +112,9 @@ void ff_mpeg4_decode_studio(MpegEncContext *s, uint8_t *dest_y, uint8_t *dest_cb } else { uint16_t *dest_pcm[3] = {(uint16_t*)dest_y, (uint16_t*)dest_cb, (uint16_t*)dest_cr}; int linesize[3] = {dct_linesize, uvlinesize, uvlinesize}; - av_assert2(s->dpcm_direction == -1); + av_assert2(ctx->dpcm_direction == -1); for (int i = 0; i < 3; i++) { - const uint16_t *src = (*s->dpcm_macroblock)[i]; + const uint16_t *src = ctx->dpcm_macroblock[i]; int vsub = i ? s->chroma_y_shift : 0; int hsub = i ? s->chroma_x_shift : 0; int lowres = s->avctx->lowres; @@ -2078,9 +2079,10 @@ static int mpeg4_decode_dpcm_macroblock(MpegEncContext *s, int16_t macroblock[25 static int mpeg4_decode_studio_mb(MpegEncContext *s, int16_t block_[12][64]) { + Mpeg4DecContext *const ctx = (Mpeg4DecContext*)s; int i; - s->dpcm_direction = 0; + ctx->dpcm_direction = 0; /* StudioMacroblock */ /* Assumes I-VOP */ @@ -2094,15 +2096,15 @@ static int mpeg4_decode_studio_mb(MpegEncContext *s, int16_t block_[12][64]) } for (i = 0; i < mpeg4_block_count[s->chroma_format]; i++) { - if (mpeg4_decode_studio_block(s, (*s->block32)[i], i) < 0) + if (mpeg4_decode_studio_block(s, ctx->block32[i], i) < 0) return AVERROR_INVALIDDATA; } } else { /* DPCM */ check_marker(s->avctx, &s->gb, "DPCM block start"); - s->dpcm_direction = get_bits1(&s->gb) ? -1 : 1; + ctx->dpcm_direction = get_bits1(&s->gb) ? -1 : 1; for (i = 0; i < 3; i++) { - if (mpeg4_decode_dpcm_macroblock(s, (*s->dpcm_macroblock)[i], i) < 0) + if (mpeg4_decode_dpcm_macroblock(s, ctx->dpcm_macroblock[i], i) < 0) return AVERROR_INVALIDDATA; } } diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index a231ee52b7..3b889e0791 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -378,11 +378,6 @@ static int init_duplicate_context(MpegEncContext *s) } if (s->out_format == FMT_H263) { - if (!(s->block32 = av_mallocz(sizeof(*s->block32))) || - !(s->dpcm_macroblock = av_mallocz(sizeof(*s->dpcm_macroblock)))) - return AVERROR(ENOMEM); - s->dpcm_direction = 0; - /* ac values */ if (!FF_ALLOCZ_TYPED_ARRAY(s->ac_val_base, yc_size)) return AVERROR(ENOMEM); @@ -434,8 +429,6 @@ static void free_duplicate_context(MpegEncContext *s) av_freep(&s->me.map); av_freep(&s->me.score_map); av_freep(&s->blocks); - av_freep(&s->block32); - av_freep(&s->dpcm_macroblock); av_freep(&s->ac_val_base); s->block = NULL; } @@ -462,9 +455,6 @@ static void backup_duplicate_context(MpegEncContext *bak, MpegEncContext *src) COPY(me.score_map); COPY(blocks); COPY(block); - COPY(block32); - COPY(dpcm_macroblock); - COPY(dpcm_direction); COPY(start_mb_y); COPY(end_mb_y); COPY(me.map_generation); @@ -678,10 +668,7 @@ static void clear_context(MpegEncContext *s) s->dct_error_sum = NULL; s->block = NULL; s->blocks = NULL; - s->block32 = NULL; memset(s->pblocks, 0, sizeof(s->pblocks)); - s->dpcm_direction = 0; - s->dpcm_macroblock = NULL; s->ac_val_base = NULL; s->ac_val[0] = s->ac_val[1] = diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 0b76a460c9..325f62e01f 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -479,10 +479,6 @@ typedef struct MpegEncContext { int16_t (*blocks)[12][64]; // for HQ mode we need to keep the best block int (*decode_mb)(struct MpegEncContext *s, int16_t block[12][64]); // used by some codecs to avoid a switch() - int32_t (*block32)[12][64]; - int dpcm_direction; // 0 = DCT, 1 = DPCM top to bottom scan, -1 = DPCM bottom to top scan - int16_t (*dpcm_macroblock)[3][256]; - #define SLICE_OK 0 #define SLICE_ERROR -1 #define SLICE_END -2 /// X-Patchwork-Id: 33871 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1882823iov; Wed, 26 Jan 2022 13:36:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJzMJkYVUTShpoypLmEojfHP/27W3WCX3x1ds8D8xCEj29q+710tNOH1nB+zE8h+dNbzwcka X-Received: by 2002:a05:6402:516d:: with SMTP id d13mr814415ede.333.1643232982298; Wed, 26 Jan 2022 13:36:22 -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 v8si197926ejv.536.2022.01.26.13.36.21; Wed, 26 Jan 2022 13:36:22 -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=sJKtj3WU; 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 A57BF68B11F; Wed, 26 Jan 2022 23:35:23 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071048.outbound.protection.outlook.com [40.92.71.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 74C6068B0CE for ; Wed, 26 Jan 2022 23:35:17 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E0VGmdkIk5kFiWpoPgaD/GureBHhWCIpE8AcmPAfKW/FvPIhs946FaroTTE5O/Eb7RyguBOq/QXxVQoEtAGlPEbZQpf5D8JnoXTeB9T3yODeqfWS4lA0cJN42KK+bTs6QH/4utDzq/+gAWeWSfHddkqzRuLecMRv3wgLTu66SIN4e/tWtVMpEj3YBYu4hsgvwVK+BnZsIYNsi5B7elmkhzVzHaf3S9Z4aTHs4bfbH3MJIbJRS7ebBxyDtWLKvRBTEahIZ2SCS1ahrzJQjoVtBP/n8/KwDIEu1X9OlSDqGvqE4ae8ZB7i0qwYNirssIaGEUJ6ZMfPDtkd69bkXGAUSA== 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=S9qQ/XJMWOALFp5S28dxPQ4EFOFFa/aeaMDJ3YjM5RQ=; b=J+vVuBvAv6fqWIceiGKgCo6KCascz45LJHFZWGH9/4mNETwVAUd3JdPv16ojwMwHBTn1IY/qFycfOzp1SYQOr0uwlZWhVScrFMbfdXIlan8ir2EXInFDBDRUPQscJJMRU7kFtgKF+MaCXL8FoQT+7NjXGiH8F3W4rmHLI0iCmPFrh5xeAmnAoNYxGEaoicyil7Lmcb2NEFISp7LSJlj5Q4JgazWoHDB6OP0ZZSKzGO3f9lQLFfwy4gLDIARiAQVijwewapJAz3ujuShN5tduWuTUn+LTkvO7GR8AzlzT32MnFC2KjeFaYRhK7VfWH9Rz4Cilux4+i479fGAtKO2JeQ== 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=S9qQ/XJMWOALFp5S28dxPQ4EFOFFa/aeaMDJ3YjM5RQ=; b=sJKtj3WUoKadXSPuGaR1R08SBb6ZDk6axjYlwfwiHhR3ih+47KItCnuIPtzsAeklZ9qJAqB6AbbZMuhw7mkMkHyp/NDrV1QcCCNQKQV1+rZLmp9KLy0lesN+ioSxDMXrhrAbV+jRR19oZhlSmfubnpg3veQmTt4j5CxvBJAJb6CdPTqMAqy888ItUMBYJ1j62ZdcQ5obaeXWJXl8+2BS7G61SF/qV0HWuZr2wYymTjHARzliW47PSuQdExtUJomKi50PZA1GeecMvQMXyl7xzW/9xtYboWEhenVRNRu2Rb1pkktme9wAEjbdDry99NZUne3cIlJVetOHgm3/k1lVDA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by DBAPR03MB6406.eurprd03.prod.outlook.com (2603:10a6:10:190::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Wed, 26 Jan 2022 21:35:15 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:15 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:47 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [SVSLvGR7hLnZLeRlAFlwvLMzakSuZLpg] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f13bef73-1e3c-4a4d-e975-08d9e113bdaa X-MS-TrafficTypeDiagnostic: DBAPR03MB6406:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zmvF6o92UgFCtU8UDygjpWkPLPH07LpOksnIUXV5ycWYi0yg7rxbTqguBmwpF0b1zpQAmSRrXYfJS95F6LfTkOP8eSrjtHPe4rbVDnInsGh/GoEkV6sgXeXt0FTYtjwOZiuhYDN//PFbrrcwHoJOCgkw6Gwt1VQdhKitWj2cidTYIPbHseh6w/C+EoueAf7/SgqmKnVhFQDwCOn9yHFne0wEuDTcKqYSZk/L33pwmYJ+sUcSvEiUBntLy5edvp0YQKZqWwRy2dnklpTz4P69vk9wBa95hMumPcS0jvzggc82NxHCgasexclWRbxjNqbW8LXzhVAIJjb6P9XXiiko64JSph3XqCnfAUneNpfogfDG+Y+STOl9T19wOg00l4zbSR/kbr77e+YovI5oMz+Kvt8iS20xNh/V3Buoj8VIyNR8//5fJBO84YqnVqCbR1Fh651cKXOCSDEtffDw6Dqmry0vL5tTYZ9dFkrCTjW0Snh5ALT3iEJJJhjRwpGtwoQbd9TYHR1fn98XEp+3Lp/2KzvwF6Gx9El4cRY0lRHOXp4= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RaPIh7tlRUclozLMPFFhaIkXsusW7LS3xSIJPMWlfCNJT6JLYE5HhegqBTMxBXaBy+n43dnq4WOIr2pM/+zEksldtbZa4HbZjLYeaWmsd73ltOCUBcS6QQZD3B2lH+fFDmIAYUu2+5IENKQuo0cCpMG/xrYOSj1YpEg4R2Z/AjQajd/Ugngg2XOx8RelVjL2JrCc8GlFXWJe1ejqOuaC7tma8wmFhZAhC5Y+nWACALd6AE3eQSuy3sAAXgTOfxN2Dai/UTVgNAQ3+R3nUAHZzGrll1QHGZ2kfd2j9IVXOa+r/tbFWSEnSULta+Eo0sM0gZcfgyO499nNHx9uoKPfPVsUAaNru+z3J6vOOtK2jd2Ik/8tFu/p+mpFuNUe8t65ATbSLAtDom0G+mN4sw/V5rsh8EopxkojTkm3Bd6iLo9EiozjYgpInTOBEvFYK5xyMb0TnkJT690mEepy4oL698Hv9CO5ck9JdcuCIaD+iVj7DuZ5qcIJ6EQbBO5LaAxwPzHlHqFOASky7zWL3y480/KhNEV5GC96yg80P792CJ4gGJJBgiL5hc6Q20LXg2QOFEscwYRHdHaKNK7ma9TBTjllWI8m5rnbDUYLtWPzcBt+1s61elLT3sVMuqc7wf9LN2RtPmorLtNTlu2SZ8GPq//7F+lE2T3e/T+R5zYUYZZSSGDcgSdOz38T1csBCZio3repGmP9XOyq8Ks/YOExfVMcUhmb+SPfzHLl2wqFbamCrINyyZGyjlNiBCyJajg/7LkP1klGHyV0+J92LISRtaWV4LTE/mzrn1MtnIW8VogZoTa6qB3Dst53maWSyScXB6dKfwLwVnHwx0r7ihRyE1LlGw2HF/FTMVcow4MFKDNFhAZmw0N2UuU9uvYWCFFE6RlJAP7nFWhnn5vNWRf9qLvsJ/c4GozYuGDCAHWmI17jzwhOLzn994f/aKTQ+5heS4ujUPOP7UPmG8/CmllIOw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f13bef73-1e3c-4a4d-e975-08d9e113bdaa X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:15.3452 (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: DBAPR03MB6406 Subject: [FFmpeg-devel] [PATCH 29/33] avcodec/mpegpicture: Let ff_mpeg_unref_picture() free picture tables 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: nbra5dr88H6R Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegpicture.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavcodec/mpegpicture.c b/libavcodec/mpegpicture.c index 0652b7c879..f78a3c23e3 100644 --- a/libavcodec/mpegpicture.c +++ b/libavcodec/mpegpicture.c @@ -290,7 +290,8 @@ fail: } /** - * Deallocate a picture. + * Deallocate a picture; frees the picture tables in case they + * need to be reallocated anyway. */ void ff_mpeg_unref_picture(AVCodecContext *avctx, Picture *pic) { @@ -443,8 +444,6 @@ int ff_find_unused_picture(AVCodecContext *avctx, Picture *picture, int shared) if (ret >= 0 && ret < MAX_PICTURE_COUNT) { if (picture[ret].needs_realloc) { - picture[ret].needs_realloc = 0; - ff_free_picture_tables(&picture[ret]); ff_mpeg_unref_picture(avctx, &picture[ret]); } } From patchwork Wed Jan 26 21:34:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33872 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1882965iov; Wed, 26 Jan 2022 13:36:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJyjUzyUc7pqKOqzWqaHJlXxJeZL3wD0H6Blom7aK4LrR1UovNgLgYl1lOo+XjEHfNwov6pH X-Received: by 2002:a05:6402:348b:: with SMTP id v11mr812987edc.353.1643232991568; Wed, 26 Jan 2022 13:36:31 -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 qw41si242968ejc.443.2022.01.26.13.36.31; Wed, 26 Jan 2022 13:36:31 -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=jw0jaxL0; 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 A325468B19A; Wed, 26 Jan 2022 23:35:25 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072020.outbound.protection.outlook.com [40.92.72.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C871768B11F for ; Wed, 26 Jan 2022 23:35:17 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P7Cnf7mgqdHfOHzc5vtaW3nuCIBT3fhcqwFoEfA84+ZaM/eMwCmeNUM4aFySa/09OoVLHt053WqCzbvssLdYf59+iLY87gsv8qUa3P2HeE962qPZNTujZ5ksgoqjCvaw+zGcT6X4T63+G101i8ihn/Se8PzLe5j4URobFcYnRphsL1km4gHfxKQne9/ekRhaWJdR9ZWV1x0tHVyggpHl+6hrX3My8cPLthbrArsnGVQVYc2oEo7GlMz2I4Xo6HoKTWjKN4ihSNuYlW1Kqnz1yVBfLyMyr0B8V6l/QZybk98rydOiK8tvxDVk2VQX7s3coaEkoyCqWm0l2RTdKuuJfQ== 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=dap5mqj94pwTBS1ZHc3p08ANjq14/10IBaMjdzzz/Oo=; b=RyUnvipCS6NopJTdDl4JD5pQsTr1Do16/sQsZky44eMYLlYfe+SvXuBGAuNlbquj5nBrszja+Sj6o8PcbVs70bfXQvOWHjhZULXYLFX4MNYHT0jas8CTauS6hCnoxd68wZ3b/6EQOozjB9lObrkeismXm7sCDktYSo8stBhSWCZec6XGZc8eOE/B/ZkIX7stc2Xi5jg4snNXvcK2gEZKeyZUeyNBRbXO+Q6qv/JeTFm1DYmjeulqy5t5yi+bJxZQEOySZDm31sz2ITmBkY08FraxbAQAnGsiDdtqQHhhqsGIX3zyuw6+MfY8eNarOdjtIelPJi1ZM2Fy5To5S8pR8A== 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=dap5mqj94pwTBS1ZHc3p08ANjq14/10IBaMjdzzz/Oo=; b=jw0jaxL0y9zQDbA0eXMAcnaNpGKMULQOBft9YPapHo+YYEAoRQk4KwyTLZDSJVWOwCrmtVmxKQXKnHwQ0m1G/2WT8tlbSIIiyOLJ+NTGGL7PpKwt28UQflt2huuiAOiPI9NYXFwZrK+rimBlbLkiHBUN37s+Vdiv+JgXNlk5WBzaTk9I9v0lGifuYUBC647SofC1LKO6YMIZA/IPOmeqsGRBubswYm2vDO0esg1e/RUr+FR8mMRc35sRDyykLRGk6Ixt6jQzOe8kexkNcGIokU/HGRUJoKVhTp2GvQnN2aTn5vxpz9ezD4zGT3vZmgjVSNBkZKjfvt4RIElxqStWCA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM9PR03MB7852.eurprd03.prod.outlook.com (2603:10a6:20b:433::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Wed, 26 Jan 2022 21:35:16 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:16 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:48 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [htoB9CLkTfbAh4ChUBu716/FJT+fbpIK] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-9-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1a5099dc-f76f-49d4-5b5e-08d9e113be35 X-MS-TrafficTypeDiagnostic: AM9PR03MB7852:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jyp9D9sxj+O1k10MJjm3RdY0J6h0dw0g++7IF9RJAa5bEkKjQjfOvPHYpJB4imq0sRlhzK7AYyYu9wW5tcxscvUcPGvK4/ZB4u/mUyD7P1WrIwDtGbCP3F+eKW+gItm5alqpOsCU54jwCdQ5WbqAIqxhWs6HyA82IwKHO/HUnwz2WwDUij1k2fPnetieVxt3W6I7qEjOft0xBbp4Fh4WzHVVvyp4oQiDzlIYd8fflXoPp/HKyyE835911o01V5RlObmcsfuYOYVeGWEpxKDjteG7T8XRpcLuMAfC+gi3npmAChHlr8buj+msm+MQSFHKYS4Ugsg1WhnbuA5yKEg0ckW0JZApH+xgvLxMwXSoz4xaHXpMPrJ7SaFgHaWixFHHZE3K4FsidOWRUUOYJUsF/7V5hKQy7cmeI5Mg+VkkO5ZHg/3Opn56qg9QpLlYcZO9czHsNoVzp37VLCR9DByIzX+dDouvpsq37wRTnSQO55uQUCsFYJyWmA/QpLTabcnpqYJrtJgo32gP2/5U0qeMv3ySXduzZg1VSGSDqSweKtW0VpB3B5dgHnFPRTZ5WOI8 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QlDb59d75aDnwe4JiUtEhNHLLjzy0qFyvp0rghV74elPxTgfR46m46RX73rFayEQ0D2PBxukeGJAHTCRZG+85tiobYdySciM+pWvSQnFv2xThZA0yUaVizlMnoC+9dsp5MD9Dim5GrRFSREYuryJjae2nJt8FyWEi03wqF3xRRA9ugeTRo8tIJr8UEAS4uSCrPbMfQhONBhRHQ86svTlABeV841ZDPQl/L1tIbW0GSSQAfazdzcGIuDT3yadcGYf/HwgZ5j2feqXb7y/eREWAXMzUD5TvZxHhBvoWkhaKcvlkvneYzMe9OwhOZoUjqG6RdTMMqHt+ecJZjqi/1YAbAgmDnSgG2bBTm09I/4rCeGKp6Ju44GrmmzdLNUEf56J7WQS2mH62J68UJGb0a6Eyiem9sDDxUBxsny6Sd2xdw/7IOcQjEimLMJLs5ZOpxBvs0jqSnblKLyQmlfcw+Rj0TmVcxGayNDrkgphBrCw7rxF/PZVteRZGb7le9Ni0mpf7eUp7iD/tJ1aLvIUaqs1+NRAk9E6IrfD5U1+6ZKnnUnNSy51ok6Fy9psaQrRnkSW5oEkl8dbaFZeXzxpBtm1IXpl90myuCU6kUz/cUC9lYCg23jyXhU31ss8LZShuCvv4qKF+VexbVMcN+ECjysnP5SVlc4BxjmhTBBAy104bETKgOQi1JyNfbrGx7yr1DBWpncXZftYzhzV6w2PxG3fMbebkssxdLNUKG+G9MuUHgyVSOkwh6Ndr5ICeNfntVMNh5Rmon6n+pHMK2nW/Dd1y8SdnxicgOUFCT822ck2RdE1gx5u6wg0NB3Ce8I0soihLxH4XG2yJaRXP3lcXlJJVjmVHoymF4ixIbQZGluWOr1K3Ja3GJYHzVNb5QKrXa4wCYrtbUAKMgg2Sv1/WaXzLZbqwGXNPaILcp2Jg0CHADOJgUn68BCGB6J9TwYQALdB9OCQTo7+jfRkJ272Rf4bcA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a5099dc-f76f-49d4-5b5e-08d9e113be35 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:16.2213 (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: AM9PR03MB7852 Subject: [FFmpeg-devel] [PATCH 30/33] avcodec/mpegpicture: Add function to completely free MPEG-Picture 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: O4mBCDJelPvh Also use said function in mpegvideo.c and mpegvideo_enc.c; and make ff_free_picture_tables() static as it isn't needed anymore outside of mpegpicture.c. Signed-off-by: Andreas Rheinhardt --- The new_picture is actually only used by encoders; if it were not for svq1enc (which relies on ff_mpv_common_init() and ff_mpv_common_end() to allocate and free it), I'd have moved everything related to it to mpegvideo_enc.c. I probably do it later anyway. (And yes, I am aware of the fact that freeing this frame in ff_mpv_encode_end() is redundant.) libavcodec/mpegpicture.c | 47 +++++++++++++++++++++----------------- libavcodec/mpegpicture.h | 2 +- libavcodec/mpegvideo.c | 25 +++++--------------- libavcodec/mpegvideo_enc.c | 3 +-- 4 files changed, 34 insertions(+), 43 deletions(-) diff --git a/libavcodec/mpegpicture.c b/libavcodec/mpegpicture.c index f78a3c23e3..349ab81055 100644 --- a/libavcodec/mpegpicture.c +++ b/libavcodec/mpegpicture.c @@ -30,6 +30,24 @@ #include "mpegpicture.h" #include "mpegutils.h" +static void av_noinline free_picture_tables(Picture *pic) +{ + pic->alloc_mb_width = + pic->alloc_mb_height = 0; + + av_buffer_unref(&pic->mb_var_buf); + av_buffer_unref(&pic->mc_mb_var_buf); + av_buffer_unref(&pic->mb_mean_buf); + av_buffer_unref(&pic->mbskip_table_buf); + av_buffer_unref(&pic->qscale_table_buf); + av_buffer_unref(&pic->mb_type_buf); + + for (int i = 0; i < 2; i++) { + av_buffer_unref(&pic->motion_val_buf[i]); + av_buffer_unref(&pic->ref_index_buf[i]); + } +} + static int make_tables_writable(Picture *pic) { int ret, i; @@ -240,7 +258,7 @@ int ff_alloc_picture(AVCodecContext *avctx, Picture *pic, MotionEstContext *me, if (pic->qscale_table_buf) if ( pic->alloc_mb_width != mb_width || pic->alloc_mb_height != mb_height) - ff_free_picture_tables(pic); + free_picture_tables(pic); if (shared) { av_assert0(pic->f->data[0]); @@ -285,7 +303,7 @@ int ff_alloc_picture(AVCodecContext *avctx, Picture *pic, MotionEstContext *me, fail: av_log(avctx, AV_LOG_ERROR, "Error allocating a picture.\n"); ff_mpeg_unref_picture(avctx, pic); - ff_free_picture_tables(pic); + free_picture_tables(pic); return AVERROR(ENOMEM); } @@ -310,7 +328,7 @@ void ff_mpeg_unref_picture(AVCodecContext *avctx, Picture *pic) av_buffer_unref(&pic->hwaccel_priv_buf); if (pic->needs_realloc) - ff_free_picture_tables(pic); + free_picture_tables(pic); memset((uint8_t*)pic + off, 0, sizeof(*pic) - off); } @@ -331,7 +349,7 @@ int ff_update_picture_tables(Picture *dst, Picture *src) } if (ret < 0) { - ff_free_picture_tables(dst); + free_picture_tables(dst); return ret; } @@ -450,22 +468,9 @@ int ff_find_unused_picture(AVCodecContext *avctx, Picture *picture, int shared) return ret; } -void ff_free_picture_tables(Picture *pic) +void av_cold ff_free_picture(AVCodecContext *avctx, Picture *pic) { - int i; - - pic->alloc_mb_width = - pic->alloc_mb_height = 0; - - av_buffer_unref(&pic->mb_var_buf); - av_buffer_unref(&pic->mc_mb_var_buf); - av_buffer_unref(&pic->mb_mean_buf); - av_buffer_unref(&pic->mbskip_table_buf); - av_buffer_unref(&pic->qscale_table_buf); - av_buffer_unref(&pic->mb_type_buf); - - for (i = 0; i < 2; i++) { - av_buffer_unref(&pic->motion_val_buf[i]); - av_buffer_unref(&pic->ref_index_buf[i]); - } + free_picture_tables(pic); + ff_mpeg_unref_picture(avctx, pic); + av_frame_free(&pic->f); } diff --git a/libavcodec/mpegpicture.h b/libavcodec/mpegpicture.h index a354c2a83c..cee16c07d3 100644 --- a/libavcodec/mpegpicture.h +++ b/libavcodec/mpegpicture.h @@ -108,7 +108,7 @@ int ff_mpeg_framesize_alloc(AVCodecContext *avctx, MotionEstContext *me, int ff_mpeg_ref_picture(AVCodecContext *avctx, Picture *dst, Picture *src); void ff_mpeg_unref_picture(AVCodecContext *avctx, Picture *picture); -void ff_free_picture_tables(Picture *pic); +void ff_free_picture(AVCodecContext *avctx, Picture *pic); int ff_update_picture_tables(Picture *dst, Picture *src); int ff_find_unused_picture(AVCodecContext *avctx, Picture *picture, int shared); diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 3b889e0791..7c63c738f3 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -874,8 +874,6 @@ void ff_mpv_free_context_frame(MpegEncContext *s) /* init common structure for both encoder and decoder */ void ff_mpv_common_end(MpegEncContext *s) { - int i; - if (!s) return; @@ -895,25 +893,14 @@ void ff_mpv_common_end(MpegEncContext *s) return; if (s->picture) { - for (i = 0; i < MAX_PICTURE_COUNT; i++) { - ff_free_picture_tables(&s->picture[i]); - ff_mpeg_unref_picture(s->avctx, &s->picture[i]); - av_frame_free(&s->picture[i].f); - } + for (int i = 0; i < MAX_PICTURE_COUNT; i++) + ff_free_picture(s->avctx, &s->picture[i]); } av_freep(&s->picture); - ff_free_picture_tables(&s->last_picture); - ff_mpeg_unref_picture(s->avctx, &s->last_picture); - av_frame_free(&s->last_picture.f); - ff_free_picture_tables(&s->current_picture); - ff_mpeg_unref_picture(s->avctx, &s->current_picture); - av_frame_free(&s->current_picture.f); - ff_free_picture_tables(&s->next_picture); - ff_mpeg_unref_picture(s->avctx, &s->next_picture); - av_frame_free(&s->next_picture.f); - ff_free_picture_tables(&s->new_picture); - ff_mpeg_unref_picture(s->avctx, &s->new_picture); - av_frame_free(&s->new_picture.f); + ff_free_picture(s->avctx, &s->last_picture); + ff_free_picture(s->avctx, &s->current_picture); + ff_free_picture(s->avctx, &s->next_picture); + ff_free_picture(s->avctx, &s->new_picture); s->context_initialized = 0; s->context_reinit = 0; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 9a5634c505..baa45d20ab 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -941,8 +941,7 @@ av_cold int ff_mpv_encode_end(AVCodecContext *avctx) for (i = 0; i < FF_ARRAY_ELEMS(s->tmp_frames); i++) av_frame_free(&s->tmp_frames[i]); - ff_free_picture_tables(&s->new_picture); - ff_mpeg_unref_picture(avctx, &s->new_picture); + ff_free_picture(avctx, &s->new_picture); av_freep(&avctx->stats_out); av_freep(&s->ac_stats); From patchwork Wed Jan 26 21:34:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33873 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1883068iov; Wed, 26 Jan 2022 13:36:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJypI0f+GZlDLPVPPWhhWqCCxpfQp75pIBetQFaBj3sVI4e4ItBka14k1LuB1GeuxzjuPXZw X-Received: by 2002:a17:907:2da2:: with SMTP id gt34mr566972ejc.620.1643233001510; Wed, 26 Jan 2022 13:36:41 -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 bu10si205730ejb.965.2022.01.26.13.36.41; Wed, 26 Jan 2022 13:36:41 -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=Hma7UwLX; 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 B9F6C68B194; Wed, 26 Jan 2022 23:35:26 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072020.outbound.protection.outlook.com [40.92.72.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 12A7B68B185 for ; Wed, 26 Jan 2022 23:35:22 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ehp+5U37Ln8l+PKq43NV0vgisblYAx0XGno5dKjvnMeQYK+K/bs1YvbK5RhWJPK0sqFqm916hA7ZHTtj2mFWvZBvbnn5bfEZbxHX+nLskEaOMgTQxy4qfdkVCFxicRpuQ0PCfwkMt98k25UXylbYx+LYNgvZ7P7FguUqkg60rdAB9+wUOCgSJk/idfdTBKSmuSNZMZvO3gGzl71HEtOqRiFMnCBK3XTyT8fEknRdXGDXXvKs38e6V30Kdnd+HYZCG1RJa1GVR9kjy5NPe1ihKtzAXkRtMYmTd8PaDs2gg5Qx4RQXenpZ5DYVxlT7KHf2n3QGSlmkX4mOPGApFWPu6Q== 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=vphsZJbqOT2mYdz4KRHuhWuAJ8IcRoGsH0+cSwpQKYI=; b=f5btrN/svUq4RZV6m2I8sIAS0vzbOnAyntVRQixZ/hDWk0tzhv2xviapbdbVosfX9wS4NzGPdKFDQOsPdRUsGWTTNKeGA+TqFZue2ytJhKin2wwCRrjadbSg4G+4BqUfNFff8VAL5e/cr42CLGpRq9BA0q4L/caoQi8qXtgpnJNxqxpzBAKJNcfUFtD4PBXJX0p65sUsN7bp+9LowcAfWnkRFleeJTZ88RPW/eRBOvjYslp89OUYDQOMKmJsrCnjbaTRkXcd0LwI+bO8se2EkDEMozCDRa7CdfgwsyXbhGrUgYqWbysJDerHEl7tzuDtgR/It1FtY+WmmCpDA5Twmg== 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=vphsZJbqOT2mYdz4KRHuhWuAJ8IcRoGsH0+cSwpQKYI=; b=Hma7UwLXDKrCTbjgB92g6oyIhCxXjVSqnSb3VpMXpJiUKe/IvhymKeWHUpxOJ/HVV8ZoZ8vSt6s8w4oWyFQYs9nXeZos6dYlMfEaZJGq+ylEv81bFGD/5hpPQFRLWuxvRmXUl03SBWNMyv8VPf2QwJ5OAeUF+If/sQibZMPwrA55/A06LyOecNrKM42qB9Zz+dNyc6LgRncJLi6Thg/Mfklxz4GWvwSr5pUXiUHcMVUmwWJ/BRGmO3NRlET74aTQ5AJgoKvQ24sEdtmwnFpbpmO6aM3fCcnW7HC3z4YBq3GMMIb5pid2jrcGBDhj7VKLpPgcH64Orzz9n90cmfLLAw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM9PR03MB7852.eurprd03.prod.outlook.com (2603:10a6:20b:433::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Wed, 26 Jan 2022 21:35:17 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:17 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:49 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [bTm530JLZD2+RLPDIUKSKUyPjKj8qukA] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8a1f9680-34f9-40d4-ec46-08d9e113beae X-MS-TrafficTypeDiagnostic: AM9PR03MB7852:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YTx6HHFXjS3+YuMzS+g0W3MGeyNocP3xx/ZJTtV06P8iZ9hAO8joVuBUufmuDtQ0rYgZ1ZgXC2i2VxPads24YNjPKren015vP1AGCVyQhLXvKy8E5XP9DA2jtaH1BIaiEZkLtgZPn6Sc0RqeiiWuNRJ4tFZopXlBYFmcTqADzNKW5cIw9jDAq9Mg/lAAWuD7/37rVgLDwqniklMBMtlHsxp4/bLARnpPa2bPR5AyR44BDnV2B2M8alHNYTB1sI5+j3LGV6uZRU1zXyyipfSxRSusHGjEOen3xEQLm5EldNSKRV58zwzU0rlWzZlZtOv0eBPXIZLGnl0VQcvFD8lGXqpAJDuuyfbXGUWWrssVy1WiUJqiYNbLl62HLZxCrL7z/Z0Q2a9N/z7Gfnjvi5oPUncwxkGnnu6Fd8nGflTNkUY34XnZ8tQZXpWBuBfcdGWL+Nx2slveXe2+abmVLwq7evwURCteeY/eywqcjiSRVRwCY+RaLYyuYKtrb94ttYH/FbSJ+yzunyuAnz/6vsQUViNL+It07mID7ta3jI0Ohs6NytKq/5KkUWNfA1BjcRc6 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LfxCBm0QRT3X8wnCv+2UPnDyXp/7HKUCibVOYQaPZ/7eP6j+wKzpG5r1QlhtxAtsvAaMuFGiMZAGmLn8QBlLcdi28mfi/aAk+tq2GPWSoJqrIlbNmhmY7pqxc4vfpEEJxhGx3E5iO3Pyplnm0p19cgBqX0votiS7o8RCeu3B9JNPpT55M6UcxjH+qQfbGjxUeE4rRkMTaDR1vyE5mNFrUXpRSIm93aj4HrDZm6ayLcFpEFYu/bRBR0pbHGL2RhgKig9o012wpEzhq741+OwgUXlMon4lMZOv+AlcznMtOwfbMgp3UBAqjXuPt2chkqYzRtw/a9cPrac8/ymowJc1BuljSPSj9eAuPIp5dEe5KtgvgFetR74IW/QebTAlW6YPluxQ1XbHiIrNP+KxHETrZ6vKlnhzlw7H9h9DfYV23rreynXUGR/K+rNrPDGyDczUaSmJ2Ar+knQ1Da7Hh5GwIS2NHsL6uvtmSpuY7yMW9fmxIL/syKTYo74Ug2irMeRV2cEXZfzm4OUJzJzVdbf8vRO9UJTz9oSzmSrGtxdngnXpw9vrsvrIjr/xZS9N8yPuLxiSZhSSIEcelzIcdW1f96uL9UJspIPXNdVuUmD2vazQyXnvAMR+0ArAxIo14J4F1E4v5dXEJWol3Dg60R6nzzLd+2UzAm0oPNgxetWOqqQsFaqFirLN+dBpBIX5PFPdzgmLJmW2lIhIrug3TysbwDS/5usZM1A4Ki01qcTjTAlrdqxdpfv2p/MxNIrjSvO9Kky9HrdOhMsFIAWjpWt9+InUkSInYJeUuIiOJFeGCL/exA9LZ1rNvMqnzMBn/9uFpnFAGvV3THuG1OnYs/t2hyFuCdXho6Uhmbl6UpAzFScp1lOYAjiBu5HerdbPIkoiUC+paVsAX+0OlkaQIdDP0x/vlVOdD4W9WfyAYwnR+P2ZicdGZSt8exxNvNBaZ/5J4Mkx3f/FJcZL9CoUfEBzWQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a1f9680-34f9-40d4-ec46-08d9e113beae X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:17.0492 (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: AM9PR03MB7852 Subject: [FFmpeg-devel] [PATCH 31/33] avcodec/h264data: Add missing rational.h inclusion 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: DC2dnN/FdUJD Fixes checkheaders. Signed-off-by: Andreas Rheinhardt --- libavcodec/h264data.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/h264data.h b/libavcodec/h264data.h index 988352aa9a..4efe76a34d 100644 --- a/libavcodec/h264data.h +++ b/libavcodec/h264data.h @@ -21,6 +21,7 @@ #include +#include "libavutil/rational.h" #include "h264.h" extern const uint8_t ff_h264_golomb_to_pict_type[5]; From patchwork Wed Jan 26 21:34:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33874 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1883167iov; Wed, 26 Jan 2022 13:36:51 -0800 (PST) X-Google-Smtp-Source: ABdhPJxtE3aQ8ZOe+LBm7HroAndrvyaBDKmO3qJw2p/7lhK3NvUAijpoXFwA5zbl0p/9m/aWSJiX X-Received: by 2002:a17:907:c01c:: with SMTP id ss28mr494613ejc.405.1643233011124; Wed, 26 Jan 2022 13:36:51 -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 i3si241105edc.578.2022.01.26.13.36.50; Wed, 26 Jan 2022 13:36:51 -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=imZiBQ0h; 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 A27E368B0CE; Wed, 26 Jan 2022 23:35:27 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072020.outbound.protection.outlook.com [40.92.72.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2EC9F68B11F for ; Wed, 26 Jan 2022 23:35:23 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=buGPbw4RHQSD3z2gGE9OW5BmhlzI61N5q6zknechIwhjb8PPOW5AgpHv6VisCyFyEHjoYI9VcUJ/DyuNTDjBAL8fmwDwAXEsBzD6xDlxuh4ACZeWuW85QNOSoeFhTuQL57H5TkbE/uEpbESBH7r5DfW03mC9oL9NZvCjfsYe8exIQ86awFOmK0fKBnSxcW5ii6k/Vt1w+Xl34M8Zu/xyZ/5+21zhVPkzBh+I0G12tOkvK5Sakc0w+RLMQgqfWKP8F0DAlCymup0/gPt9TWuV3rJdYHNSqTdBj0uWErEWlOP1IqTQyEm7qISkX8Dr4FeCw/pCoNPtyk61o5N+n8FZDw== 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=jqcpjjvpFP1du1TkfwKaz8xT4K5++TWP9lhiQ3CFz+o=; b=VREG7SJV19orIow58R3atIBEOoGR1g9gQcY3X0NXXkuy4SlGyfxiGos9WA9GjBrAO8JoYO9l5eFCFkOL5dJC2y5KCOzwri3LT0RNlSoUP+BT7iW8dUup+00u1cPw8fGcyCNYfTI/rdzpbK1rZJewcDWO8tNsd9zXPNDCO6KWvh8WMdnfD9nukH8mOXHT2/LQjNXX84kwkJaJVEhIaUmfPhjtvZ7MEV1h+Gpx7ea/uxrgYL9IaY/DkNk7RZM4v0voZz+QDvgu87si4To4BLvrSnmueCYufMLDaPHrX21K39gIOclxC9kDZyMX5HiyAOSU+ASi6cgMUaUSD43WV8pr+w== 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=jqcpjjvpFP1du1TkfwKaz8xT4K5++TWP9lhiQ3CFz+o=; b=imZiBQ0h/7+hVoc8pG5If8aBWOs8/9vIo96qWmPzqhQZ6ut7ASno+Zmmicq9d26zs/55wDmK69uqr0gvgXeywXIlJ1ZybyXfptSXPQpEYu2myloaJPqqi3Ur7C1DCvbPdiD5P7qFNi4EXx3qT22py0iQ0u3sYuD9rE79e7FFKq56wiuQpNRkM9jnCvfvp/vc1QwQTTqW6gE8Z6xaSFcJRJU6slU4R5PiugHE+0WYPb1sRPdn4DyXW8a+Jpdemg2iHe+TC0w8daVuFFvsvRL3pGCjrGAv96yRKpes6lDDZwCGtuZnNvnzSz4vqzeOM7FgBuFVRuDZaHqzrRW1MJd+4w== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM9PR03MB7852.eurprd03.prod.outlook.com (2603:10a6:20b:433::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Wed, 26 Jan 2022 21:35:18 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:17 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:50 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [UbuwKyclZBwWktdjeYZPMtNQLdO3gaOc] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-11-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fabc81ad-a838-4a19-73cd-08d9e113bf34 X-MS-TrafficTypeDiagnostic: AM9PR03MB7852:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wWJVCX0P1T1+okz0aFbVjDjhpLyVVoz7+9JUts+omQtFo8nuVSISwH87hrG1Ro/adk7rp501iGCL5hREztwR8nvsLBWJBBaMPz92Bs544m6hm4Roe7i5F+CCPbjQXymWmFz9j6aMFmPx2j8zuX2fA9+sainOFVhRymIzVAnuG8wc9iggPfY6SNOXO8uStT4657YrX8FQ4XpJ8kHrj1pHSV1N3HjtJu56SswEOqUL0m48INWx6xbSqMcmxWPlt2nrQtsRM3PmwAo9KAp7dlbvnOFzMFjG1u3i41TySIZG1gmtSEmXpZHSF+jAZKGheIryxUHXpLnPtfag/aOK/k7p3+CuAdBlUn4dTf745Ej8azAqtbWdrV9TL41sew6v+l+1fs0fi632n/fwcwHSfAcSsBJS+K3aFz3LuHJkgMt7xlrpdmLjIPtjohlnVrBACjz25CiUOl3mTANPZ9QYxCHl6VGRyr0V6Fbo5bhQhy9ow16r9T8C1yJwX51rADZ9xo5+4F0yhlwuNFiJ6dm+uzXN3RRCjpsUGklv7Mm3PECKZAH4GVnj2x3gDlUVxEtnrXeS X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: tr75c5PGFvb+nxgfZuE1Ep/67zelozAeAb4CUJZkkomLOAtLAo9tQUzNfqO+6hCP89A6LXCCxy7yX7MbK3JQq07wCxiMz7ljOnCUvS6WtSh81K284Y3aFyM7bOB511jCwrgGNsVrqLSesJUkxzLugRhhBJwN66VZpXOZdguALPz8QHwj5wjDk+s3bljBOqXuOCCkulBZWGQQKyDq1lny9TP1rbwyWfxBUVC5k9iYZEdIXyGIXdO1RttC2gl0Y0io6gG2UDlWNOs2KuZLr7cVMNC0I2R4ZhvvEHIcVwNurwwoxAX+oNoxIvMHVxicZmZYKTCGFdfw9VfF31G58ZjlTcuV3EBz+qJVsjEIY64JPV6Tqf4RHD2T5iGBFI7zjROMEX9L9YHscHW4Ps0Tg9KIn+rEWm3YdgLJkdR9wx6C5m6tThGSf7lR0Oa4leVsBY9WlOxu09RcttAnXq1erlEfw9DhbABqjhbMmUd94fgSLiopiQ/lUqTCMe73WozuNo5DDGMkESiImzpvKNDgnoCdE94c1dywJlZFxUwcxCrOc7Rk28A4AuMtI8JuR1iPtKKjtaC6gkCPE6Tg9ANKjrRSw2UGuT1t6r87H7eyOJ/2/6j4JVRIKLxRXdvGS7cVx0irRhwX1Y9516OCjgoIJDiiLclQcHA0QIkt4rZd5jeZ6zyfvDbhYLFA0bO2XL6I5SGcoTTYQMFyEg6JBYjdbfFdgZnTY4WSaskNo2zI2UA0Wx6O91d/Si6ppJCqBtJORfpcUf3Y54obJKcBuHrJj3yUZV6qfkooNmU4azBh8s7gZ7DnfKUuMmLPCihJY4U5y9vsraIVNI9V2llu6uOj8caFvKtG99gGccS3cqQmYaHLf0GK+x6Vhyy9o410b0i8LnhGF9CgD/AqpaKsmEcwsKuNoNLq5JL+wbMrom15nP5T6+KTBBpkWSJS22Y/rLvBdJ0lWllKAiAd9FgdVxsoSYbtWQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fabc81ad-a838-4a19-73cd-08d9e113bf34 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:17.9086 (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: AM9PR03MB7852 Subject: [FFmpeg-devel] [PATCH 32/33] avcodec/mpegvideo: Use offset instead of pointer for vbv_delay 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: I5SqyD17D0pu An offset has the advantage of not needing to be updated when the buffer is reallocated. Furthermore, the way the pointer is currently updated is undefined behaviour in case the pointer is not already set (i.e. when not encoding MPEG-1/2), because it calculates the nonsense NULL - s->pb.buf. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12enc.c | 2 +- libavcodec/mpegvideo.h | 2 +- libavcodec/mpegvideo_enc.c | 15 +++++++-------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index ecb90d1a41..9c0be69ded 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -465,7 +465,7 @@ void ff_mpeg1_encode_picture_header(MpegEncContext *s, int picture_number) (s->picture_number - mpeg12->gop_picture_number) & 0x3ff); put_bits(&s->pb, 3, s->pict_type); - s->vbv_delay_ptr = s->pb.buf + put_bytes_count(&s->pb, 0); + s->vbv_delay_pos = put_bytes_count(&s->pb, 0); put_bits(&s->pb, 16, 0xFFFF); /* vbv_delay */ // RAL: Forward f_code also needed for B-frames diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 325f62e01f..fa0ea51046 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -429,7 +429,7 @@ typedef struct MpegEncContext { /* MPEG-1 specific */ int last_mv_dir; ///< last mv_dir, used for B-frame encoding - uint8_t *vbv_delay_ptr; ///< pointer to vbv_delay in the bitstream + int vbv_delay_pos; ///< offset of vbv_delay in the bitstream /* MPEG-2-specific - I wished not to have to support this mess. */ int progressive_sequence; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index baa45d20ab..d27a74f9e0 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -1840,8 +1840,9 @@ vbv_retry: double inbits = avctx->rc_max_rate * av_q2d(avctx->time_base); int minbits = s->frame_bits - 8 * - (s->vbv_delay_ptr - s->pb.buf - 1); + (s->vbv_delay_pos - 1); double bits = s->rc_context.buffer_index + minbits - inbits; + uint8_t *const vbv_delay_ptr = s->pb.buf + s->vbv_delay_pos; if (bits < 0) av_log(avctx, AV_LOG_ERROR, @@ -1857,11 +1858,11 @@ vbv_retry: av_assert0(vbv_delay < 0xFFFF); - s->vbv_delay_ptr[0] &= 0xF8; - s->vbv_delay_ptr[0] |= vbv_delay >> 13; - s->vbv_delay_ptr[1] = vbv_delay >> 5; - s->vbv_delay_ptr[2] &= 0x07; - s->vbv_delay_ptr[2] |= vbv_delay << 3; + vbv_delay_ptr[0] &= 0xF8; + vbv_delay_ptr[0] |= vbv_delay >> 13; + vbv_delay_ptr[1] = vbv_delay >> 5; + vbv_delay_ptr[2] &= 0x07; + vbv_delay_ptr[2] |= vbv_delay << 3; props = av_cpb_properties_alloc(&props_size); if (!props) @@ -2721,7 +2722,6 @@ int ff_mpv_reallocate_putbitbuffer(MpegEncContext *s, size_t threshold, size_t s && s->slice_context_count == 1 && s->pb.buf == s->avctx->internal->byte_buffer) { int lastgob_pos = s->ptr_lastgob - s->pb.buf; - int vbv_pos = s->vbv_delay_ptr - s->pb.buf; uint8_t *new_buffer = NULL; int new_buffer_size = 0; @@ -2744,7 +2744,6 @@ int ff_mpv_reallocate_putbitbuffer(MpegEncContext *s, size_t threshold, size_t s s->avctx->internal->byte_buffer_size = new_buffer_size; rebase_put_bits(&s->pb, new_buffer, new_buffer_size); s->ptr_lastgob = s->pb.buf + lastgob_pos; - s->vbv_delay_ptr = s->pb.buf + vbv_pos; } if (put_bytes_left(&s->pb, 0) < threshold) return AVERROR(EINVAL); From patchwork Wed Jan 26 21:34:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33875 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1883285iov; Wed, 26 Jan 2022 13:37:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJzBKqszgiRxuSWcSJ1x6lXGfq0aulRXZgmVHnAxRDL7Clwnzt2CjQH4Fsc9PTxXQ1lTcgd0 X-Received: by 2002:a17:907:3d8f:: with SMTP id he15mr467196ejc.623.1643233020487; Wed, 26 Jan 2022 13:37:00 -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 n15si236509edy.584.2022.01.26.13.37.00; Wed, 26 Jan 2022 13:37:00 -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=DTp0+4k6; 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 8032E68B1B3; Wed, 26 Jan 2022 23:35:28 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072020.outbound.protection.outlook.com [40.92.72.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 55BC168B185 for ; Wed, 26 Jan 2022 23:35:23 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BU1ToUPkzxmNuqX28qCXnaxNG9Av0SKpIVz2PxRiv2ZZu4cbuoyA2arlz/2jCV7Br+Umb+ywYv40FBhiEA2GXgi+RkBjLJ5L47VsbIjokfYetPx80Fz6H5+71nRrQcBl3YNoE5xyhpwUE/4E9sZcTIGsFnUjQWU1JxDgKgYOK1wRmkWsDLe1oADifwlO7p84HdBl2J5MVeYWZSiuTmHsXrRaWfJRFjQuKGB1tiy31aEHzRAahlOkrQJrz1v6qMhcJJP7XreC4U18y5jVyOCo1Z0htmvZkwHoo0isjqIijwF+0gOR7DN9g0cJCcy6znt3xhUjbEN2XjKoP5r9Lgf0JA== 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=/FvBrohaP0DckpDZx3q2FDNmng3it5duE8mBWygvQoA=; b=PUnG5tZO8EgDsNfEfc0cj7lnQmdDYRP11Oeswsp0lQf2L3GTc3Qj8ssnQh74borSVT6RmUSnFBeOGSo4QBrvLVtfjV0mlm8y1z+0MgdZePo2VzU16DrG6qUXXh9SstS3eP+FKTbGeOb729Beifz3kPRE3TRt/1VSRqH5ZTHvOEmPDPgrMy2xhFoK2ciH46RW9WCBJcDMTgvkzrH739VNbxdMC0w5yBvVU7Rgg7sCoMQ4NDcBUqf2XQeLubzlj8pKBMqwdhImq7N6Ci1dm0eXrha6rdTb4ELHgl611vTxl/jAUxjuDSsiuCb4L0uUib78GvcdOyW0sHx3L0glyWyg+w== 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=/FvBrohaP0DckpDZx3q2FDNmng3it5duE8mBWygvQoA=; b=DTp0+4k6eTxHjhJdw1heh15q/FXsJEEiO3RtqZMPgNN2K3Pe4ygrsYftnddfvSTaBi1DANSiWFf+5znhuDbSQiS+EjKx/pK8czGUcbtA0tx74JYvzOBcl1aNrUip5Hrjh8LYVRWmpDuJOerFPOvybVSNcqSQxvUBzNkjTLsjwa9wLARopEwy7jK5XdWiN3dtFDnk95vvKnRacZWxc7vFTx+znwnBFPUrAiglvy9QXi3b99njL/MS5tm1OZSJxfCq+S7wcBnnOVBPOzx0RMocUtCugrr3IWVBwbs+uFkEvFO47IIynozc+WdaYsbm4UaNY61yTN6RHTmURg21c3mkLw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM9PR03MB7852.eurprd03.prod.outlook.com (2603:10a6:20b:433::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Wed, 26 Jan 2022 21:35:19 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4930.017; Wed, 26 Jan 2022 21:35:19 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jan 2022 22:34:51 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [UxPbrhi+91JrLWFui3vUCa8D9qnF36eG] X-ClientProxiedBy: AM3PR03CA0066.eurprd03.prod.outlook.com (2603:10a6:207:5::24) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220126213451.1887291-12-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3a1a0444-98c2-48a2-92f1-08d9e113bfee X-MS-TrafficTypeDiagnostic: AM9PR03MB7852:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /WOBhLQYlUvI+da08Dx2cWplll+w8gX7Rpfm3D3joG1gdvGUmh/UOOtRSviFQBPc5OyRmJcj7ldkwHk7HcpYOv7d5R4x0IgC+DPPmCODFgj7kvnVm54A5UKTf78jUuuusl2YbFgwy5FiNceMxZqhwQz9E+ICWY2ySVe8fc5X5TjzMqJAob0BDeZPMKQA2j3t/DGLLciJGwnPieqj6xdZHThZIihvnU501S2XOeeFD+ufD9Zty5mcBtPLNb7BvMymRvaHkyk7sna8tdDr78t7fZRL2oaxUOr0dbMgqjcK59RPJU86zk41x2gu8mDPxRYOlcBtvrpNphecmPNGWKRMEkp9mN7fZoQK8I0e5j9cWnGlGzNJZszR/8W4RqL/NaheIVK8SthP06oMJi2OG+BqIERisL4boSznvbNdcDHmoxlx3F8pUw3/jcYuudiJB91vuvbRORSXDxQHJpvoXb9ctQcJath22LlZNk8wCdwHfKDhQlpl0JscQZng5uD3qOzsS8se01WgvbnPaDVwuNinAH38P0BSHQABXD+1w5ZqWzdWNc31Qf0e22AjIbbfFCBi X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Ss5FLPfwmmjv7KcQ4cjZNN5OYy49EsZRazOkl59Ui+dyJx+TEljocXDMl32IJgQlYmc9k4+TxDMwklol9Df7JGxb/fcESbO0DMSy+eh2timfbrf81Om1EvdGBhdZz7ha/NMQs/5nzXxkZKXiRxqOxgJIJi7/6/2x5O1u7aKi91JBE8iVf8epqFa2acNvxkR3XkYU+2iLCesDQrVQRpuE6OSCZN3uCkL0lk9nHX4L+FXCzlQTk/iVkaq/Pd82EA3SsIVJtWBtXbl48iXpbgO9bkAIJ0KELsISibePLZCrLcnYe5Rzsx3i09azgowoFFoMa3+ibX5nhbRo7bY9xfycQNDvwAvAML60IQ/8UiwALj0fhjFOpqDEvZpcpNWEhlF+vWlx1IomYYg2xF2K4DiHzTQgIswu2Wo6Bq7UXINohPkcWjtrCS7IlTxTL3HRRY6jO3frX7kEyJZ+bVXMARpBt6un0qKjyaGz20gZjepuPbVV62HP34CNrj0GlPeEK/n9afOTha1pS/rqZoIJqK/oRuu7W6Dfu3m7iRq+nPKH4csoqDFIaR30i9GU1DjLG9MVODj8PYx/Op5liCWuo03GvKi8A3oRyr2isHdqNEOCgjieA4KgPUFLIQNXqo6AXOIi7WPafQCtGAw/7HqW/ooG1WoryOl4xWla4Xd9ImrEU8SWaP46arPwpLh/DCygoOBeKSpcjRW5HXqmrJwqM3s+LRT4IfEHKxdTVUZ0NYRkVTnfEADSdOJaMvddTN5bcfjcVUhOFN6D1KAAjd3Tlwmqj6/3ZI4LAfGCidX0dcfZZxFsXqWWkAeIiRw9+PgKvv4YsufUxpsV5pqJtOx1w0rzZH2I0b0Mqp+rKIyVmj6cJuNisU+kxU8f+xv/lwwRBtTpkXtnUrvn1SLsyB6gZgXqLT6boOEsgOvdJuA4d1/xIwjRiBjliFrLvz3QJYDtlAn5gGFeXEFZmSfpx5jdxzVmHg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3a1a0444-98c2-48a2-92f1-08d9e113bfee X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2022 21:35:19.1129 (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: AM9PR03MB7852 Subject: [FFmpeg-devel] [PATCH 33/33] avcodec/mpeg4videodec: Move use_intra_dc_vlc to stack, fix data race 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: +yvOzZXO4u7/ use_intra_dc_vlc is currently kept in sync between frame threads in mpeg4_update_thread_context(), yet it is set when decoding blocks, i.e. after ff_thread_finish_setup(). This is a data race and therefore undefined behaviour. This race can be fixed easily by moving the variable from the context to the stack: use_intra_dc_vlc is only read in mpeg4_decode_block() and only if one is decoding an intra block. There are three callsites for this function: One in mpeg4_decode_partitioned_mb() which always sets use_intra_dc_vlc before the call and two in mpeg4_decode_mb(). One of these callsites is for intra blocks and use_intra_dc_vlc is set before it; the last callsite is for non-intra blocks, where use_intra_dc_vlc is ignored. So if it is used, it always uses a new value and can therefore be moved to the stack. The above also explains why this data race did not lead to FATE-test failures. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg4video.h | 1 - libavcodec/mpeg4videodec.c | 24 ++++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h index 9fc79b1a22..14fc5e1396 100644 --- a/libavcodec/mpeg4video.h +++ b/libavcodec/mpeg4video.h @@ -94,7 +94,6 @@ typedef struct Mpeg4DecContext { int new_pred; int enhancement_type; int scalability; - int use_intra_dc_vlc; /// QP above which the ac VLC should be used for intra dc int intra_dc_threshold; diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index b8118ff2d2..2aea845580 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -1105,7 +1105,8 @@ int ff_mpeg4_decode_partitions(Mpeg4DecContext *ctx) * @return <0 if an error occurred */ static inline int mpeg4_decode_block(Mpeg4DecContext *ctx, int16_t *block, - int n, int coded, int intra, int rvlc) + int n, int coded, int intra, + int use_intra_dc_vlc, int rvlc) { MpegEncContext *s = &ctx->m; int level, i, last, run, qmul, qadd; @@ -1117,7 +1118,7 @@ static inline int mpeg4_decode_block(Mpeg4DecContext *ctx, int16_t *block, // Note intra & rvlc should be optimized away if this is inlined if (intra) { - if (ctx->use_intra_dc_vlc) { + if (use_intra_dc_vlc) { /* DC coef */ if (s->partitioned_frame) { level = s->dc_val[0][s->block_index[n]]; @@ -1357,7 +1358,7 @@ static inline int mpeg4_decode_block(Mpeg4DecContext *ctx, int16_t *block, not_coded: if (intra) { - if (!ctx->use_intra_dc_vlc) { + if (!use_intra_dc_vlc) { block[0] = ff_mpeg4_pred_dc(s, n, block[0], &dc_pred_dir, 0); i -= i >> 31; // if (i == -1) i = 0; @@ -1378,7 +1379,7 @@ not_coded: static int mpeg4_decode_partitioned_mb(MpegEncContext *s, int16_t block[6][64]) { Mpeg4DecContext *ctx = s->avctx->priv_data; - int cbp, mb_type; + int cbp, mb_type, use_intra_dc_vlc; const int xy = s->mb_x + s->mb_y * s->mb_stride; av_assert2(s == (void*)ctx); @@ -1386,7 +1387,7 @@ static int mpeg4_decode_partitioned_mb(MpegEncContext *s, int16_t block[6][64]) mb_type = s->current_picture.mb_type[xy]; cbp = s->cbp_table[xy]; - ctx->use_intra_dc_vlc = s->qscale < ctx->intra_dc_threshold; + use_intra_dc_vlc = s->qscale < ctx->intra_dc_threshold; if (s->current_picture.qscale_table[xy] != s->qscale) ff_set_qscale(s, s->current_picture.qscale_table[xy]); @@ -1436,7 +1437,8 @@ static int mpeg4_decode_partitioned_mb(MpegEncContext *s, int16_t block[6][64]) s->bdsp.clear_blocks(s->block[0]); /* decode each block */ for (i = 0; i < 6; i++) { - if (mpeg4_decode_block(ctx, block[i], i, cbp & 32, s->mb_intra, ctx->rvlc) < 0) { + if (mpeg4_decode_block(ctx, block[i], i, cbp & 32, s->mb_intra, + use_intra_dc_vlc, ctx->rvlc) < 0) { av_log(s->avctx, AV_LOG_ERROR, "texture corrupted at %d %d %d\n", s->mb_x, s->mb_y, s->mb_intra); @@ -1763,6 +1765,8 @@ static int mpeg4_decode_mb(MpegEncContext *s, int16_t block[6][64]) } s->current_picture.mb_type[xy] = mb_type; } else { /* I-Frame */ + int use_intra_dc_vlc; + do { cbpc = get_vlc2(&s->gb, ff_h263_intra_MCBPC_vlc.table, INTRA_MCBPC_VLC_BITS, 2); if (cbpc < 0) { @@ -1790,7 +1794,7 @@ intra: } cbp = (cbpc & 3) | (cbpy << 2); - ctx->use_intra_dc_vlc = s->qscale < ctx->intra_dc_threshold; + use_intra_dc_vlc = s->qscale < ctx->intra_dc_threshold; if (dquant) ff_set_qscale(s, s->qscale + quant_tab[get_bits(&s->gb, 2)]); @@ -1801,7 +1805,8 @@ intra: s->bdsp.clear_blocks(s->block[0]); /* decode each block */ for (i = 0; i < 6; i++) { - if (mpeg4_decode_block(ctx, block[i], i, cbp & 32, 1, 0) < 0) + if (mpeg4_decode_block(ctx, block[i], i, cbp & 32, + 1, use_intra_dc_vlc, 0) < 0) return AVERROR_INVALIDDATA; cbp += cbp; } @@ -1810,7 +1815,7 @@ intra: /* decode each block */ for (i = 0; i < 6; i++) { - if (mpeg4_decode_block(ctx, block[i], i, cbp & 32, 0, 0) < 0) + if (mpeg4_decode_block(ctx, block[i], i, cbp & 32, 0, 0, 0) < 0) return AVERROR_INVALIDDATA; cbp += cbp; } @@ -3529,7 +3534,6 @@ static int mpeg4_update_thread_context(AVCodecContext *dst, s->new_pred = s1->new_pred; s->enhancement_type = s1->enhancement_type; s->scalability = s1->scalability; - s->use_intra_dc_vlc = s1->use_intra_dc_vlc; s->intra_dc_threshold = s1->intra_dc_threshold; s->divx_version = s1->divx_version; s->divx_build = s1->divx_build;