From patchwork Wed Jul 21 17:29:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 28999 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5d:965a:0:0:0:0:0 with SMTP id d26csp6384969ios; Wed, 21 Jul 2021 10:29:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwK9hDtN//V2EerSOq87CCRSaeR5JT4jcrpkNGmGgiF5UNfgV8BBk9cJbxuprxbTuCRdcnT X-Received: by 2002:a17:906:144e:: with SMTP id q14mr39950604ejc.19.1626888574346; Wed, 21 Jul 2021 10:29:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626888574; cv=none; d=google.com; s=arc-20160816; b=v+KH1IKVnzRY8HPsQ08L8WKZuU9NywLmyZyGGlWlHEPQgIrXm+6HzxmovYBT/2aDpq uLATzPMSY2eI+RntELYgdArhKSaG/6HM5vzHNE4vDJ5uwAy+4HshbVaH7hEnC2+FP6KR orN9fA+fsNz0pTL6hMTGXO/rXsHL4PtkGvN+dDaHIV3PyvNcI2QVnv0v88qk2lZtH3Na y/bu0QPX8pogjNgN74z4qh+83csNroMxbaRU7tmkVxti6D/j+BhUCko1Kolwes0tyfED G9Qokxfxwq/O1TFyNzQXFz4tJSmMvXd+f+sUFf9N8tPFK70uBDZUKvja/eNMfh6hGEfa ogvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=/iaSpV/V5bmPDkr/Pe7Q1XL7CZOc7OYkCEyoJ5QfKZc=; b=jgNPeG1Dts0OtuT/B5vMD+gA+d6l4AUZgl/kmDp2lQIdRheggk6T2dJ7++/7mS8F/r bImY4DGYLGe3tlURDTm6Old2zkKE9VvTIH/SVlDRxU0iCTf5NCl/qw2q8fjHqHlfH8m8 tvcXAcz7rDxBLoVw362+XbV5WbK+CnfKn+wGHbxk4AccqY5w83zmYkF+eVU3MLXOA5ze YLG1E3d854v0ctiGEurcSl01zq7rtosIlHsX3ukz7+N+7vqF5hRHrL3YOyOqyoZ0zlSo URwzqx1O5CCtv8d3plMIS/nIiTsHWGXsrM2u9oENdIea1v9S6ZeBKi1mW38KohCfdqBb Kwfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=JfFxs8vO; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h3si28194085ede.293.2021.07.21.10.29.34; Wed, 21 Jul 2021 10:29:34 -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=@gmail.com header.s=20161025 header.b=JfFxs8vO; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 117F868A2B9; Wed, 21 Jul 2021 20:29:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CDA4A68A2B9 for ; Wed, 21 Jul 2021 20:29:25 +0300 (EEST) Received: by mail-lj1-f175.google.com with SMTP id e14so3967698ljo.7 for ; Wed, 21 Jul 2021 10:29:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=/ozitqdLiylbF9VXDgkOuaaOP3PKNqcfG75um4DyQKM=; b=JfFxs8vOTSxzucHbr7Unt8F2Gd0UEtAnDqwUA7pPcFm7GW2BQszpyG2lX4zvgCRpUd eJY3rWAGeV4lxZS7Kwa8LaxByNOgzKHRCWHHrx4YWArpUi0PcI6uBEfW+LqgoMFEulvY kxW5oP41y4Y9ulJwX1tqR62Z1KPpkSlMFPTqh6qT0UXysUF1ZTF3jxgVJ+d3F56WX491 g186tvpdrqNM6vgDvkwiKpjWHJ5d0pd8LnBia2xMc7AGz5smOgZ1hq81dwGvjs7qnjVL umtxOpEfe3umISLj4/gi4GDpdDVquDJPzVKbwOAOlgjVVTmKBJEQGqRThwKernq69d8a OZBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=/ozitqdLiylbF9VXDgkOuaaOP3PKNqcfG75um4DyQKM=; b=R0Y13PODGeqJwK/iZcb3TidK2964sUFSS6JmdWrsilIFcZwMwndhFc638LSSoBS3Nv kppF+/DABuHd2HqiHb+Vb7yIVcYPgNxvvEmmzH+v7gdjGJfYkNXnNlkHCund20KZYIkt DTNwJJ/E+nmwK90DQcGasBzV+mAIpbB+OwpDdiyljEMPH3mgsNsAa/IysQ8+Rh4u8UDT EiRcVSHshaA5OGNEHru2QwQWJn8jYpFKSdKMWrdOokNOBBpH6K53A/JPW7GUB7TOuz0S F4kF0xD7krRB2JUQJMdmZLyJG359DCH7Uz5dgQCZE8SIpI5GaCYCYGPiek5roajCmeju m/IQ== X-Gm-Message-State: AOAM531IpxE/MKoqgYwgoMhefMPdSf2S2uj6RFl/Yn/dm+qbpIOQEYkt IF3XQq/gZCIWJ/UanDg3rJYaIfxzKiInDw== X-Received: by 2002:a2e:9d15:: with SMTP id t21mr32316137lji.200.1626888565149; Wed, 21 Jul 2021 10:29:25 -0700 (PDT) Received: from localhost.localdomain (91-159-194-103.elisa-laajakaista.fi. [91.159.194.103]) by smtp.gmail.com with ESMTPSA id c32sm942303lfv.75.2021.07.21.10.29.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jul 2021 10:29:24 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Wed, 21 Jul 2021 20:29:16 +0300 Message-Id: <20210721172916.40739-1-jeebjp@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] ffmpeg: fix order between field order autodetection and override 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: peV3orheTIC4 Somehow I missed this in fbb44bc51a647862eb05ae3f9d7d49a0be9bed57 , even though the lines were within the context. Probably the code originally being after the this logic had something to do with it, but previously it only touched the avformat context's codecpar, which did not affect the encoder codec context whatsoever. Fixes #9320 Fixes #9339 --- fftools/ffmpeg.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 40e8010096..b0ce7c7c32 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -3483,12 +3483,7 @@ static int init_output_stream_encode(OutputStream *ost, AVFrame *frame) enc_ctx->bits_per_raw_sample = frame_bits_per_raw_sample; } - if (ost->top_field_first == 0) { - enc_ctx->field_order = AV_FIELD_BB; - } else if (ost->top_field_first == 1) { - enc_ctx->field_order = AV_FIELD_TT; - } - + // Field order: autodetection if (frame) { if (enc_ctx->flags & (AV_CODEC_FLAG_INTERLACED_DCT | AV_CODEC_FLAG_INTERLACED_ME) && ost->top_field_first >= 0) @@ -3503,6 +3498,13 @@ static int init_output_stream_encode(OutputStream *ost, AVFrame *frame) enc_ctx->field_order = AV_FIELD_PROGRESSIVE; } + // Field order: override + if (ost->top_field_first == 0) { + enc_ctx->field_order = AV_FIELD_BB; + } else if (ost->top_field_first == 1) { + enc_ctx->field_order = AV_FIELD_TT; + } + if (ost->forced_keyframes) { if (!strncmp(ost->forced_keyframes, "expr:", 5)) { ret = av_expr_parse(&ost->forced_keyframes_pexpr, ost->forced_keyframes+5,