From patchwork Mon Jul 8 17:52:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 50415 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp5941998vqv; Mon, 8 Jul 2024 10:52:48 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXXqTODk0R27vhSzlPdC5S9w1fBd/tOoxkmXNv/55/o/Bd/dzeAczXsQejA9LGafGQlcaQ0Oxg7VmVgKGBf3m0e0Hy6Akpx2tzMEQ== X-Google-Smtp-Source: AGHT+IEuvznjWxe6/vvtZffjtnk8tqme8SkQgKznOB9yjspdA7xqReE6Ih1g6zOdvUaseyLFzOFt X-Received: by 2002:aa7:c495:0:b0:57d:669:caf2 with SMTP id 4fb4d7f45d1cf-594bbb4b2d5mr248993a12.25.1720461168359; Mon, 08 Jul 2024 10:52:48 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-594bdf56b86si81626a12.465.2024.07.08.10.52.48; Mon, 08 Jul 2024 10:52:48 -0700 (PDT) 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=TVUvjL3t; 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 865FD68DC93; Mon, 8 Jul 2024 20:52:40 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2095.outbound.protection.outlook.com [40.92.58.95]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EB8AC68DC5A for ; Mon, 8 Jul 2024 20:52:33 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UtfbWJ1WbuKs01aPbEhektGlG8iwMCfL20C+X+kV7Gv/B+urMIDEwYbijiD3/8Uenn1FK//FyQxJotSUqE5e4FJzY+JcMWaPYHdBYjpxpenbLk2QugPZhEKey4BSBheKvBXX2z3JLykfkoXVXZ44Omz8dqlLQZ3iafk7oHbJ3ThpRPH2gcSBaXqEaw1bULpckqyUIUrRSODGc42Vw8EM3UXwfGvjSFmvZw3GdmUUAG9dEaSe3eKJeyBQSW2MqthL7MZLkixP3g5nn1ChAP9fgVx6RuFaGpGcB5UunXYPpZJqCS3j0wd4lFKWN04jjyXyKGqw6mIdJA2FTaS0eb2BRg== 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=FVtma3kMXdVftvtNSKnWY6dckI8YbNoUs+g0Askkb6U=; b=Z/oC0Y9oI6mzhkeRxQpNQ2q+4JRN3ByX7ZZOEuiZelBVmhUaT5LcLi5+FFyAtwrZNyNmsVbsvfdrpufQSqN+dy8j0nkMzMaSlAm8fgc93qwgFiWWgVEIIR+3Iw46S810QyqcxcgAhyh+t1sDarniDZP2wZPceSOJ2+CIMlmvMjN/NkgURj4G5Nzfj+u1e0kOYdiyAVEvFW7xMmMv0ESw0shhdbkxoEXzYUuQ+8z48oO8KSY4W0+C0GbRtYHLA+CNDMKT69vfWVLgbP5L1NDq1VwLzLLKHAQnXNCRQBwFGhmHrLZhHtN7Po3l98S1SdXw0Zvz83WDhAEvzuqY4yvpvg== 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=FVtma3kMXdVftvtNSKnWY6dckI8YbNoUs+g0Askkb6U=; b=TVUvjL3tgvgH3nBfKo7Z0ZSRWWG5PweiuNVbqYDp7Ehc8IeGItSTDYyAOc0uuq4bwhscIqxaHWRKmGIaJUz/kehUl8wa7ovb0vEz58QyKKbAYb42f8X020QYsECUZUNiR34ILc6EkPfd21uhVCNk/faw46CdpDhs0GEyoVjlEjpRbvA1WyU7Akv1Enc1ZlSH1SDK2zkQiD4wDd8xGxttN+kCTtK1BEXiha4soxbIVRGrHZHBZrkrS5BqqT5lrVAJTxGJlyp0gqfYLX97M5NbKW2z+JYcgY7OHaGY7e0fbuedIUJu/dckQjprOufr3wv2FHnt6mVn88zwoH5QurjFuQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0179.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Mon, 8 Jul 2024 17:52:27 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.7741.033; Mon, 8 Jul 2024 17:52:27 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Jul 2024 19:52:18 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [Zgwc4fa1sgdqpFxSNeEuQzPrENi5XuQPKqmnyTw5rKg=] X-ClientProxiedBy: ZR0P278CA0091.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:23::6) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240708175218.892808-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0179:EE_ X-MS-Office365-Filtering-Correlation-Id: 98c73813-a665-4670-33d6-08dc9f76bb49 X-Microsoft-Antispam: BCL:0; ARA:14566002|19110799003|8060799006|461199028|440099028|3412199025|1710799026; X-Microsoft-Antispam-Message-Info: 6hTww6PoRf5OywAyRnRgzZJwy3gP6sXtB9WjJdHTHDtwdImQ66akr1IJy2We5ZA4mtnU6usDwzyKXEOIXMN4zvX/JMY3EOr7W19mBWc8sG6TBdzw+IiVe9jR/MtBWhb/nqLvlhRQcgBSsEplDZN18cIS72CnJteBGEJCHqAh7WaMTDFDBfqAUU7bLYj+5/yDa4mafc/lRUkfsLkfZ+P0zW8OCB7O566FoRG7spN4cjq4Jy+8iAb2mzOhFWAthJ/jz5cQIunf9UIRQwBTLMxk1wk9RG600CQzKg0SvDgs4cCm2UAtz/sdZCRY28tfIC5ixz62rOK8+Cf5fq11ier24utXCRdZGr5xhNM3u8XZYwpQXXxkHK73GyOpjQAObl4xfLZ/TDAw1WKxQa4AZPFJWPFjzn2XIb4/tv4nhlSPibdYBaoFpIiZoe2vBxp7k79BK/zuWoE79RBeDyLNLqH5iEyoklpw2IhF8A4K8GtlMAJhdSPWhrUdM02eESDbbnTokXr1pSjutcXEeYLhiQVQMUigqQQnoJG9QIwDQZrfQcvwkPp5Ov69QRTKRFSvMHtJEw+cC4jNCnzNhVR8miWMYOofMxCpZuWOBCjaFYV/IeKRWQSPtfgAZFuYcMHoKeu4IedsM91+iG+NZGpgBYemTCfZtdPanbl+lnXpCb89Y17kaTq/Qilr8aS8CHQv0JBs X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FF/qFXIU1i30gZz7pLhUVOJWxubMeoLJGiGaEXz0RO3se0CbK8iBkxRwzi6uN2eKyX7Xm7KrLW6VeKM+bOy+kLjOEE+zhU009YGMIby/jfQAMhYxtQ2QY9sT8NShMZB07qIoHusA0ZPfScWNc/eLcfpStNicuFpUtCRgqfFL/EPK4UK4NrveQMQDmmoA6GZ+3WPToJ35vac2vNXMdyADqyak5ff8t+kiebGZ0sH1NIn26WliMSJX9wZ2n87s80y6iqrBUrKkpK6maA2ZdBROb7e+EhF7rwstPJt0KJcp7xHtnYYKQZxDH7Wrxbuna1u6SPO9dBXvclhY33eJpEO/kdNey3eUTahwU9/PL5yWaOxKj3npZm/bP3YQN5ePKBb+Z0XrcXnY0PMmsHgSEY4ZrPKM5RgT/VT4e1TTmv8DaHM3duQrxIKoZnxVuWppZVgc2kqeZAboL+Xu729wzLZ4f2Ys0qY8F/2yF8IKLvxT3cvnYIfajpf5DYfoAxyr0O7j5KuOhw2RplNzTPLebNCAnPVRb61Bg4O6PkaBGPX6aZSx7gXcZ3+G/k5/gwJKJrVIlV4KMZZGinR3wIL5cufmsIcqgBYvCGc2pTtKl5TvQ2453hrLT5L0sPnnP6uvjcPuYqw9Npj4L8foYgbYClXRRJ4ObUjevoFaMCazmvpCqOArEFRN+UYZyNfBHL6q5JDkRuAX2sZThYxJwsdz1plYaRjTpN7ga7MSGUBOwSv+M+NnPGj5RfP8NyMqn55RHC6gFBHi0qrgTTMQvH1ad5eTXG8R5H0txfLMEwWeal1rVfxlSJ88lHJGRK80KIvDblC0Wrm0Lgq+JUn58+m4p3o+nPt7SCe1kr5jS7/40gs4REpkROm1bTW1eXW0FehLxPVUYRBeWRcuVWHz+5HJORv4lvYu/v0lSpmy4Y3ZdgdPTw4RHTxVmwC3iJaJXWDoz1UU9d9kkAcuECRe4giiAsvkyqHeIL/E0woTIrrRNpKj0UgBxI4V2iRc5YP5AuIHdsV6TTZVbgslu4fTM899izndZWiKMJ8CwGWcWKRRv2hABOwrsxTQe/J+3RWzHAdPYc0K5DPUM8+RKvIFyYZTM4AN6XNKvSqZKaVU9waeQQIPZoHE4XJC4nh8bgz2QMTwDLMy0gJCLfzPVwJNbnZddcYLSj3wKLW5khDd0Pls+DgUWTXY2qRkx3ZXFSQA2w/K4sDf7mcUl3VxfkrTP5xi03L0gR2X30IYqK4V2ZvwYqkNX6ZLggBjb8PAMrIMlHi2P8o/DUwruaJWTd0ruZ9gGGS/0g== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98c73813-a665-4670-33d6-08dc9f76bb49 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2024 17:52:27.8912 (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: PR3P250MB0179 Subject: [FFmpeg-devel] [PATCH 4/4] avformat/matroskaenc: Avoid indirection via st->codecpar 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: J5Y5YWD6zb3z Use the already available AVCodecParameters pointer instead. Shortens lines. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskaenc.c | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index a98d33abf3..60c896e964 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -1369,7 +1369,7 @@ static void mkv_write_video_color(EbmlWriter *writer, const AVStream *st, (ypos >> 7) + 1); } - side_data = av_packet_side_data_get(st->codecpar->coded_side_data, st->codecpar->nb_coded_side_data, + side_data = av_packet_side_data_get(par->coded_side_data, par->nb_coded_side_data, AV_PKT_DATA_CONTENT_LIGHT_LEVEL); if (side_data) { const AVContentLightMetadata *metadata = (AVContentLightMetadata *)side_data->data; @@ -1379,7 +1379,7 @@ static void mkv_write_video_color(EbmlWriter *writer, const AVStream *st, metadata->MaxFALL); } - side_data = av_packet_side_data_get(st->codecpar->coded_side_data, st->codecpar->nb_coded_side_data, + side_data = av_packet_side_data_get(par->coded_side_data, par->nb_coded_side_data, AV_PKT_DATA_MASTERING_DISPLAY_METADATA); if (side_data) { const AVMasteringDisplayMetadata *metadata = (AVMasteringDisplayMetadata *)side_data->data; @@ -1415,12 +1415,12 @@ static void mkv_write_video_color(EbmlWriter *writer, const AVStream *st, } #define MAX_VIDEO_PROJECTION_ELEMS 6 -static void mkv_handle_rotation(void *logctx, const AVStream *st, +static void mkv_handle_rotation(void *logctx, const AVCodecParameters *par, double *yaw, double *roll) { const int32_t *matrix; const AVPacketSideData *side_data = - av_packet_side_data_get(st->codecpar->coded_side_data, st->codecpar->nb_coded_side_data, + av_packet_side_data_get(par->coded_side_data, par->nb_coded_side_data, AV_PKT_DATA_DISPLAYMATRIX); if (!side_data) @@ -1471,11 +1471,11 @@ ignore: } static int mkv_handle_spherical(void *logctx, EbmlWriter *writer, - const AVStream *st, uint8_t private[], + const AVCodecParameters *par, uint8_t private[], double *yaw, double *pitch, double *roll) { - const AVPacketSideData *sd = av_packet_side_data_get(st->codecpar->coded_side_data, - st->codecpar->nb_coded_side_data, + const AVPacketSideData *sd = av_packet_side_data_get(par->coded_side_data, + par->nb_coded_side_data, AV_PKT_DATA_SPHERICAL); const AVSphericalMapping *spherical; @@ -1531,16 +1531,17 @@ static int mkv_handle_spherical(void *logctx, EbmlWriter *writer, } static void mkv_write_video_projection(void *logctx, EbmlWriter *wr, - const AVStream *st, uint8_t private[]) + const AVCodecParameters *par, + uint8_t private[]) { double yaw = 0, pitch = 0, roll = 0; int ret; ebml_writer_open_master(wr, MATROSKA_ID_VIDEOPROJECTION); - ret = mkv_handle_spherical(logctx, wr, st, private, &yaw, &pitch, &roll); + ret = mkv_handle_spherical(logctx, wr, par, private, &yaw, &pitch, &roll); if (!ret) - mkv_handle_rotation(logctx, st, &yaw, &roll); + mkv_handle_rotation(logctx, par, &yaw, &roll); if (yaw) ebml_writer_add_float(wr, MATROSKA_ID_VIDEOPROJECTIONPOSEYAW, yaw); @@ -1594,6 +1595,7 @@ static void mkv_write_field_order(EbmlWriter *writer, int is_webm, #define MAX_STEREO_MODE_ELEMS 1 static int mkv_write_stereo_mode(AVFormatContext *s, EbmlWriter *writer, + const AVCodecParameters *par, const AVStream *st, int is_webm, int *h_width, int *h_height) { @@ -1654,7 +1656,7 @@ static int mkv_write_stereo_mode(AVFormatContext *s, EbmlWriter *writer, }; int fmt; - sd = av_packet_side_data_get(st->codecpar->coded_side_data, st->codecpar->nb_coded_side_data, + sd = av_packet_side_data_get(par->coded_side_data, par->nb_coded_side_data, AV_PKT_DATA_STEREO3D); if (!sd) return 0; @@ -1715,7 +1717,7 @@ static void mkv_write_blockadditionmapping(AVFormatContext *s, const MatroskaMux } } - sd = av_packet_side_data_get(st->codecpar->coded_side_data, st->codecpar->nb_coded_side_data, + sd = av_packet_side_data_get(par->coded_side_data, par->nb_coded_side_data, AV_PKT_DATA_DOVI_CONF); if (!sd) @@ -1771,7 +1773,7 @@ static int mkv_write_track_video(AVFormatContext *s, MatroskaMuxContext *mkv, // check both side data and metadata for stereo information, // write the result to the bitstream if any is found - ret = mkv_write_stereo_mode(s, &writer, st, IS_WEBM(mkv), + ret = mkv_write_stereo_mode(s, &writer, par, st, IS_WEBM(mkv), &display_width_div, &display_height_div); if (ret < 0) @@ -1782,8 +1784,8 @@ static int mkv_write_track_video(AVFormatContext *s, MatroskaMuxContext *mkv, (tag = av_dict_get( s->metadata, "alpha_mode", NULL, 0))) && strtol(tag->value, NULL, 0)) ebml_writer_add_uint(&writer, MATROSKA_ID_VIDEOALPHAMODE, 1); - sd = av_packet_side_data_get(st->codecpar->coded_side_data, - st->codecpar->nb_coded_side_data, + sd = av_packet_side_data_get(par->coded_side_data, + par->nb_coded_side_data, AV_PKT_DATA_FRAME_CROPPING); if (sd && sd->size == sizeof(uint32_t) * 4) { uint64_t top, bottom, left, right; @@ -1855,7 +1857,7 @@ static int mkv_write_track_video(AVFormatContext *s, MatroskaMuxContext *mkv, color_space, sizeof(color_space)); } mkv_write_video_color(&writer, st, par); - mkv_write_video_projection(s, &writer, st, projection_private); + mkv_write_video_projection(s, &writer, par, projection_private); return ebml_writer_write(&writer, pb); }