From patchwork Thu Sep 23 15:29:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 30489 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp569688iob; Thu, 23 Sep 2021 08:33:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzsgGvStXA0Cv1AwOEYSE5mi8KSZdxXFpbMS2nzI92DM8osQ6pySDeGQzGUmGbibyYAlJ8T X-Received: by 2002:a50:d84c:: with SMTP id v12mr6062269edj.203.1632411230927; Thu, 23 Sep 2021 08:33:50 -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 h7si7069579ejo.107.2021.09.23.08.33.50; Thu, 23 Sep 2021 08:33:50 -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="Or/dBwH+"; 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 5B88268AEB3; Thu, 23 Sep 2021 18:30:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074076.outbound.protection.outlook.com [40.92.74.76]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3C5B868AEEF for ; Thu, 23 Sep 2021 18:30:22 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZDk/sQ2sTP/pagLdAMo6REWWx5oXzzTrdN3nytOVqYHHZYm0tvZJjR4A4OuAdaMYMjW9yRRAhIdRQbtcq3WMlje0+2IRj6UXGOU4jJ7UdPUSuN9WWlZ8XPAvikf4Tz61Rs3y/jSzW81abcHvLaY1Ll3B2gK7/KArecLUWiVilxshtASJKp0gQa+BGY1PcJ6QuB6XlJUMJXIEsE1aj/6IVsH8cJzVlLcK/h3NCGGRyC/h2S+hj7q/Vua9nicm5sGEoqTlUaFIkIlNHqmQqdCZUUXDLVPQrix0gTVCd0waSRRRoc45uawEF+/pM5wLNFGuIAnIKVwcKl0zeQ9RoUMIrQ== 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; bh=GRAN6QA1wSLEVrEg9RFcEqTpY69AwvZ0NuDy8LfiHX4=; b=GhgWyxkJLJ/7FneVMbVzufekhZu1QqBinxOJ16KPahY9vxZKAkrboZFE8ZTsP7rKtxlgKws2PhWwG//VyXT8KoF34GU1ZIOdclM7XoqTOQlrubx0/Jc41mRTKOO4m2D1whrvZVT+2xjwEf7dyr1HJtG2ORzrxnEcBcfYVhoZsu+pcoVoyCRLx8M5sV87u4WosbIg2CBxA5HDjz1ZgfxAI7NtDbMOuFpJsma8pw3Del8Oqxuyy+Y3fJGQL+rutNnrrjTNNJzvznM4/wMT8X46DX4mm9rErolm/V3I/ZHABQpST517b0Zi8R3OG8k8ynWsF5f5VYTPsT7MVQEbs99HRw== 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=GRAN6QA1wSLEVrEg9RFcEqTpY69AwvZ0NuDy8LfiHX4=; b=Or/dBwH+ukXomYOV3CkV5ex8X98HWulM946eRYai7JOrQ+mnHDsoeYAaUD823jX68fobVVYHCdy8WGnxcA1C9z+t1UJdM833wNnAtd8a4OH7gfdW/yPRiw41xddQ/UG/qShS4GrZVlxQ/njj80u3Q894EsOKK/2JcnQwtRMFVpaZ5i9MOIjKdwQ/qmndxFUUl/kt5zkxHmR9xouv1tzPeCzkuLGSSzZfSEMfLn91CeZ8kTJHPh39YjabditTBKtKWREDNcjcWKJaDyaHvTGu//cGhRiX3e0W5TlLfcoFTpYf+msG9Ul2FDZr6bUxVz3Fx6u++wHyXTOPa6Czoqq4CA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5172.eurprd03.prod.outlook.com (2603:10a6:20b:c1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15; Thu, 23 Sep 2021 15:30:18 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00%3]) with mapi id 15.20.4523.021; Thu, 23 Sep 2021 15:30:18 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Sep 2021 17:29:01 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [/wl2kxA2u9bhE/GY5pmi3GUGYpI4P3+h] X-ClientProxiedBy: AM0PR06CA0106.eurprd06.prod.outlook.com (2603:10a6:208:fa::47) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210923152902.42865-25-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by AM0PR06CA0106.eurprd06.prod.outlook.com (2603:10a6:208:fa::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13 via Frontend Transport; Thu, 23 Sep 2021 15:30:18 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2c624423-2850-4c8e-6ec0-08d97ea70c74 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSygBPrM25OmITrtIHMJgdSpeozhxIfJwvfULbhhanCVSGeJMZzI4BgUi2BW7Kfvfd7ewcNWfbm1LS6oOWDgfZNcK0v3P4oDMxyRgGwKMhIFZiJV+fXeh/tJYEaSQnh5bTdcB0B4encUZZ1EDd8yAxwDEsn2tLtiNa0yWq2eM6NcB9/I3uXDD8rxj68I9tdgvWYtbvoRF1dHLE4oafPyM2OkMZ8aXgNncgqBJB/fqEJ5VQLCLmHBTMMuSN19ZY1/N+WDBNNHNxweQykbPW+p5lTEOcUbFjdtnsoJHGl/KdL1WyDeB+sawsIjKQZJ8sG5WOp/IvOgBlj6uQ6DeDMa3jF0DiiEVcr6OZ8plSC0pAz86auIBS3yBrO36cDu4QizBuqQeq9tVn2IV9wo9PdooEP0cB74N97QylB5r+1dQzsFhLopWOE3XnFxFm1V9+dj7aw/iD8SVBH6L4r8EhEJRRTutp7+4b4gG4NmAgx+YiLHbcO/dGLPq0+9J6Km1jN1bCjtdxbsEqNUPml6uXChy9O9KyykAQoQ8fBUHq7z87lcxzAQ8NGxI0c+Xlpm9pNN6Z0sZNvte5lsVSuBkRvJ5bn+H4PQhvgLDl6pL9fkmNlNbpEMQ+IBH74EtkkNFl5Xqe3y3mBL0CuhvL7REyLNNf0jMX9w6VEtvKo2tNqYqAdPYffyNGVvkLu11k2obUOTcv9SJ24rIkKRihkLAocyNiWHbbEd4qhdM32kRfieq9CdyYgbwUjCB/nHHlLOL4C428= X-MS-TrafficTypeDiagnostic: AM6PR03MB5172: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jaVB9lOKeIRj4E1dyT/Nb+EvRIAfqrNTa/WmKTNcMa6jfKpZpSuC3pC1S9we8cm1M0BPUj+Eb1pie3h7AICWRr4qlJjS5MS1Dn0arq1g/e8BJQ5OmzvRFPZY3HYHRZmTHZ8l7BcZuYMQPqZQGONArfmo9qlJSF2+TMASJusM2arlip10BAlbEHmD8vEgLEbI3MTRus4jCm+pJKi4I2oOhqBWtGOxsqnNgp34cWTtJw9iNqdNelcjWgnI/eCHL36SF2j2+HTedqxAwkJe3WP5hAfyw8cg2yg084ag175/IpDi9e8qbiFStdKV6atykUBN25364SECuOodCJq6wJHvJWXAPqfOXDNjRwtldbZx1uQMF2DD7XqOSysqnwEiRhA/HzogH37ghCo0NlA46NqK8ZIpGlpahG85wP2TGc6W/Sg/3Yy7ok9fOrYIbl8/e5q5 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ThDoy+meGHxxUBdvb6z+2je8kIbbNd2FFL9Hq/40x/hNJ3XFrb6BXMaT5BT8T4Gidnd3DhKp8fvxhBG+O+dHtiroD95/UqHf+DnKdZ5CcvEapH9yu4OltPF9GzpnGCNI9PDY7m8/uerPh6g+ohVVYA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c624423-2850-4c8e-6ec0-08d97ea70c74 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2021 15:30:18.5451 (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: AM6PR03MB5172 Subject: [FFmpeg-devel] [PATCH 26/27] avformat/gxfenc: Simplify writing padding/reserved elements 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: rq4aNmeTXM5R Signed-off-by: Andreas Rheinhardt --- libavformat/gxfenc.c | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/libavformat/gxfenc.c b/libavformat/gxfenc.c index 1a80ecb603..8cc3bd456e 100644 --- a/libavformat/gxfenc.c +++ b/libavformat/gxfenc.c @@ -25,6 +25,7 @@ #include "libavutil/mathematics.h" #include "libavutil/timecode.h" #include "avformat.h" +#include "avio_internal.h" #include "internal.h" #include "gxf.h" @@ -134,9 +135,7 @@ static int gxf_find_lines_index(AVStream *st) static void gxf_write_padding(AVIOContext *pb, int64_t to_pad) { - for (; to_pad > 0; to_pad--) { - avio_w8(pb, 0); - } + ffio_fill(pb, 0, to_pad); } static int64_t updatePacketSize(AVIOContext *pb, int64_t pos) @@ -424,8 +423,7 @@ static int gxf_write_flt_packet(AVFormatContext *s) avio_wl32(pb, gxf->flt_entries[(i*fields_per_flt)>>1]); } - for (; i < 1000; i++) - avio_wl32(pb, 0); + ffio_fill(pb, 0, (1000 - i) * 4); return updatePacketSize(pb, pos); } @@ -542,13 +540,7 @@ static int gxf_write_umf_media_mpeg(AVIOContext *pb, AVStream *st) static int gxf_write_umf_media_timecode(AVIOContext *pb, int drop) { avio_wl32(pb, drop); /* drop frame */ - avio_wl32(pb, 0); /* reserved */ - avio_wl32(pb, 0); /* reserved */ - avio_wl32(pb, 0); /* reserved */ - avio_wl32(pb, 0); /* reserved */ - avio_wl32(pb, 0); /* reserved */ - avio_wl32(pb, 0); /* reserved */ - avio_wl32(pb, 0); /* reserved */ + ffio_fill(pb, 0, 7 * 4); /* reserved */ return 32; } @@ -559,13 +551,7 @@ static int gxf_write_umf_media_dv(AVIOContext *pb, GXFStreamContext *sc, AVStrea if (st->codecpar->format == AV_PIX_FMT_YUV420P) dv_umf_data |= 0x20; /* marks as DVCAM instead of DVPRO */ avio_wl32(pb, dv_umf_data); - avio_wl32(pb, 0); - avio_wl32(pb, 0); - avio_wl32(pb, 0); - avio_wl32(pb, 0); - avio_wl32(pb, 0); - avio_wl32(pb, 0); - avio_wl32(pb, 0); + ffio_fill(pb, 0, 7 * 4); return 32; } @@ -585,11 +571,10 @@ static int gxf_write_umf_media_description(AVFormatContext *s) GXFContext *gxf = s->priv_data; AVIOContext *pb = s->pb; int64_t pos; - int i, j; pos = avio_tell(pb); gxf->umf_media_offset = pos - gxf->umf_start_offset; - for (i = 0; i <= s->nb_streams; ++i) { + for (unsigned i = 0; i <= s->nb_streams; ++i) { GXFStreamContext *sc; int64_t startpos, curpos; @@ -609,8 +594,7 @@ static int gxf_write_umf_media_description(AVFormatContext *s) avio_wl32(pb, gxf->nb_fields); /* mark out */ avio_write(pb, ES_NAME_PATTERN, strlen(ES_NAME_PATTERN)); avio_wb16(pb, sc->media_info); - for (j = strlen(ES_NAME_PATTERN)+2; j < 88; j++) - avio_w8(pb, 0); + ffio_fill(pb, 0, 88 - (strlen(ES_NAME_PATTERN) + 2)); avio_wl32(pb, sc->track_type); avio_wl32(pb, sc->sample_rate); avio_wl32(pb, sc->sample_size);