From patchwork Wed Feb 24 11:53:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 25955 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 879D944B5C7 for ; Wed, 24 Feb 2021 13:54:27 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7096968A82B; Wed, 24 Feb 2021 13:54:27 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0772768A2BB for ; Wed, 24 Feb 2021 13:54:21 +0200 (EET) Received: by mail-wr1-f41.google.com with SMTP id w11so1596105wrr.10 for ; Wed, 24 Feb 2021 03:54:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jgEmW8bn9wUXdiOLXRxiCJVbisCwTRA8Cz5c2TxPDBU=; b=QuYTXJmUGWiUGc9f2pP7YNP6DZNH2FnwfAMmg4QTFmFBYTGO6qz20vsvdZBJFjf3Tm dt5+wLrpX7EW+FyTW0KWYgvIPNKudPtn3wykHE2JlV07JhDTBRFCbzBmXU1hSJ3o+CgZ VxPRs6LBDoYsDbHRWGjertnjEi2WWozsx2SS7RH1SHIta143EciElJeuNPM+GsvUXSAH SO/8yFc3Ks8Dk7Dba9cw/SRc5cv9fcxOu9iIn4ShIUtgwtFGHX5oO0jaMqQ/q5rQpIaN tJZaSKaLJaEilCdREpxwBG1LphwamF4M2cOh+91D1Vnr8w/Xm6YUCJpZ+X9Xnp+eEqOY W+7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jgEmW8bn9wUXdiOLXRxiCJVbisCwTRA8Cz5c2TxPDBU=; b=gnK9+Cyc1g+AnYWOvrh/L8xZqDeFHkmJ1LIn5ep0FSU/xx50h89L4B89ceC1MRtGyq iOvSMAGWyq5W27czLNDgI/wyyfjuOIuF4fWMAudHilf6kEYktxM9oXxBBAlV3MrCTnkv zQDiIXV/MPSXCJKy+hrZVm5ilXmbZANRxX85q0xR3yTwT9k+FBmfG6fHLzQiZLxEbqSO AKYp+B3od2P4gXzOQQA3AU/fZ/hAFe9rZ9s5ZOtsGTBPyufrZSIxnt6yrqxFvUBNjyzH ph5Jp5pWxTI49C805j2sOJL+QkYrCl+0VhsQ2Uz9nm8CZ9sjnyO66PfLRsWBSr5+Zoyu Z81w== X-Gm-Message-State: AOAM533O4l0JEn/xjYiDgIMY3ILCkj8ZadvBItg/hChojt0ED4RHj5pt 6nB24vIZmhtO6DcdKrW554E/yBA0BMA= X-Google-Smtp-Source: ABdhPJy1YveviTe+Mf8wlHyTZswxsLKssiN2CfwYiWLPTeYfonRx25gFFZm7tUlTgYrkXCSI+KirBg== X-Received: by 2002:a5d:6585:: with SMTP id q5mr19174414wru.270.1614167661191; Wed, 24 Feb 2021 03:54:21 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id k15sm3911776wrn.0.2021.02.24.03.54.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Feb 2021 03:54:20 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 24 Feb 2021 12:53:30 +0100 Message-Id: <20210224115341.794293-4-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210224115341.794293-1-andreas.rheinhardt@gmail.com> References: <20210224115341.794293-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 04/15] avformat/movenc: Only check for timecodes if they are used X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" Signed-off-by: Andreas Rheinhardt --- libavformat/movenc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index cf0e35dd33..8ac5c317b4 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -6387,7 +6387,6 @@ static int mov_create_dvd_sub_decoder_specific_info(MOVTrack *track, static int mov_init(AVFormatContext *s) { MOVMuxContext *mov = s->priv_data; - AVDictionaryEntry *global_tcr = av_dict_get(s->metadata, "timecode", NULL, 0); int i, ret; mov->fc = s; @@ -6505,6 +6504,9 @@ static int mov_init(AVFormatContext *s) if ( mov->write_tmcd == -1 && (mov->mode == MODE_MOV || mov->mode == MODE_MP4) || mov->write_tmcd == 1) { + AVDictionaryEntry *global_tcr = av_dict_get(s->metadata, "timecode", + NULL, 0); + /* +1 tmcd track for each video stream with a timecode */ for (i = 0; i < s->nb_streams; i++) { AVStream *st = s->streams[i]; @@ -6725,7 +6727,6 @@ static int mov_write_header(AVFormatContext *s) { AVIOContext *pb = s->pb; MOVMuxContext *mov = s->priv_data; - AVDictionaryEntry *t, *global_tcr = av_dict_get(s->metadata, "timecode", NULL, 0); int i, ret, hint_track = 0, tmcd_track = 0, nb_tracks = s->nb_streams; if (mov->mode & (MODE_MP4|MODE_MOV|MODE_IPOD) && s->nb_chapters) @@ -6824,6 +6825,8 @@ static int mov_write_header(AVFormatContext *s) } if (mov->nb_meta_tmcd) { + const AVDictionaryEntry *t, *global_tcr = av_dict_get(s->metadata, + "timecode", NULL, 0); /* Initialize the tmcd tracks */ for (i = 0; i < s->nb_streams; i++) { AVStream *st = s->streams[i];