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