From patchwork Thu Oct 24 12:26:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 52476 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:1c41:b0:48e:c0f8:d0de with SMTP id im1csp304824vqb; Thu, 24 Oct 2024 05:27:28 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWcAm1pa10ISsc44DzWyRhaYYrveBMxvX4zVbunWGtT4GecvHKP6uEjYbsTkMEEfpma5vg3MdoBEBh+cyS8PpUG@gmail.com X-Google-Smtp-Source: AGHT+IEcgeV8QZGIUL1zgAsPFlPbspIrvKOaoZGem1a1y+PpRXrF4XrekmN3FyPg+KP7t3iqJ37F X-Received: by 2002:a05:6402:5215:b0:5c9:3f2:e526 with SMTP id 4fb4d7f45d1cf-5cb8ac5c041mr2292194a12.1.1729772848286; Thu, 24 Oct 2024 05:27:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1729772848; cv=none; d=google.com; s=arc-20240605; b=Vs7lCfDzbPS+KT+/ncrIT6AKBShd/ttm44ay/6RCccec00z3Pz1D3MVXbdBcCmcnJG j6OVx3eaAqDTlffp23KDV3MnVY/L13GUB9LAUOvw4ugOMeCG7E6LwFvg4YVABSR322mT 69SV+pIw0TGDnSBzbA6xNt8bm1EVEHykh47YTBCacxfYGeqmOSRw8/r5hXRj7TmfFIr1 SfzzLXQCHQj+gcVBIrkZCSfWnbezo5BRj+6RjnSN4TELfCdXWgdHxTcmoAD89+A1GGyN PpTMa6S6Ju4JSB63Di/ydZlG2xoBRRtU+sIESW9gglyj8L230vbQnEg1PmW5NFt4qtDV QMDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=1RiP7Csl5IWMc+rSMwwnPGnbzWO1JAtqdVMxHvA0HhM=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=M84BuTIrQ/t31g/cPf2j9fNgt38o0QRdg8MeAm6sJarbWeIME4VEUHLOgQUQm4FiGU 9IQyycYguR0Qy2kIGx6GdKL38wArtmizz4jyaRIhG6vO4SmSvREV3gy5zvUbFvzLS2ZD vl5TV5MZsnn0VNcodZjaCVRckdGU7rPFMVENETSyWWQASYv6ACIAPVSoWdjbJ/k/1AsV uXqFbNmnUdJebZUUYpuYW6CpKVptpU7NoGU1scf6hQEuGMSzh3GC8Fg09ya/KMPoBDBU u4EIQi8B6gMYT008mcZ/3TFG0VbveAgq38lASgc3Em4LsGVpOMsru7VheAw3ZqAL3w6C /A9A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=csgNZ5q1; 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; dara=fail header.i=@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 4fb4d7f45d1cf-5cb66c7db34si7096516a12.460.2024.10.24.05.27.27; Thu, 24 Oct 2024 05:27:28 -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=20230601 header.b=csgNZ5q1; 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; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C155968DB89; Thu, 24 Oct 2024 15:27:14 +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 603A268DA4A for ; Thu, 24 Oct 2024 15:27:07 +0300 (EEST) Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-2fb57f97d75so7316611fa.2 for ; Thu, 24 Oct 2024 05:27:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729772826; x=1730377626; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=If31NZv8JbwEwvEnIZ2ob2OtNf+ab2MVLuZ38C1Ht3E=; b=csgNZ5q1BXfh/ohTM2ikqop3R2WV3Ac8ZwPzS6S9F6CGLFWjdo19FORjU1bJ0xyBDh 2yz58BBRJte0Lq04jEp+Ei0P3hFTFrzzU7LUAJJrMmxCoTVZ/sL2Z+mBmghV2O7VgL3T KBPrUKXBVx9zNDk5B2dBeDR8aTxin/Xbw9ftk/pp//3zeUM5mVkbTdu4wCtYkTU/u2uC 7yX+ghWs9VEYPp4JvYinPlEfb5CptOubilvI5eUxoA5Yjg6aFHIxLkaQQ+UFw3g0o6NA l8b2EO9Zsh7DlPjxWzbxRgABKRDJ4FYaRqq4NUOwKLragwdaFsRglCtaMKSh19FETl69 ANNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729772826; x=1730377626; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=If31NZv8JbwEwvEnIZ2ob2OtNf+ab2MVLuZ38C1Ht3E=; b=HMjkTsZe8v2vzafBXbfOa2pZl9rmkUEb8jHgoJE5y2VKcTCaz+lRzOmDGxN8+Cqxjr k+mn9Du1bIBq5SL7Ci099NWxbntaGbbJHZiV+kKEiNJfXOBvp/Tg/1qqP7SVjGFoAwmW BnGDLdT+1sQzPJWrmGwp/Bl3VyLtlow/wa12EcmGhARiNladjSBPFzmoaB711nqEIUbk 04tUow+E2qCx+CK99yfkoSNkBC0RrC+E96Jriv7ZjQG8ZYmr5lgm/UQE+Xjcmwi/xq4f nTpIDOeSwz1JLDAd3PX/3I2iD/bHfWcPRkS9W8WTO7gyQCczfoLRjVn9SwzQJXW0QXv0 ibyA== X-Gm-Message-State: AOJu0YzeJs3b2q5VLTUU1S+jvXvryOMYqlf/3okOLJu1XrVVLUXpOWZA l9kVrgViGi/oHF6J2+LeDgii4GahGaZjLdoQpKfbUH2sPL2iGbMAFnftVQ== X-Received: by 2002:a2e:b8c2:0:b0:2fb:382e:410f with SMTP id 38308e7fff4ca-2fca8227ddbmr11078451fa.26.1729772826154; Thu, 24 Oct 2024 05:27:06 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2fb9ad76206sm13817991fa.52.2024.10.24.05.27.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2024 05:27:05 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Thu, 24 Oct 2024 15:26:50 +0300 Message-ID: <20241024122659.676104-2-jeebjp@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241024122659.676104-1-jeebjp@gmail.com> References: <20241024122659.676104-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 1/3] tests/fate-run: add support for specifying the final encode muxer in `transcode` 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: 8iTaIoIiZke/ From: Jan Ekström This allows for direct dumping of the packets' contents (useful for text based formats), while getting the timestamps/sizes etc from ffprobe. If used via TRANSCODE, the actually utilized muxer should be added within the last argument as an additional dependency, as that is not done automatically. Signed-off-by: Jan Ekström --- tests/fate-run.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/fate-run.sh b/tests/fate-run.sh index f8d67de25a..9a47830464 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -257,7 +257,9 @@ transcode(){ additional_input=$7 final_decode=$8 enc_opt_in=$9 + final_encode_muxer="${10}" test -z "$additional_input" || additional_input="$DEC_OPTS $additional_input" + test -z "$final_encode_muxer" && final_encode_muxer="framecrc" encfile="${outdir}/${test}.${enc_fmt}" test $keep -ge 1 || cleanfiles="$cleanfiles $encfile" tsrcfile=$(target_path $srcfile) @@ -267,7 +269,7 @@ transcode(){ do_md5sum $encfile echo $(wc -c $encfile) ffmpeg $DEC_OPTS $final_decode -i $tencfile $ENC_OPTS $FLAGS $final_encode \ - -f framecrc - || return + -f $final_encode_muxer - || return test -z "$ffprobe_opts" || \ run ffprobe${PROGSUF}${EXECSUF} -bitexact $ffprobe_opts $tencfile || return } From patchwork Thu Oct 24 12:26:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 52477 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:1c41:b0:48e:c0f8:d0de with SMTP id im1csp328995vqb; Thu, 24 Oct 2024 06:04:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVepYVnhAWsNDRtAVDuDJZyGsQ0mENQE/vd+lmtzpDwlNk3rQnjem0sZG7gkeAAInECuYjrscDNKmDdsJ6eTEMI@gmail.com X-Google-Smtp-Source: AGHT+IGN3qPEMA4DgFvQ1p0bB5UrpBUPO53/manTzQe0jqi6qPC8tnTLwVgu0pGc1VK6s9LbjWrh X-Received: by 2002:a2e:9785:0:b0:2fa:fd41:24c1 with SMTP id 38308e7fff4ca-2fca82a02a7mr9619771fa.45.1729775050651; Thu, 24 Oct 2024 06:04:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1729775050; cv=none; d=google.com; s=arc-20240605; b=WdFf6sIKHidFBt7QmQlk/JqaaRLYs29QBROxpYof3bftQV9C1BXf2Pa95cXMzu1fyE ypq7xaSSG3ehIcrOSn005sEl21egNwlib/9VYuzVRnGAvB+RItxOK0SMauS15LDf7ZOD a5WxDoFCMgeo+6ssy3oCmUQObxLWx0+sdCTdw3AtMNyQXCz7JIwX0HmtBJy4vtPwaGQm JR+b9U42HMnqFig9hESlccZv4wb8Ld2cSyeMJAsBeLvqHtF+cVRJ9Y2xIk6fLqzvW4tZ 5Nmoauq9HZq9PBwlbzEq0i4kabuPEZBs/aotehHuHh3JMmwnBP8fENdOkwQ4HRfiHfJr 3fMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=XDSTGa36RAqu50opXmgxTdGU259n5PbXFodWnzAyh7g=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=QhyOQsZrht/Obbm1Nxkw0+5C1ZNq5zDqH5iXwU+iTuzNE8F24/4Cbg+zOpJ7yWVfGy 2C+sxPSD7nafJ0zEYGe1ouEoSDVpqFlkSLjmBuluH7imPZ0jgLsz+eIvZiLx7Ah08zus S4ceacR0Gt/tGfjGuZc6G8S+qCsN0eGmYf+IylZ2+wdgh84kIHuXsgMrBv5grWJmawSv eHSimtz9FXgU1u5Z1kS8Zi+MXAd8jVbP70Z2MDbqZ+F8ySAWObkGKocTlZtNPL4KuoK0 MoUO4+UD+lZtiV2DgUYNHS5F5ySHXVNhcq8UriXXc2087l55z99Nd7jbfK349Ql2s4nz nQ2A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=SvpVLwY1; 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; dara=fail header.i=@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 4fb4d7f45d1cf-5cb66a67dd2si7223657a12.147.2024.10.24.06.04.07; Thu, 24 Oct 2024 06:04:10 -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=20230601 header.b=SvpVLwY1; 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; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6400868DBDB; Thu, 24 Oct 2024 15:27:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E026268D910 for ; Thu, 24 Oct 2024 15:27:07 +0300 (EEST) Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2fb443746b8so8459631fa.0 for ; Thu, 24 Oct 2024 05:27:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729772827; x=1730377627; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=mpGY/MoWphUIgptkdPkIJacs3twhk57neG5pbP7Nbqg=; b=SvpVLwY1x8takvc+URzc2e+0YLNKXYmdrKoemUosoYxHDgTSeLirYYqfAWFvn1UbkT 20Z0P7qB+QUCVEgva+VaarUORW5TsEUPoD1cIbwehWbbPBWia7OmV9ggRuJe4ZCjRytd xwJVNB6Xyrjw8Ig/QLdhJ4WOquC0e2iVN0udD3uSPpmREBC9tG8diUpe9QfzqHRx4UCm 9Bhl+WR2EDFkRcleV9RbQsDast4x+/CBzpocaebVECfKsdmMwl95tODpGaiVUQy/ADpa TY3iJ8Av+KpZ3gcjrkUrsHfe8LsA5imGMGeAEKuuI082TNmXfxnjHxOCrXZt82QtPySh GQtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729772827; x=1730377627; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mpGY/MoWphUIgptkdPkIJacs3twhk57neG5pbP7Nbqg=; b=uN+wrpwDmp521EiZzOTmbu0RX8CFsdR3GTpdYPzZyLfA6r/Hb0vuX9+DHo2MkyHP7J wcubihhx9Bk2cObNWI4C1saCbbTFXV2YOCj9iwViL4Yc0laab7F1BZP0Kb+Og6GojNEr gIMYW2uvUcNHKAXaVsFWBBhNJuXOG8C3LX63UZ6BhB3x1HTUYv6QKPiYmmt2glcSbDeA qRXSdxFXNhcxfyXsOzxVCAJV0VNJBC2cry/EGxsANbWA+4Cv6/SDwikJ0F2nKyDSAokJ bpNsXtigSIEDv1RHU17hUtespFnr0oau3vfmQZHNK1b9KV8oMP755o6A7TtBwcToeQtv 4YOQ== X-Gm-Message-State: AOJu0YxcFMXqokWo3h2l5hprOXhzPDWxq4DZALwS4nvUwyxkUiNPd7eY of7c/kRXU0d9UynX1c7VBtPawf+QupCAIZbJaFiVIePXJBe66qB86UVlPA== X-Received: by 2002:a2e:be87:0:b0:2fb:3bc0:9c7c with SMTP id 38308e7fff4ca-2fca822ffefmr10730391fa.25.1729772826817; Thu, 24 Oct 2024 05:27:06 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2fb9ad76206sm13817991fa.52.2024.10.24.05.27.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2024 05:27:06 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Thu, 24 Oct 2024 15:26:51 +0300 Message-ID: <20241024122659.676104-3-jeebjp@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241024122659.676104-1-jeebjp@gmail.com> References: <20241024122659.676104-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 2/3] avcodec/avpacket: add functionality to prepend to AVPacketLists 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: 3nTc6yTooVr2 From: Jan Ekström Signed-off-by: Jan Ekström --- libavcodec/packet.c | 20 +++++++++++++++----- libavcodec/packet_internal.h | 2 ++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/libavcodec/packet.c b/libavcodec/packet.c index 381001fd65..a6302340bb 100644 --- a/libavcodec/packet.c +++ b/libavcodec/packet.c @@ -546,6 +546,7 @@ int avpriv_packet_list_put(PacketList *packet_buffer, int flags) { PacketListEntry *pktl = av_malloc(sizeof(*pktl)); + unsigned int update_end_point = 1; int ret; if (!pktl) @@ -569,13 +570,22 @@ int avpriv_packet_list_put(PacketList *packet_buffer, pktl->next = NULL; - if (packet_buffer->head) - packet_buffer->tail->next = pktl; - else + if (packet_buffer->head) { + if (flags & FF_PACKETLIST_FLAG_PREPEND) { + pktl->next = packet_buffer->head; + packet_buffer->head = pktl; + update_end_point = 0; + } else { + packet_buffer->tail->next = pktl; + } + } else packet_buffer->head = pktl; - /* Add the packet in the buffered packet list. */ - packet_buffer->tail = pktl; + if (update_end_point) { + /* Add the packet in the buffered packet list. */ + packet_buffer->tail = pktl; + } + return 0; } diff --git a/libavcodec/packet_internal.h b/libavcodec/packet_internal.h index 52fa6d9be9..9c0f4fead5 100644 --- a/libavcodec/packet_internal.h +++ b/libavcodec/packet_internal.h @@ -34,6 +34,8 @@ typedef struct PacketList { PacketListEntry *head, *tail; } PacketList; +#define FF_PACKETLIST_FLAG_PREPEND (1 << 0) /**< Prepend created AVPacketList instead of appending */ + /** * Append an AVPacket to the list. *