From patchwork Tue Mar 5 00:00:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 46795 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp82766pzc; Mon, 4 Mar 2024 16:01:31 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVu0Zx3ghb9z8SYunGC0Kw52aipQAPhKXMIL3oZnRHQGP6Mxi4NXxbcq5ABtxzDO3TJMJUOgToVC6iSnbfe2VLS7LOsZp2VHal0DA== X-Google-Smtp-Source: AGHT+IHKzaaCUn5ssV93oLvAoERgYFd/HSOL2U65QQDnwLnkohgfvnk55WQjwQ+kV997IQVEIkik X-Received: by 2002:a05:6402:2027:b0:565:e4b7:e784 with SMTP id ay7-20020a056402202700b00565e4b7e784mr6007893edb.40.1709596891451; Mon, 04 Mar 2024 16:01:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709596891; cv=none; d=google.com; s=arc-20160816; b=biiGVrYjvdwZd9m9IEnKT87DnH5hMhwU1ZAIyUp0S1ooFpk0qpLXW9eki/MEghodxv NQ1OHgqQZUKmtjU2/R9Wk2ATPWDWxCE56Y8FLtnU+P+8+Hny4P9UODEz/tVK+TS++4rN 7SSYwCyo7YJDS6Vm659tFpha6N42jaoKVX9keovcmk2ggx3cWnpzQiZpms7U/HdM6u/C 1IVOz6dXDytkSz+SO/7ERLEEM6ERS/NHkFMjUeWKwGaTc7+QbHbmhuBPMsKeolBVvR70 Qjai+Ao5RS9SBODdColp6vY7dw4iL/2J8/1/ZHTVI/uYEbqOzGMJVNaTX70YjpO5fguN Nv7w== 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=YyUVqTqT2fOC8X81HLFfgmIGBHygHmMeqJAY/14+Uqg=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=l5fe4Vs+5wNY+ucf94XCvt2NmagHKkMSCZpKkNFZdOlfeeBqkKKJR1ypKS1tR72Dfi VjFSxWV9My+cu2JmIuZSARgoP2nYAgC30TwO98j6mq9LT0mNxzsByi4O9VbLQSjms7zf hsrBG3D8QCxsQYU32DYNxQey3gdv9/1QPz68ONmy27RZQRbAGijPKx/VWjBy5FGoWPXI SW6qxofPDAe2pWxxkHLw3WHnkOuB05cIePkdZJ9MM/3tJWiuGKJnf55CTCWJwmCZFvK0 0CFWpWpZY9TjBTlUtEex0WmlUb0+R3wMGoqMHHMFYW7Nh0Qbq3mW+Xz9+XrdF/wp5OZN RQvA==; 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=fdMCOcNu; 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 b4-20020a509f04000000b00565fad3832asi4373213edf.574.2024.03.04.16.01.08; Mon, 04 Mar 2024 16:01:31 -0800 (PST) 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=fdMCOcNu; 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 CBADC68D4C8; Tue, 5 Mar 2024 02:00:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 71FE968D476 for ; Tue, 5 Mar 2024 02:00:45 +0200 (EET) Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-1dc49b00bdbso45804955ad.3 for ; Mon, 04 Mar 2024 16:00:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709596842; x=1710201642; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=Nn9ajW+DbwTCSPNpe32gdyhs3Z/vcyEeHgx+0tgRH1s=; b=fdMCOcNuZwmghAQ2/21NWcoQsI1aIBZrETT+AfLVAOXE1/OyH9irq1wrdvsSvLGSqa Ksj8/+rXa7svGDr4Kn36Q+FmQLksznpm09LEI+N+vhZIqPSWppp6xHIbgWJ04kAFFUD/ SRroLgw6myKzad+n39+ebowymZc112O+rWHEX2vEru3s9IZbCjOweybXUMH/jJVLOCXS 3+mU9yZqNbaT+ZLvGLJTa0DoLwrwpph/w3Auk4stDKL3lvzPu5bfVil3H0TW+4Gewxvy ZSDABL6cMJ/XXjV9IYa7IZf34HJS6Uqx0c5EQxwONsD0GwBxJCW9RisVJwzTbFmy+AcB vRlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709596842; x=1710201642; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Nn9ajW+DbwTCSPNpe32gdyhs3Z/vcyEeHgx+0tgRH1s=; b=s8eyq5XyEi6gEOV0QWg7tRZfX1I28op3hkLKrJqOX64KPKE/2PpbqnqVPpe2s9KPFf tmMoF20NtKQScxZak/KAqvz0SaJyZuJAaTdE70eXr6k9lcJsXdIlZMQt99w5pvK1+Fgw ZpkIV0eoUDzYaNn1omuLVndhBik3rdhezrSM/U/M5WGvhxYmaABMfhIJ6yYtl+eBn3uv 5GctVg23IVG1iIBkSSmmZPP/GsibnyVlfLOHxVfG+Fi2RrRkCyJMRAKo4pZ80u61DJJb uXcipakleGcLQstrfLGwHjhkBj2jhJCJdzbXZw1PUhk84J16Y6oHc0bSJzf7/oTfffCz cKng== X-Gm-Message-State: AOJu0YzjB4+J5ltqlgTYUkxwW0wuQ4VA/rX2YjPL4QBYcBPFd6ni8yDb zD3HC3ACkc93PbkJ35gkoKYU7eMPOMqfk4x4Rhyzou3hyv1LW8m974nY8XAk X-Received: by 2002:a17:90b:3595:b0:29a:67fa:7bbf with SMTP id mm21-20020a17090b359500b0029a67fa7bbfmr7443462pjb.43.1709596841339; Mon, 04 Mar 2024 16:00:41 -0800 (PST) Received: from localhost.localdomain ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id gb2-20020a17090b060200b0029acce2420asm8288663pjb.10.2024.03.04.16.00.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 16:00:40 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 21:00:21 -0300 Message-ID: <20240305000033.10379-1-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/9 v2] fftools/ffprobe: fix printing side data components and pieces 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: kcufXE6T+FWn Components and pieces are side data specific fields and there's a variable amount of them. They also need to be identified in some form, so print a type too. Signed-off-by: James Almer --- fftools/ffprobe.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index ac6b92f5d6..8390377159 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -244,6 +244,11 @@ static const char *get_frame_side_data_type(const void *data) return av_x_if_null(av_frame_side_data_name(sd->type), "unknown"); } +static const char *get_raw_string_type(const void *data) +{ + return data; +} + static struct section sections[] = { [SECTION_ID_CHAPTERS] = { SECTION_ID_CHAPTERS, "chapters", SECTION_FLAG_IS_ARRAY, { SECTION_ID_CHAPTER, -1 } }, [SECTION_ID_CHAPTER] = { SECTION_ID_CHAPTER, "chapter", 0, { SECTION_ID_CHAPTER_TAGS, -1 } }, @@ -258,10 +263,10 @@ static struct section sections[] = { [SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA, "side_data", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, -1 }, .unique_name = "frame_side_data", .element_name = "side_datum", .get_type = get_frame_side_data_type }, [SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST] = { SECTION_ID_FRAME_SIDE_DATA_TIMECODE_LIST, "timecodes", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_TIMECODE, -1 } }, [SECTION_ID_FRAME_SIDE_DATA_TIMECODE] = { SECTION_ID_FRAME_SIDE_DATA_TIMECODE, "timecode", 0, { -1 } }, - [SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST] = { SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, "components", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_COMPONENT, -1 } }, - [SECTION_ID_FRAME_SIDE_DATA_COMPONENT] = { SECTION_ID_FRAME_SIDE_DATA_COMPONENT, "component", 0, { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, -1 } }, - [SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST] = { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, "pieces", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_PIECE, -1 } }, - [SECTION_ID_FRAME_SIDE_DATA_PIECE] = { SECTION_ID_FRAME_SIDE_DATA_PIECE, "piece", 0, { -1 } }, + [SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST] = { SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, "components", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_COMPONENT, -1 }, .element_name = "component", .unique_name = "frame_side_data_components" }, + [SECTION_ID_FRAME_SIDE_DATA_COMPONENT] = { SECTION_ID_FRAME_SIDE_DATA_COMPONENT, "component", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, -1 }, .unique_name = "frame_side_data_component", .element_name = "component_entry", .get_type = get_raw_string_type }, + [SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST] = { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, "pieces", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_PIECE, -1 }, .element_name = "piece" }, + [SECTION_ID_FRAME_SIDE_DATA_PIECE] = { SECTION_ID_FRAME_SIDE_DATA_PIECE, "piece", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name = "piece_entry", .get_type = get_raw_string_type }, [SECTION_ID_FRAME_LOGS] = { SECTION_ID_FRAME_LOGS, "logs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_LOG, -1 } }, [SECTION_ID_FRAME_LOG] = { SECTION_ID_FRAME_LOG, "log", 0, { -1 }, }, [SECTION_ID_LIBRARY_VERSIONS] = { SECTION_ID_LIBRARY_VERSIONS, "library_versions", SECTION_FLAG_IS_ARRAY, { SECTION_ID_LIBRARY_VERSION, -1 } }, @@ -2063,14 +2068,29 @@ static void print_dovi_metadata(WriterContext *w, const AVDOVIMetadata *dovi) for (int c = 0; c < 3; c++) { const AVDOVIReshapingCurve *curve = &mapping->curves[c]; - writer_print_section_header(w, NULL, SECTION_ID_FRAME_SIDE_DATA_COMPONENT); + writer_print_section_header(w, "Reshaping curve", SECTION_ID_FRAME_SIDE_DATA_COMPONENT); print_list_fmt("pivots", "%"PRIu16, curve->num_pivots, 1, curve->pivots[idx]); writer_print_section_header(w, NULL, SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST); for (int i = 0; i < curve->num_pivots - 1; i++) { + AVBPrint piece_buf; + + av_bprint_init(&piece_buf, 0, AV_BPRINT_SIZE_AUTOMATIC); + switch (curve->mapping_idc[i]) { + case AV_DOVI_MAPPING_POLYNOMIAL: + av_bprintf(&piece_buf, "Polynomial"); + break; + case AV_DOVI_MAPPING_MMR: + av_bprintf(&piece_buf, "MMR"); + break; + default: + av_bprintf(&piece_buf, "Unknown"); + break; + } + av_bprintf(&piece_buf, " mapping"); - writer_print_section_header(w, NULL, SECTION_ID_FRAME_SIDE_DATA_PIECE); + writer_print_section_header(w, piece_buf.str, SECTION_ID_FRAME_SIDE_DATA_PIECE); print_int("mapping_idc", curve->mapping_idc[i]); switch (curve->mapping_idc[i]) { case AV_DOVI_MAPPING_POLYNOMIAL: From patchwork Tue Mar 5 00:00:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 46793 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp82401pzc; Mon, 4 Mar 2024 16:00:57 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCV9ijQIgKipS97y945Ey7DSmbRd177liGc3gGC+8rBAqtywAB1UFsRMIqNwfBiCm8aZPpgjvNsrAxbd5u5kqUTMHJ1vaOAJ1DusFw== X-Google-Smtp-Source: AGHT+IEdh8muiSJrPzRBZlxDxaoB7iUlQIqb3DquigFQGnojdRIfkjvTEhCJng/gegDklLem0xL6 X-Received: by 2002:aa7:c30e:0:b0:567:156e:7893 with SMTP id l14-20020aa7c30e000000b00567156e7893mr4678170edq.4.1709596857003; Mon, 04 Mar 2024 16:00:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709596856; cv=none; d=google.com; s=arc-20160816; b=wax5Z/siel26t9+cnpuB32dfY/fRG5mQx9PENvpCZgJ1KLwlZBF4UEa+1WPZziqidH mtZoFHFiQHveeOarLALjuK90IzJePgp5bQyBEK5ha0j6zRtC/Eu2E/XABA3t8aR1CVjQ V2khN7qw4hPc9jsIXFRYVU/9M5WeeCRfCPJQb1tT93S3QBuZ+vqhRbo5Gmfa5pJVsGpC qPQtu1LL9ikbhhbJI8lsk/kxqBZSvyn/2/r1ALUr5YmZZx+w6nYZ0r+BtJR7ZlmMsqgE shZsX2gjibfQW3x9v0iydyZmEkw9gJzD/mESBWZOueut8pl/bFJqumfMhoRJ/dF5Cr+4 t92w== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=lznNxaNI4lgTzc6ItzWRyrAEZuPE4P/8MOZwq9LPUy0=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=a9BaWEdE0JwBb6PjhT4mO/cgcvbjFo/wPIYhlfNPgK/cUf7CHWNbdsBzQOOxRbi9Rz 1fAux8BCO+y924EeOUg40YTrSuaZGRD9+DyE9NyTM+vBGKK5xW1WJ/LqEYOuFzXq1P47 c5BiZiCINakvQ6S3QtCd/tGfpViA8zht1k62DhaTqxv+OA5l5HXC7juoO1HpvS/Eru7v cz4NlIR+leuvOiYlcAQdL6HAzXr9Sn5haOhRgtoT6ZLMjXHDkRYNRsPZXoRJJ2zxdRid OqcEsgz4Fzp/WwJafgTD99AfPHO3fWgX14hM/YcyIYkn69I83qh2n6G4Vs6xO7Q9yES/ T86Q==; 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=nhjVXpth; 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 eb14-20020a0564020d0e00b005662ce42344si4358077edb.147.2024.03.04.16.00.56; Mon, 04 Mar 2024 16:00:56 -0800 (PST) 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=nhjVXpth; 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 B3BE768D4BF; Tue, 5 Mar 2024 02:00:51 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7097E68D3F7 for ; Tue, 5 Mar 2024 02:00:45 +0200 (EET) Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-29ab78237d2so3426803a91.1 for ; Mon, 04 Mar 2024 16:00:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709596843; x=1710201643; 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=+MbWn8YhKcBegFC88TSt79mmmUMuyUUCfIZwTjIEUBs=; b=nhjVXpthr+flLrM/U2s3+pjeHOK2uzSbzaDuf1O+E3wA88FC0zZuSFrShcBXtOE91R 1xH+lghp0BUJiFYIDJo/WatOj6T6zH8anIMdZh9/mNeZPN/GeGvLY8LkZqwmPq9DKR70 XMN6T4iQXltLrnuaj1e/x5ltlVwpnmpuMlGANg3sF6gfuPZwBunmbwr+WXvcYaDgWGqS D2RSslkXdWD53skFxOZFoZK81+5ov9AphEIOEtlTX4p9LAmYkhHmAwXhIo4WnjcKm4Hs bPYc2ieIaTOYVo0dxvwQDbV1GclTy9k7CFRiXweYRO5J5cGZmHU+I4DfaksVGLSvRXeK Wxqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709596843; x=1710201643; 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=+MbWn8YhKcBegFC88TSt79mmmUMuyUUCfIZwTjIEUBs=; b=Oj1XWLoamcyHwb8I+nI8KhH6KjGf5fyDXAJD5Uvxo0bucR33mYbm1+xJPwFD37Ob0h OvG7JVRHyzMLwuajMQQl1+eDFiOsS1qLLxa6f53Jy1L1D7riSAFBY7ZvPx7V2RIBXxjD XpwXV6L8fipk8gcuF/Q8kmoX65wVcuUwLNMAPcBiWNL5K5+YiMjTdCVeUQju3nFDWAu7 JEQM7woOJ8tkYJW1xJEA0VPBKfF0jwS9fhlqbLTFYsWEqjPrOjJTlEBMwLF2bZ8kNiIp XTN93oUH/LlFRXvI9X/R/dj4HHRzyQ3Iqm0efWQ5ML+ORllxfTPUaYwfNvtEuGKdKHAZ PYgg== X-Gm-Message-State: AOJu0YxJD/6x4bP9u4uCmnYHy+NyLXkINs3WgRSSmX50KFlITn1t3jwX jInQcgP32DKG7lN+4RB+ASqan0ugUHRCyHXWV41gBUm1wPiFWMttLpPbmfvn X-Received: by 2002:a17:90a:9b0b:b0:29a:56d5:230 with SMTP id f11-20020a17090a9b0b00b0029a56d50230mr7541465pjp.25.1709596842909; Mon, 04 Mar 2024 16:00:42 -0800 (PST) Received: from localhost.localdomain ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id gb2-20020a17090b060200b0029acce2420asm8288663pjb.10.2024.03.04.16.00.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 16:00:42 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 21:00:22 -0300 Message-ID: <20240305000033.10379-2-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240305000033.10379-1-jamrial@gmail.com> References: <20240305000033.10379-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/9] avformat/avformat: add a function to return the name of stream groups 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: barGuzIcnkle Signed-off-by: James Almer --- Missing version bump and APIChanges entry. libavformat/avformat.c | 10 ++++++++++ libavformat/avformat.h | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/libavformat/avformat.c b/libavformat/avformat.c index eb898223d2..98dfac2f89 100644 --- a/libavformat/avformat.c +++ b/libavformat/avformat.c @@ -321,6 +321,16 @@ AVStream *ff_stream_clone(AVFormatContext *dst_ctx, const AVStream *src) return st; } +const char *avformat_stream_group_name(enum AVStreamGroupParamsType type) +{ + switch(type) { + case AV_STREAM_GROUP_PARAMS_IAMF_AUDIO_ELEMENT: return "IAMF Audio Element"; + case AV_STREAM_GROUP_PARAMS_IAMF_MIX_PRESENTATION: return "IAMF Mix Presentation"; + case AV_STREAM_GROUP_PARAMS_TILE_GRID: return "Tile Grid"; + } + return NULL; +} + AVProgram *av_new_program(AVFormatContext *ac, int id) { AVProgram *program = NULL; diff --git a/libavformat/avformat.h b/libavformat/avformat.h index f4506f4cf1..c41041b1bc 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -2120,6 +2120,11 @@ const AVClass *av_stream_get_class(void); */ const AVClass *av_stream_group_get_class(void); +/** + * @return a string identifying the stream group type + */ +const char *avformat_stream_group_name(enum AVStreamGroupParamsType type); + /** * Add a new empty stream group to a media file. * From patchwork Tue Mar 5 00:00:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 46794 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp82682pzc; Mon, 4 Mar 2024 16:01:21 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVdWG87om3yaZz/8qX0UgpCcUBqKLlOVe6LSVF191nreOApGPtHcZHHaUZ7huvTxUImezPKvc3OSGDtFWafL6Pa90RO/qxhjl5eNw== X-Google-Smtp-Source: AGHT+IGM4GGnUbojlGU3CCagsuW/8Gartv/Valyikb6S0pukwKROTDp9GNZrremQvSR/hAtwaPj8 X-Received: by 2002:a05:6402:5192:b0:567:373:9712 with SMTP id q18-20020a056402519200b0056703739712mr5343396edd.4.1709596881490; Mon, 04 Mar 2024 16:01:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709596881; cv=none; d=google.com; s=arc-20160816; b=Jc6AQXDNO9w64AZsasAR7peW98Sjfki6XLszmekLdtW/gKuZ9Hajy57VRA5DARwokL eLKRuOoAEKoFfZnCflREDh+wVDetEDaOmRmFSJMEQZpxcn8Ekr9TMAljmh9L2QprHzLJ PdzPo9rkn6bdWQgf3t+xA/QCPSwd8xulCi1fTnCMnb/p3hl7KeahJFTsjYI8fYHt8b1f laxbN1CndYQyOLtjX3pKjeA8IMiFwxh7rCScIEI2mlly5EED48ibR+TTvFV1LZ54gNSI HiATBL/WxNbL+SYXkIKYHZZxpCjNypknW9TqWSlndqfEVEsR83g22w2uNFnGklxIZhk/ 2LFQ== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=KdJ6p7U7880dbj5LlXYCpSz2ftGd394YX9xzNFvfL9E=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=Ep7fd9GnqpPT/vD0ktmGO+ZD90FM46iR0+R7iDQU6nJgnDZdBBZUhOkoEq91BiTTyO dQxtcMaNqqpZneEtN2ek9YL/KNeHMjnNBAH2Kbu3kUgOSLJzAxK5LgNxhBq4d+hoK4dn 3cQUhcNa/wNsMh+pi3+JdwUhFAEsJ89pe5gZ4KSytTWg2aH1UhlvRN1EO68Id+RR37pw CWx72MF2+p6/kfopQwPgfuAHTr9vEuDeLCkTA31LHzd7PZcdEz5E5ache6Nq56g3ICHE gg3uwq6qweoyhjRLQZVWpJ/ulPDC4rOforETzi5SBFuQxpIHVmRKYiFLBxZzWR/ee2LX jqbA==; 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="B1lx/ijI"; 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 dz18-20020a0564021d5200b005678b8352b2si34930edb.643.2024.03.04.16.01.21; Mon, 04 Mar 2024 16:01:21 -0800 (PST) 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="B1lx/ijI"; 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 D719E68D4AB; Tue, 5 Mar 2024 02:00:53 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ED3AF68D4C9 for ; Tue, 5 Mar 2024 02:00:47 +0200 (EET) Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-5cdbc4334edso3618927a12.3 for ; Mon, 04 Mar 2024 16:00:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709596845; x=1710201645; 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=Qledd3ZEO0bO7LhsShDzPRMHuF1IWr3dLzDc2FNCN44=; b=B1lx/ijIu6HpJ9a+7JbfgX5bOx8vOgnZHwHJ8Pyj+mGhI6azn61UyJ80Rvnwwj8x6o IsEz4Bhs7tiAw8dH6n+o40M+Q7LDJSMoEXKigx3M48tRfYXhjm+v0zgoDUd6RpZJaITn z+tPhvZqahFylXl+2DQO7hCm+XtDYOct8SZmTibUY2mEckhegSw0oAPCwaPlyC8G/vGD YxkXo2tr7zDEdG32oTzoh+YCpA3uPiua3VmI8EnW+et6JCsa7eVZMUIS220EIM+H9VVe 2cXOHNB+hT2DdW4GFdSCWdHOxXdbbO/M3tGVXiaPnomkMf+gU5P5SGmPwocSoQNH0jrk nbQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709596845; x=1710201645; 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=Qledd3ZEO0bO7LhsShDzPRMHuF1IWr3dLzDc2FNCN44=; b=c6v0QxKhku+btiRCYlxxdo2WXSJaMTRm61M7J+fKbZsXrPXFgmoPQo6gDDiD+B51q7 MCsk0ePT3Yj1ge8GRfAcCs06jle3jcgaQSq8GF1dPsCkDxmGQo3a0J62oS26vHcn8KS3 LS4IhgdAQy7zYiI4NJXDemGL96QplhXGPNBm3hxEapS3YLRcX0oNLyTS9HWRszs7Ef62 NrJgxjV6ivq/w6zMwGpfxHxTkzwDgNDqPI0mp3D8sayzy2YaPGp/g28JK8IYO3/VWvyX zAZrjyRrx8YsstJCKyDWym1VeiCoFiPy0+Q9lzmU5+9imLNgxZEgKUyfwo18+TLex4Ok up6w== X-Gm-Message-State: AOJu0YwkbKa4Bwd+WQq9Xly7KtWSxbCOtiTTEL76PP9wHf8HOb7WB/3N CHepngePPefNfBI3gmfdc1AnOr1crCX3waWPsKtJ2cZ8I1uwpdo30uMzfCtI X-Received: by 2002:a17:90a:6382:b0:299:b6d5:f0b1 with SMTP id f2-20020a17090a638200b00299b6d5f0b1mr6799972pjj.49.1709596844479; Mon, 04 Mar 2024 16:00:44 -0800 (PST) Received: from localhost.localdomain ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id gb2-20020a17090b060200b0029acce2420asm8288663pjb.10.2024.03.04.16.00.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 16:00:44 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 21:00:23 -0300 Message-ID: <20240305000033.10379-3-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240305000033.10379-1-jamrial@gmail.com> References: <20240305000033.10379-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/9 v3] fftools/ffprobe: add support for Stream Groups 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: ol1v2hQCC3Eh Signed-off-by: James Almer --- Changelog | 1 + doc/ffprobe.xsd | 1 + fftools/ffprobe.c | 147 ++++++++++++++++-- tests/ref/fate/cavs-demux | 2 +- tests/ref/fate/ffprobe_compact | 2 +- tests/ref/fate/ffprobe_csv | 2 +- tests/ref/fate/ffprobe_default | 1 + tests/ref/fate/ffprobe_flat | 1 + tests/ref/fate/ffprobe_ini | 1 + tests/ref/fate/ffprobe_json | 1 + tests/ref/fate/ffprobe_xml | 2 +- tests/ref/fate/ffprobe_xsd | 2 +- tests/ref/fate/flv-demux | 2 +- tests/ref/fate/gapless-mp3-side-data | 2 +- .../ref/fate/mov-mp4-disposition-mpegts-remux | 3 + tests/ref/fate/mov-mp4-ttml-dfxp | 3 + tests/ref/fate/mov-mp4-ttml-stpp | 3 + tests/ref/fate/oggopus-demux | 2 +- tests/ref/fate/ts-demux | 2 +- tests/ref/fate/ts-opus-demux | 2 +- tests/ref/fate/ts-small-demux | 2 +- tests/ref/fate/ts-timed-id3-demux | 2 +- 22 files changed, 163 insertions(+), 23 deletions(-) diff --git a/Changelog b/Changelog index f388d41b02..0ba3a77c08 100644 --- a/Changelog +++ b/Changelog @@ -30,6 +30,7 @@ version : - Change the default bitrate control method from VBR to CQP for QSV encoders. - removed deprecated ffmpeg CLI options -psnr and -map_channel - DVD-Video demuxer, powered by libdvdnav and libdvdread +- ffprobe -show_stream_groups option version 6.1: diff --git a/doc/ffprobe.xsd b/doc/ffprobe.xsd index 9490a20ce8..dc04ce7142 100644 --- a/doc/ffprobe.xsd +++ b/doc/ffprobe.xsd @@ -337,6 +337,7 @@ + diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 8390377159..ff05c4c1db 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -112,8 +112,10 @@ static int do_show_format = 0; static int do_show_frames = 0; static int do_show_packets = 0; static int do_show_programs = 0; +static int do_show_stream_groups = 0; static int do_show_streams = 0; static int do_show_stream_disposition = 0; +static int do_show_stream_group_disposition = 0; static int do_show_data = 0; static int do_show_program_version = 0; static int do_show_library_versions = 0; @@ -126,6 +128,7 @@ static int do_show_chapter_tags = 0; static int do_show_format_tags = 0; static int do_show_frame_tags = 0; static int do_show_program_tags = 0; +static int do_show_stream_group_tags = 0; static int do_show_stream_tags = 0; static int do_show_packet_tags = 0; @@ -159,7 +162,7 @@ static int find_stream_info = 1; /* section structure definition */ -#define SECTION_MAX_NB_CHILDREN 10 +#define SECTION_MAX_NB_CHILDREN 11 typedef enum { SECTION_ID_NONE = -1, @@ -203,6 +206,14 @@ typedef enum { SECTION_ID_PROGRAM_TAGS, SECTION_ID_PROGRAM_VERSION, SECTION_ID_PROGRAMS, + SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, + SECTION_ID_STREAM_GROUP_STREAM_TAGS, + SECTION_ID_STREAM_GROUP, + SECTION_ID_STREAM_GROUP_STREAMS, + SECTION_ID_STREAM_GROUP_STREAM, + SECTION_ID_STREAM_GROUP_DISPOSITION, + SECTION_ID_STREAM_GROUP_TAGS, + SECTION_ID_STREAM_GROUPS, SECTION_ID_ROOT, SECTION_ID_STREAM, SECTION_ID_STREAM_DISPOSITION, @@ -249,6 +260,12 @@ static const char *get_raw_string_type(const void *data) return data; } +static const char *get_stream_group_type(const void *data) +{ + const AVStreamGroup *stg = (const AVStreamGroup *)data; + return av_x_if_null(avformat_stream_group_name(stg->type), "unknown"); +} + static struct section sections[] = { [SECTION_ID_CHAPTERS] = { SECTION_ID_CHAPTERS, "chapters", SECTION_FLAG_IS_ARRAY, { SECTION_ID_CHAPTER, -1 } }, [SECTION_ID_CHAPTER] = { SECTION_ID_CHAPTER, "chapter", 0, { SECTION_ID_CHAPTER_TAGS, -1 } }, @@ -290,8 +307,16 @@ static struct section sections[] = { [SECTION_ID_PROGRAM_TAGS] = { SECTION_ID_PROGRAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "program_tags" }, [SECTION_ID_PROGRAM_VERSION] = { SECTION_ID_PROGRAM_VERSION, "program_version", 0, { -1 } }, [SECTION_ID_PROGRAMS] = { SECTION_ID_PROGRAMS, "programs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM, -1 } }, + [SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION] = { SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_group_stream_disposition" }, + [SECTION_ID_STREAM_GROUP_STREAM_TAGS] = { SECTION_ID_STREAM_GROUP_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "stream_group_stream_tags" }, + [SECTION_ID_STREAM_GROUP] = { SECTION_ID_STREAM_GROUP, "stream_group", SECTION_FLAG_HAS_TYPE, { SECTION_ID_STREAM_GROUP_TAGS, SECTION_ID_STREAM_GROUP_DISPOSITION, SECTION_ID_STREAM_GROUP_STREAMS, -1 }, .get_type = get_stream_group_type }, + [SECTION_ID_STREAM_GROUP_STREAMS] = { SECTION_ID_STREAM_GROUP_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_STREAM, -1 }, .unique_name = "stream_group_streams" }, + [SECTION_ID_STREAM_GROUP_STREAM] = { SECTION_ID_STREAM_GROUP_STREAM, "stream", 0, { SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, SECTION_ID_STREAM_GROUP_STREAM_TAGS, -1 }, .unique_name = "stream_group_stream" }, + [SECTION_ID_STREAM_GROUP_DISPOSITION] = { SECTION_ID_STREAM_GROUP_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_group_disposition" }, + [SECTION_ID_STREAM_GROUP_TAGS] = { SECTION_ID_STREAM_GROUP_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "stream_group_tags" }, + [SECTION_ID_STREAM_GROUPS] = { SECTION_ID_STREAM_GROUPS, "stream_groups", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP, -1 } }, [SECTION_ID_ROOT] = { SECTION_ID_ROOT, "root", SECTION_FLAG_IS_WRAPPER, - { SECTION_ID_CHAPTERS, SECTION_ID_FORMAT, SECTION_ID_FRAMES, SECTION_ID_PROGRAMS, SECTION_ID_STREAMS, + { SECTION_ID_CHAPTERS, SECTION_ID_FORMAT, SECTION_ID_FRAMES, SECTION_ID_PROGRAMS, SECTION_ID_STREAM_GROUPS, SECTION_ID_STREAMS, SECTION_ID_PACKETS, SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS, SECTION_ID_PIXEL_FORMATS, -1} }, [SECTION_ID_STREAMS] = { SECTION_ID_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM, -1 } }, @@ -3071,7 +3096,10 @@ static void print_dispositions(WriterContext *w, uint32_t disposition, SectionID writer_print_section_footer(w); } -static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_idx, InputStream *ist, int in_program) +#define IN_PROGRAM 1 +#define IN_STREAM_GROUP 2 + +static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_idx, InputStream *ist, int container) { AVStream *stream = ist->st; AVCodecParameters *par; @@ -3081,12 +3109,29 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id AVRational sar, dar; AVBPrint pbuf; const AVCodecDescriptor *cd; + const SectionID section_header[] = { + SECTION_ID_STREAM, + SECTION_ID_PROGRAM_STREAM, + SECTION_ID_STREAM_GROUP_STREAM, + }; + const SectionID section_disposition[] = { + SECTION_ID_STREAM_DISPOSITION, + SECTION_ID_PROGRAM_STREAM_DISPOSITION, + SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, + }; + const SectionID section_tags[] = { + SECTION_ID_STREAM_TAGS, + SECTION_ID_PROGRAM_STREAM_TAGS, + SECTION_ID_STREAM_GROUP_STREAM_TAGS, + }; int ret = 0; const char *profile = NULL; + av_assert0(container < FF_ARRAY_ELEMS(section_header)); + av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED); - writer_print_section_header(w, NULL, in_program ? SECTION_ID_PROGRAM_STREAM : SECTION_ID_STREAM); + writer_print_section_header(w, NULL, section_header[container]); print_int("index", stream->index); @@ -3248,13 +3293,14 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id /* Print disposition information */ if (do_show_stream_disposition) { - print_dispositions(w, stream->disposition, - in_program ? SECTION_ID_PROGRAM_STREAM_DISPOSITION - : SECTION_ID_STREAM_DISPOSITION); + av_assert0(container < FF_ARRAY_ELEMS(section_disposition)); + print_dispositions(w, stream->disposition, section_disposition[container]); } - if (do_show_stream_tags) - ret = show_tags(w, stream->metadata, in_program ? SECTION_ID_PROGRAM_STREAM_TAGS : SECTION_ID_STREAM_TAGS); + if (do_show_stream_tags) { + av_assert0(container < FF_ARRAY_ELEMS(section_tags)); + ret = show_tags(w, stream->metadata, section_tags[container]); + } if (stream->codecpar->nb_coded_side_data) { writer_print_section_header(w, NULL, SECTION_ID_STREAM_SIDE_DATA_LIST); @@ -3309,7 +3355,7 @@ static int show_program(WriterContext *w, InputFile *ifile, AVProgram *program) writer_print_section_header(w, NULL, SECTION_ID_PROGRAM_STREAMS); for (i = 0; i < program->nb_stream_indexes; i++) { if (selected_streams[program->stream_index[i]]) { - ret = show_stream(w, fmt_ctx, program->stream_index[i], &ifile->streams[program->stream_index[i]], 1); + ret = show_stream(w, fmt_ctx, program->stream_index[i], &ifile->streams[program->stream_index[i]], IN_PROGRAM); if (ret < 0) break; } @@ -3339,6 +3385,72 @@ static int show_programs(WriterContext *w, InputFile *ifile) return ret; } +static void print_stream_group_params(WriterContext *w, AVStreamGroup *stg) +{ + const char *unknown = "unknown"; + if (stg->type != AV_STREAM_GROUP_PARAMS_NONE) + print_str("type", av_x_if_null(avformat_stream_group_name(stg->type), unknown)); + else + print_str_opt("type", unknown); +} + +static int show_stream_group(WriterContext *w, InputFile *ifile, AVStreamGroup *stg) +{ + AVFormatContext *fmt_ctx = ifile->fmt_ctx; + AVBPrint pbuf; + int i, ret = 0; + + av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED); + writer_print_section_header(w, stg, SECTION_ID_STREAM_GROUP); + print_int("index", stg->index); + if (fmt_ctx->iformat->flags & AVFMT_SHOW_IDS) print_fmt ("id", "0x%"PRIx64, stg->id); + else print_str_opt("id", "N/A"); + print_int("nb_streams", stg->nb_streams); + print_stream_group_params(w, stg); + + /* Print disposition information */ + if (do_show_stream_group_disposition) + print_dispositions(w, stg->disposition, SECTION_ID_STREAM_GROUP_DISPOSITION); + + if (do_show_stream_group_tags) + ret = show_tags(w, stg->metadata, SECTION_ID_STREAM_GROUP_TAGS); + if (ret < 0) + goto end; + + writer_print_section_header(w, NULL, SECTION_ID_STREAM_GROUP_STREAMS); + for (i = 0; i < stg->nb_streams; i++) { + if (selected_streams[stg->streams[i]->index]) { + ret = show_stream(w, fmt_ctx, stg->streams[i]->index, &ifile->streams[stg->streams[i]->index], IN_STREAM_GROUP); + if (ret < 0) + break; + } + } + writer_print_section_footer(w); + +end: + av_bprint_finalize(&pbuf, NULL); + writer_print_section_footer(w); + return ret; +} + +static int show_stream_groups(WriterContext *w, InputFile *ifile) +{ + AVFormatContext *fmt_ctx = ifile->fmt_ctx; + int i, ret = 0; + + writer_print_section_header(w, NULL, SECTION_ID_STREAM_GROUPS); + for (i = 0; i < fmt_ctx->nb_stream_groups; i++) { + AVStreamGroup *stg = fmt_ctx->stream_groups[i]; + if (!stg) + continue; + ret = show_stream_group(w, ifile, stg); + if (ret < 0) + break; + } + writer_print_section_footer(w); + return ret; +} + static int show_chapters(WriterContext *w, InputFile *ifile) { AVFormatContext *fmt_ctx = ifile->fmt_ctx; @@ -3375,6 +3487,7 @@ static int show_format(WriterContext *w, InputFile *ifile) print_str_validate("filename", fmt_ctx->url); print_int("nb_streams", fmt_ctx->nb_streams); print_int("nb_programs", fmt_ctx->nb_programs); + print_int("nb_stream_groups", fmt_ctx->nb_stream_groups); print_str("format_name", fmt_ctx->iformat->name); if (!do_bitexact) { if (fmt_ctx->iformat->long_name) print_str ("format_long_name", fmt_ctx->iformat->long_name); @@ -3600,6 +3713,11 @@ static int probe_file(WriterContext *wctx, const char *filename, CHECK_END; } + if (do_show_stream_groups) { + ret = show_stream_groups(wctx, &ifile); + CHECK_END; + } + if (do_show_streams) { ret = show_streams(wctx, &ifile); CHECK_END; @@ -4098,6 +4216,7 @@ DEFINE_OPT_SHOW_SECTION(pixel_formats, PIXEL_FORMATS) DEFINE_OPT_SHOW_SECTION(program_version, PROGRAM_VERSION) DEFINE_OPT_SHOW_SECTION(streams, STREAMS) DEFINE_OPT_SHOW_SECTION(programs, PROGRAMS) +DEFINE_OPT_SHOW_SECTION(stream_groups, STREAM_GROUPS) static const OptionDef real_options[] = { CMDUTILS_COMMON_OPTIONS @@ -4128,6 +4247,7 @@ static const OptionDef real_options[] = { #endif { "show_packets", OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_packets }, "show packets info" }, { "show_programs", OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_programs }, "show programs info" }, + { "show_stream_groups", OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_stream_groups }, "show stream groups info" }, { "show_streams", OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_streams }, "show streams info" }, { "show_chapters", OPT_TYPE_FUNC, 0, { .func_arg = &opt_show_chapters }, "show chapters info" }, { "count_frames", OPT_TYPE_BOOL, 0, { &do_count_frames }, "count the number of frames per stream" }, @@ -4212,16 +4332,21 @@ int main(int argc, char **argv) SET_DO_SHOW(PIXEL_FORMAT_COMPONENTS, pixel_format_components); SET_DO_SHOW(PROGRAM_VERSION, program_version); SET_DO_SHOW(PROGRAMS, programs); + SET_DO_SHOW(STREAM_GROUP_DISPOSITION, stream_group_disposition); + SET_DO_SHOW(STREAM_GROUPS, stream_groups); SET_DO_SHOW(STREAMS, streams); SET_DO_SHOW(STREAM_DISPOSITION, stream_disposition); SET_DO_SHOW(PROGRAM_STREAM_DISPOSITION, stream_disposition); + SET_DO_SHOW(STREAM_GROUP_STREAM_DISPOSITION, stream_disposition); SET_DO_SHOW(CHAPTER_TAGS, chapter_tags); SET_DO_SHOW(FORMAT_TAGS, format_tags); SET_DO_SHOW(FRAME_TAGS, frame_tags); SET_DO_SHOW(PROGRAM_TAGS, program_tags); + SET_DO_SHOW(STREAM_GROUP_TAGS, stream_group_tags); SET_DO_SHOW(STREAM_TAGS, stream_tags); SET_DO_SHOW(PROGRAM_STREAM_TAGS, stream_tags); + SET_DO_SHOW(STREAM_GROUP_STREAM_TAGS, stream_tags); SET_DO_SHOW(PACKET_TAGS, packet_tags); if (do_bitexact && (do_show_program_version || do_show_library_versions)) { @@ -4286,7 +4411,7 @@ int main(int argc, char **argv) ffprobe_show_pixel_formats(wctx); if (!input_filename && - ((do_show_format || do_show_programs || do_show_streams || do_show_chapters || do_show_packets || do_show_error) || + ((do_show_format || do_show_programs || do_show_stream_groups || do_show_streams || do_show_chapters || do_show_packets || do_show_error) || (!do_show_program_version && !do_show_library_versions && !do_show_pixel_formats))) { show_usage(); av_log(NULL, AV_LOG_ERROR, "You have to specify one input file.\n"); diff --git a/tests/ref/fate/cavs-demux b/tests/ref/fate/cavs-demux index 000b32ab05..016e40e782 100644 --- a/tests/ref/fate/cavs-demux +++ b/tests/ref/fate/cavs-demux @@ -59,4 +59,4 @@ packet|codec_type=video|stream_index=0|pts=2320000|pts_time=1.933333|dts=2320000 packet|codec_type=video|stream_index=0|pts=2360000|pts_time=1.966667|dts=2360000|dts_time=1.966667|duration=40000|duration_time=0.033333|size=83|pos=172252|flags=K__|data_hash=CRC32:a941bdf0 packet|codec_type=video|stream_index=0|pts=2400000|pts_time=2.000000|dts=2400000|dts_time=2.000000|duration=40000|duration_time=0.033333|size=5417|pos=172335|flags=K__|data_hash=CRC32:9d0d503b stream|index=0|codec_name=cavs|profile=unknown|codec_type=video|codec_tag_string=[0][0][0][0]|codec_tag=0x0000|width=1280|height=720|coded_width=1280|coded_height=720|closed_captions=0|film_grain=0|has_b_frames=0|sample_aspect_ratio=N/A|display_aspect_ratio=N/A|pix_fmt=yuv420p|level=-99|color_range=unknown|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=unspecified|field_order=unknown|refs=1|id=N/A|r_frame_rate=30/1|avg_frame_rate=25/1|time_base=1/1200000|start_pts=N/A|start_time=N/A|duration_ts=N/A|duration=N/A|bit_rate=N/A|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=60|extradata_size=18|extradata_hash=CRC32:1255d52e|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0 -format|filename=bunny.mp4|nb_streams=1|nb_programs=0|format_name=cavsvideo|start_time=N/A|duration=N/A|size=177752|bit_rate=N/A|probe_score=51 +format|filename=bunny.mp4|nb_streams=1|nb_programs=0|nb_stream_groups=0|format_name=cavsvideo|start_time=N/A|duration=N/A|size=177752|bit_rate=N/A|probe_score=51 diff --git a/tests/ref/fate/ffprobe_compact b/tests/ref/fate/ffprobe_compact index dfcd7d3f3c..5f807818d9 100644 --- a/tests/ref/fate/ffprobe_compact +++ b/tests/ref/fate/ffprobe_compact @@ -29,4 +29,4 @@ frame|media_type=video|stream_index=2|key_frame=1|pts=6144|pts_time=0.120000|pkt stream|index=0|codec_name=pcm_s16le|profile=unknown|codec_type=audio|codec_tag_string=PSD[16]|codec_tag=0x10445350|sample_fmt=s16|sample_rate=44100|channels=1|channel_layout=unknown|bits_per_sample=16|initial_padding=0|id=N/A|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/44100|start_pts=0|start_time=0.000000|duration_ts=N/A|duration=N/A|bit_rate=705600|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=6|nb_read_packets=6|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|tag:E=mc²|tag:encoder=Lavc pcm_s16le stream|index=1|codec_name=rawvideo|profile=unknown|codec_type=video|codec_tag_string=RGB[24]|codec_tag=0x18424752|width=320|height=240|coded_width=320|coded_height=240|closed_captions=0|film_grain=0|has_b_frames=0|sample_aspect_ratio=1:1|display_aspect_ratio=4:3|pix_fmt=rgb24|level=-99|color_range=unknown|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=unspecified|field_order=unknown|refs=1|id=N/A|r_frame_rate=25/1|avg_frame_rate=25/1|time_base=1/51200|start_pts=0|start_time=0.000000|duration_ts=N/A|duration=N/A|bit_rate=N/A|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=4|nb_read_packets=4|disposition:default=1|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|tag:title=foobar|tag:duration_ts=field-and-tags-conflict-attempt|tag:encoder=Lavc rawvideo stream|index=2|codec_name=rawvideo|profile=unknown|codec_type=video|codec_tag_string=RGB[24]|codec_tag=0x18424752|width=100|height=100|coded_width=100|coded_height=100|closed_captions=0|film_grain=0|has_b_frames=0|sample_aspect_ratio=1:1|display_aspect_ratio=1:1|pix_fmt=rgb24|level=-99|color_range=unknown|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=unspecified|field_order=unknown|refs=1|id=N/A|r_frame_rate=25/1|avg_frame_rate=25/1|time_base=1/51200|start_pts=0|start_time=0.000000|duration_ts=N/A|duration=N/A|bit_rate=N/A|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=4|nb_read_packets=4|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|tag:encoder=Lavc rawvideo -format|filename=tests/data/ffprobe-test.nut|nb_streams=3|nb_programs=0|format_name=nut|start_time=0.000000|duration=0.120000|size=1053646|bit_rate=70243066|probe_score=100|tag:title=ffprobe test file|tag:comment='A comment with CSV, XML & JSON special chars': |tag:comment2=I ♥ Üñîçød€ +format|filename=tests/data/ffprobe-test.nut|nb_streams=3|nb_programs=0|nb_stream_groups=0|format_name=nut|start_time=0.000000|duration=0.120000|size=1053646|bit_rate=70243066|probe_score=100|tag:title=ffprobe test file|tag:comment='A comment with CSV, XML & JSON special chars': |tag:comment2=I ♥ Üñîçød€ diff --git a/tests/ref/fate/ffprobe_csv b/tests/ref/fate/ffprobe_csv index 677b352dfd..3a7a4240d8 100644 --- a/tests/ref/fate/ffprobe_csv +++ b/tests/ref/fate/ffprobe_csv @@ -29,4 +29,4 @@ frame,video,2,1,6144,0.120000,6144,0.120000,6144,0.120000,2048,0.040000,2048,0.0 stream,0,pcm_s16le,unknown,audio,PSD[16],0x10445350,s16,44100,1,unknown,16,0,N/A,0/0,0/0,1/44100,0,0.000000,N/A,N/A,705600,N/A,N/A,N/A,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,mc²,Lavc pcm_s16le stream,1,rawvideo,unknown,video,RGB[24],0x18424752,320,240,320,240,0,0,0,1:1,4:3,rgb24,-99,unknown,unknown,unknown,unknown,unspecified,unknown,1,N/A,25/1,25/1,1/51200,0,0.000000,N/A,N/A,N/A,N/A,N/A,N/A,4,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,foobar,field-and-tags-conflict-attempt,Lavc rawvideo stream,2,rawvideo,unknown,video,RGB[24],0x18424752,100,100,100,100,0,0,0,1:1,1:1,rgb24,-99,unknown,unknown,unknown,unknown,unspecified,unknown,1,N/A,25/1,25/1,1/51200,0,0.000000,N/A,N/A,N/A,N/A,N/A,N/A,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Lavc rawvideo -format,tests/data/ffprobe-test.nut,3,0,nut,0.000000,0.120000,1053646,70243066,100,ffprobe test file,"'A comment with CSV, XML & JSON special chars': ",I ♥ Üñîçød€ +format,tests/data/ffprobe-test.nut,3,0,0,nut,0.000000,0.120000,1053646,70243066,100,ffprobe test file,"'A comment with CSV, XML & JSON special chars': ",I ♥ Üñîçød€ diff --git a/tests/ref/fate/ffprobe_default b/tests/ref/fate/ffprobe_default index 954725b91b..12bb069ba3 100644 --- a/tests/ref/fate/ffprobe_default +++ b/tests/ref/fate/ffprobe_default @@ -766,6 +766,7 @@ TAG:encoder=Lavc rawvideo filename=tests/data/ffprobe-test.nut nb_streams=3 nb_programs=0 +nb_stream_groups=0 format_name=nut start_time=0.000000 duration=0.120000 diff --git a/tests/ref/fate/ffprobe_flat b/tests/ref/fate/ffprobe_flat index cea6039307..a577dc6678 100644 --- a/tests/ref/fate/ffprobe_flat +++ b/tests/ref/fate/ffprobe_flat @@ -703,6 +703,7 @@ streams.stream.2.tags.encoder="Lavc rawvideo" format.filename="tests/data/ffprobe-test.nut" format.nb_streams=3 format.nb_programs=0 +format.nb_stream_groups=0 format.format_name="nut" format.start_time="0.000000" format.duration="0.120000" diff --git a/tests/ref/fate/ffprobe_ini b/tests/ref/fate/ffprobe_ini index 497154ee7e..80885903c3 100644 --- a/tests/ref/fate/ffprobe_ini +++ b/tests/ref/fate/ffprobe_ini @@ -780,6 +780,7 @@ encoder=Lavc rawvideo filename=tests/data/ffprobe-test.nut nb_streams=3 nb_programs=0 +nb_stream_groups=0 format_name=nut start_time=0.000000 duration=0.120000 diff --git a/tests/ref/fate/ffprobe_json b/tests/ref/fate/ffprobe_json index fe392fb47a..974b8dc900 100644 --- a/tests/ref/fate/ffprobe_json +++ b/tests/ref/fate/ffprobe_json @@ -729,6 +729,7 @@ "filename": "tests/data/ffprobe-test.nut", "nb_streams": 3, "nb_programs": 0, + "nb_stream_groups": 0, "format_name": "nut", "start_time": "0.000000", "duration": "0.120000", diff --git a/tests/ref/fate/ffprobe_xml b/tests/ref/fate/ffprobe_xml index 038dd36372..f4e07ba8d5 100644 --- a/tests/ref/fate/ffprobe_xml +++ b/tests/ref/fate/ffprobe_xml @@ -55,7 +55,7 @@ - + diff --git a/tests/ref/fate/ffprobe_xsd b/tests/ref/fate/ffprobe_xsd index 7ecaaa4ec0..5dd45ff956 100644 --- a/tests/ref/fate/ffprobe_xsd +++ b/tests/ref/fate/ffprobe_xsd @@ -55,7 +55,7 @@ - + diff --git a/tests/ref/fate/flv-demux b/tests/ref/fate/flv-demux index fd85b7a0f5..a9cbcc46e0 100644 --- a/tests/ref/fate/flv-demux +++ b/tests/ref/fate/flv-demux @@ -603,4 +603,4 @@ packet|codec_type=audio|stream_index=1|pts=11656|pts_time=11.656000|dts=11656|dt packet|codec_type=video|stream_index=0|pts=11678|pts_time=11.678000|dts=11678|dts_time=11.678000|duration=33|duration_time=0.033000|size=1190|pos=510794|flags=__C|data_hash=CRC32:a0206c90 stream|index=0|codec_name=h264|profile=77|codec_type=video|codec_tag_string=[0][0][0][0]|codec_tag=0x0000|width=426|height=240|coded_width=426|coded_height=240|closed_captions=0|film_grain=0|has_b_frames=1|sample_aspect_ratio=1:1|display_aspect_ratio=71:40|pix_fmt=yuv420p|level=21|color_range=unknown|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=left|field_order=progressive|refs=1|is_avc=true|nal_length_size=4|missing_streams=0|id=N/A|r_frame_rate=30000/1001|avg_frame_rate=30/1|time_base=1/1000|start_pts=0|start_time=0.000000|duration_ts=N/A|duration=N/A|bit_rate=393929|max_bit_rate=N/A|bits_per_raw_sample=8|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=351|extradata_size=39|extradata_hash=CRC32:07b85ca9|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0 stream|index=1|codec_name=aac|profile=1|codec_type=audio|codec_tag_string=[0][0][0][0]|codec_tag=0x0000|sample_fmt=fltp|sample_rate=22050|channels=2|channel_layout=stereo|bits_per_sample=0|initial_padding=0|missing_streams=0|id=N/A|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/1000|start_pts=0|start_time=0.000000|duration_ts=N/A|duration=N/A|bit_rate=67874|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=252|extradata_size=2|extradata_hash=CRC32:d039c029|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0 -format|filename=Enigma_Principles_of_Lust-part.flv|nb_streams=2|nb_programs=0|format_name=flv|start_time=0.000000|duration=210.209999|size=512000|bit_rate=19485|probe_score=100|tag:hasKeyframes=true|tag:hasMetadata=true|tag:datasize=11970544|tag:hasVideo=true|tag:canSeekToEnd=false|tag:lasttimestamp=210|tag:lastkeyframetimestamp=210|tag:audiosize=1791332|tag:hasAudio=true|tag:audiodelay=0|tag:videosize=10176110|tag:metadatadate=2011-02-27T11:00:33.125000Z|tag:metadatacreator=inlet media FLVTool2 v1.0.6 - http://www.inlet-media.de/flvtool2|tag:hasCuePoints=false +format|filename=Enigma_Principles_of_Lust-part.flv|nb_streams=2|nb_programs=0|nb_stream_groups=0|format_name=flv|start_time=0.000000|duration=210.209999|size=512000|bit_rate=19485|probe_score=100|tag:hasKeyframes=true|tag:hasMetadata=true|tag:datasize=11970544|tag:hasVideo=true|tag:canSeekToEnd=false|tag:lasttimestamp=210|tag:lastkeyframetimestamp=210|tag:audiosize=1791332|tag:hasAudio=true|tag:audiodelay=0|tag:videosize=10176110|tag:metadatadate=2011-02-27T11:00:33.125000Z|tag:metadatacreator=inlet media FLVTool2 v1.0.6 - http://www.inlet-media.de/flvtool2|tag:hasCuePoints=false diff --git a/tests/ref/fate/gapless-mp3-side-data b/tests/ref/fate/gapless-mp3-side-data index f013650ec1..87a99661f9 100644 --- a/tests/ref/fate/gapless-mp3-side-data +++ b/tests/ref/fate/gapless-mp3-side-data @@ -594,4 +594,4 @@ packet|codec_type=audio|stream_index=0|pts=218234880|pts_time=15.464490|dts=2182 packet|codec_type=audio|stream_index=0|pts=218603520|pts_time=15.490612|dts=218603520|dts_time=15.490612|duration=368640|duration_time=0.026122|size=418|pos=249300|flags=K__|data_hash=CRC32:d5fb5f9c|side_datum/skip_samples:side_data_type=Skip Samples|side_datum/skip_samples:skip_samples=0|side_datum/skip_samples:discard_padding=303|side_datum/skip_samples:skip_reason=0|side_datum/skip_samples:discard_reason=0 packet|codec_type=audio|stream_index=0|pts=218972160|pts_time=15.516735|dts=218972160|dts_time=15.516735|duration=368640|duration_time=0.026122|size=418|pos=249718|flags=K__|data_hash=CRC32:3789f3cf|side_datum/skip_samples:side_data_type=Skip Samples|side_datum/skip_samples:skip_samples=0|side_datum/skip_samples:discard_padding=1152|side_datum/skip_samples:skip_reason=0|side_datum/skip_samples:discard_reason=0 stream|index=0|codec_name=mp3|profile=unknown|codec_type=audio|codec_tag_string=[0][0][0][0]|codec_tag=0x0000|sample_fmt=fltp|sample_rate=44100|channels=2|channel_layout=stereo|bits_per_sample=0|initial_padding=0|id=N/A|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/14112000|start_pts=353600|start_time=0.025057|duration_ts=219340800|duration=15.542857|bit_rate=128000|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=595|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|tag:encoder=LAME3.93 -format|filename=gapless.mp3|nb_streams=1|nb_programs=0|format_name=mp3|start_time=0.025057|duration=15.542857|size=250264|bit_rate=128812|probe_score=51|tag:title=test +format|filename=gapless.mp3|nb_streams=1|nb_programs=0|nb_stream_groups=0|format_name=mp3|start_time=0.025057|duration=15.542857|size=250264|bit_rate=128812|probe_score=51|tag:title=test diff --git a/tests/ref/fate/mov-mp4-disposition-mpegts-remux b/tests/ref/fate/mov-mp4-disposition-mpegts-remux index ea5a11d73c..3d103c98cf 100644 --- a/tests/ref/fate/mov-mp4-disposition-mpegts-remux +++ b/tests/ref/fate/mov-mp4-disposition-mpegts-remux @@ -19,6 +19,9 @@ adb3b95c07a5f3e0c86641dd62f01dae *tests/data/fate/mov-mp4-disposition-mpegts-rem { "programs": [ + ], + "stream_groups": [ + ], "streams": [ { diff --git a/tests/ref/fate/mov-mp4-ttml-dfxp b/tests/ref/fate/mov-mp4-ttml-dfxp index 2d60f3d964..b019b3f6cc 100644 --- a/tests/ref/fate/mov-mp4-ttml-dfxp +++ b/tests/ref/fate/mov-mp4-ttml-dfxp @@ -22,6 +22,9 @@ ], "programs": [ + ], + "stream_groups": [ + ], "streams": [ { diff --git a/tests/ref/fate/mov-mp4-ttml-stpp b/tests/ref/fate/mov-mp4-ttml-stpp index 0a8e423449..827296253e 100644 --- a/tests/ref/fate/mov-mp4-ttml-stpp +++ b/tests/ref/fate/mov-mp4-ttml-stpp @@ -23,6 +23,9 @@ cbd2c7ff864a663b0d893deac5a0caec *tests/data/fate/mov-mp4-ttml-stpp.mp4 ], "programs": [ + ], + "stream_groups": [ + ], "streams": [ { diff --git a/tests/ref/fate/oggopus-demux b/tests/ref/fate/oggopus-demux index baf81a7f50..05cdd94f43 100644 --- a/tests/ref/fate/oggopus-demux +++ b/tests/ref/fate/oggopus-demux @@ -40,4 +40,4 @@ packet|codec_type=audio|stream_index=0|pts=36124|pts_time=0.752583|dts=36124|dts packet|codec_type=audio|stream_index=0|pts=37084|pts_time=0.772583|dts=37084|dts_time=0.772583|duration=960|duration_time=0.020000|size=217|pos=841|flags=K__|data_hash=CRC32:06797ece packet|codec_type=audio|stream_index=0|pts=38044|pts_time=0.792583|dts=38044|dts_time=0.792583|duration=356|duration_time=0.007417|size=359|pos=841|flags=K__|data_hash=CRC32:01ca3f8f|side_datum/skip_samples:side_data_type=Skip Samples|side_datum/skip_samples:skip_samples=0|side_datum/skip_samples:discard_padding=604|side_datum/skip_samples:skip_reason=0|side_datum/skip_samples:discard_reason=0 stream|index=0|codec_name=opus|profile=unknown|codec_type=audio|codec_tag_string=[0][0][0][0]|codec_tag=0x0000|sample_fmt=fltp|sample_rate=48000|channels=2|channel_layout=stereo|bits_per_sample=0|initial_padding=356|id=N/A|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/48000|start_pts=0|start_time=0.000000|duration_ts=38756|duration=0.807417|bit_rate=N/A|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=41|extradata_size=19|extradata_hash=CRC32:58ba5ff3|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|tag:ENCODER=opusenc from opus-tools 0.1.9|tag:ENCODER_OPTIONS=--discard-comments -format|filename=intro-partial.opus|nb_streams=1|nb_programs=0|format_name=ogg|start_time=0.000000|duration=0.807417|size=10250|bit_rate=101558|probe_score=100 +format|filename=intro-partial.opus|nb_streams=1|nb_programs=0|nb_stream_groups=0|format_name=ogg|start_time=0.000000|duration=0.807417|size=10250|bit_rate=101558|probe_score=100 diff --git a/tests/ref/fate/ts-demux b/tests/ref/fate/ts-demux index b01f525c38..ec4aeb2034 100644 --- a/tests/ref/fate/ts-demux +++ b/tests/ref/fate/ts-demux @@ -26,4 +26,4 @@ packet|codec_type=audio|stream_index=2|pts=3912645580|pts_time=43473.839778|dts= stream|index=0|codec_name=mpeg2video|profile=4|codec_type=video|codec_tag_string=[2][0][0][0]|codec_tag=0x0002|width=1280|height=720|coded_width=0|coded_height=0|closed_captions=0|film_grain=0|has_b_frames=1|sample_aspect_ratio=1:1|display_aspect_ratio=16:9|pix_fmt=yuv420p|level=4|color_range=tv|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=left|field_order=progressive|refs=1|ts_id=32776|ts_packetsize=188|id=0x31|r_frame_rate=60000/1001|avg_frame_rate=60000/1001|time_base=1/90000|start_pts=3912669846|start_time=43474.109400|duration_ts=19519|duration=0.216878|bit_rate=15000000|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=15|extradata_size=150|extradata_hash=CRC32:53134fa8|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|side_datum/cpb_properties:side_data_type=CPB properties|side_datum/cpb_properties:max_bitrate=15000000|side_datum/cpb_properties:min_bitrate=0|side_datum/cpb_properties:avg_bitrate=0|side_datum/cpb_properties:buffer_size=9781248|side_datum/cpb_properties:vbv_delay=-1 stream|index=1|codec_name=ac3|profile=unknown|codec_type=audio|codec_tag_string=[4][0][0][0]|codec_tag=0x0004|sample_fmt=fltp|sample_rate=48000|channels=6|channel_layout=5.1(side)|bits_per_sample=0|initial_padding=0|ts_id=32776|ts_packetsize=188|id=0x34|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/90000|start_pts=3912633305|start_time=43473.703389|duration_ts=14400|duration=0.160000|bit_rate=384000|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=5|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|tag:language=eng stream|index=2|codec_name=ac3|profile=unknown|codec_type=audio|codec_tag_string=[4][0][0][0]|codec_tag=0x0004|sample_fmt=fltp|sample_rate=48000|channels=2|channel_layout=stereo|bits_per_sample=0|initial_padding=0|ts_id=32776|ts_packetsize=188|id=0x35|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/90000|start_pts=3912634060|start_time=43473.711778|duration_ts=14400|duration=0.160000|bit_rate=192000|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=5|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|tag:language=es -format|filename=mp3ac325-4864-small.ts|nb_streams=3|nb_programs=1|format_name=mpegts|start_time=43473.703389|duration=0.622889|size=512000|bit_rate=6575810|probe_score=50 +format|filename=mp3ac325-4864-small.ts|nb_streams=3|nb_programs=1|nb_stream_groups=0|format_name=mpegts|start_time=43473.703389|duration=0.622889|size=512000|bit_rate=6575810|probe_score=50 diff --git a/tests/ref/fate/ts-opus-demux b/tests/ref/fate/ts-opus-demux index 3d14082ce5..961b7f2a92 100644 --- a/tests/ref/fate/ts-opus-demux +++ b/tests/ref/fate/ts-opus-demux @@ -511,4 +511,4 @@ packet|codec_type=audio|stream_index=0|pts=916200|pts_time=10.180000|dts=916200| packet|codec_type=audio|stream_index=0|pts=918000|pts_time=10.200000|dts=918000|dts_time=10.200000|duration=1800|duration_time=0.020000|size=761|pos=510044|flags=K__|data_hash=CRC32:75113c11|side_datum/mpegts_stream_id:side_data_type=MPEGTS Stream ID|side_datum/mpegts_stream_id:id=189 packet|codec_type=audio|stream_index=0|pts=919800|pts_time=10.220000|dts=919800|dts_time=10.220000|duration=1800|duration_time=0.020000|size=759|pos=510984|flags=K__|data_hash=CRC32:59fc266f|side_datum/mpegts_stream_id:side_data_type=MPEGTS Stream ID|side_datum/mpegts_stream_id:id=189 stream|index=0|codec_name=opus|profile=unknown|codec_type=audio|codec_tag_string=Opus|codec_tag=0x7375704f|sample_fmt=fltp|sample_rate=48000|channels=8|channel_layout=7.1|bits_per_sample=0|initial_padding=0|ts_id=51338|ts_packetsize=188|id=0x44|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/90000|start_pts=0|start_time=0.000000|duration_ts=919800|duration=10.220000|bit_rate=N/A|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=512|extradata_size=29|extradata_hash=CRC32:6d6089a7|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0 -format|filename=test-8-7.1.opus-small.ts|nb_streams=1|nb_programs=1|format_name=mpegts|start_time=0.000000|duration=10.220000|size=512000|bit_rate=400782|probe_score=50 +format|filename=test-8-7.1.opus-small.ts|nb_streams=1|nb_programs=1|nb_stream_groups=0|format_name=mpegts|start_time=0.000000|duration=10.220000|size=512000|bit_rate=400782|probe_score=50 diff --git a/tests/ref/fate/ts-small-demux b/tests/ref/fate/ts-small-demux index eb37440c0f..233f73393e 100644 --- a/tests/ref/fate/ts-small-demux +++ b/tests/ref/fate/ts-small-demux @@ -73,4 +73,4 @@ packet|codec_type=video|stream_index=0|pts=552000|pts_time=6.133333|dts=552000|d packet|codec_type=video|stream_index=0|pts=558000|pts_time=6.200000|dts=558000|dts_time=6.200000|duration=6000|duration_time=0.066667|size=16|pos=15792|flags=___|data_hash=CRC32:27b943ef|side_datum/mpegts_stream_id:side_data_type=MPEGTS Stream ID|side_datum/mpegts_stream_id:id=224 packet|codec_type=video|stream_index=0|pts=564000|pts_time=6.266667|dts=564000|dts_time=6.266667|duration=6000|duration_time=0.066667|size=16|pos=16356|flags=___|data_hash=CRC32:f7116111 stream|index=0|codec_name=h264|profile=578|codec_type=video|codec_tag_string=[27][0][0][0]|codec_tag=0x001b|width=82|height=144|coded_width=82|coded_height=144|closed_captions=0|film_grain=0|has_b_frames=0|sample_aspect_ratio=1:1|display_aspect_ratio=41:72|pix_fmt=yuv420p|level=10|color_range=unknown|color_space=unknown|color_transfer=unknown|color_primaries=unknown|chroma_location=left|field_order=progressive|refs=1|is_avc=false|nal_length_size=0|ts_id=1|ts_packetsize=188|id=0x100|r_frame_rate=15/1|avg_frame_rate=15/1|time_base=1/90000|start_pts=126000|start_time=1.400000|duration_ts=444000|duration=4.933333|bit_rate=N/A|max_bit_rate=N/A|bits_per_raw_sample=8|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=74|extradata_size=35|extradata_hash=CRC32:e62cae27|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0 -format|filename=h264small.ts|nb_streams=1|nb_programs=1|format_name=mpegts|start_time=1.400000|duration=4.933333|size=16544|bit_rate=26828|probe_score=50 +format|filename=h264small.ts|nb_streams=1|nb_programs=1|nb_stream_groups=0|format_name=mpegts|start_time=1.400000|duration=4.933333|size=16544|bit_rate=26828|probe_score=50 diff --git a/tests/ref/fate/ts-timed-id3-demux b/tests/ref/fate/ts-timed-id3-demux index 3c3372da26..938b5326e4 100644 --- a/tests/ref/fate/ts-timed-id3-demux +++ b/tests/ref/fate/ts-timed-id3-demux @@ -1,4 +1,4 @@ packet|codec_type=data|stream_index=0|pts=126000|pts_time=1.400000|dts=126000|dts_time=1.400000|duration=N/A|duration_time=N/A|size=26|pos=564|flags=K__|data_hash=CRC32:469f474b|side_datum/mpegts_stream_id:side_data_type=MPEGTS Stream ID|side_datum/mpegts_stream_id:id=189 packet|codec_type=data|stream_index=0|pts=577350|pts_time=6.415000|dts=577350|dts_time=6.415000|duration=N/A|duration_time=N/A|size=26|pos=1316|flags=K__|data_hash=CRC32:469f474b|side_datum/mpegts_stream_id:side_data_type=MPEGTS Stream ID|side_datum/mpegts_stream_id:id=189 stream|index=0|codec_name=timed_id3|profile=unknown|codec_type=data|codec_tag_string=ID3 |codec_tag=0x20334449|ts_id=1|ts_packetsize=188|id=0x100|r_frame_rate=0/0|avg_frame_rate=0/0|time_base=1/90000|start_pts=126000|start_time=1.400000|duration_ts=451350|duration=5.015000|bit_rate=N/A|max_bit_rate=N/A|bits_per_raw_sample=N/A|nb_frames=N/A|nb_read_frames=N/A|nb_read_packets=2|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0 -format|filename=id3.ts|nb_streams=1|nb_programs=1|format_name=mpegts|start_time=1.400000|duration=5.015000|size=1504|bit_rate=2399|probe_score=2 +format|filename=id3.ts|nb_streams=1|nb_programs=1|nb_stream_groups=0|format_name=mpegts|start_time=1.400000|duration=5.015000|size=1504|bit_rate=2399|probe_score=2 From patchwork Tue Mar 5 00:00:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 46796 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp82782pzc; Mon, 4 Mar 2024 16:01:32 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCX/1NpRdPhcEGspsmA5Hit5oVEcTM5drmfPi5zqNTaInvo+pJzt1BmonPZnlpmA8N2dUO1WvgULhQNZQBHo0/Rq9KpZo0xKPA5Z4g== X-Google-Smtp-Source: AGHT+IHSTZpHqEMxqv5L97SfUYvoj+yLrRnjxLj/XFK30jeOQbp3h0WleL3grPf2vxC1LDzaUj3h X-Received: by 2002:a17:906:594d:b0:a43:67c9:8c99 with SMTP id g13-20020a170906594d00b00a4367c98c99mr6865641ejr.40.1709596892319; Mon, 04 Mar 2024 16:01:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709596892; cv=none; d=google.com; s=arc-20160816; b=qLoGTFxb+eoBlHpwWs4aAW7ndp+Ll7DOUXLzTa1dbG+bMrMwokhlM3yFXlUqkdn8Uj NrWj1kgbkjt+eRvMXFaw4W0W8aJqAp06UBNwbRK8Y4Z1Jaq4ndkUKYhntlbBRj6xCZJk 6yDoFcjWZrUX9rGzCqOAEVZ5Syphhr+NdSkj+0/Fj5IHDLDUVvG3Pq7pnouavBAj163U UHci0+0R+4iNEJLt9rdVDxq87MnOfhSIoMaFnRdXGNX7bPed4fjDY4Ad+Gcul3T76KtN Jl3cdw9cH2ZyW9MYa4Lb/9bQJ3DAF0Pqj3axUEyAH5Ptz+7c2ywnIZw79Ut17G9mvZjt SCOg== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=qlySbXqg8OvwIDWkO5OYpdzDnsqQffK8pv/dnVgm3O4=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=gzYFUq+Xzb6n1ResDJIGynTZU8PLtzFZLNzC3ncxcVh69G1GLHlr0+FwOUDPk52uO1 uS7Fa0VBXaj+LKY/cudU+hT5eyzHp8CE+SokHBOoD+lrx618q5MghKw1RT2TyhYBgweW J7zdWKvUnm9QoUTaqX283uQmdzPcPN0HDcVSTke7YBU1O6IusKXj1tuprQtVq5CJbG5T Z5mWwWSrzUklDw19qzmFV1rA30XJzsB1fF4gq2RT0U24kbSjGxzgV79Yxe2EmdAMD7py xeov7ykF3iJAkmYhmtYgGNcCu5p0GpObnDKC/eCi7pzjGhTi9rAsGzDrGZtS0Fg23iD1 o/wA==; 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=O4EgtDza; 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 w14-20020a170906130e00b00a448f2a95e0si3399326ejb.226.2024.03.04.16.01.32; Mon, 04 Mar 2024 16:01:32 -0800 (PST) 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=O4EgtDza; 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 EF16568D4D7; Tue, 5 Mar 2024 02:00:54 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AF68D68D4D1 for ; Tue, 5 Mar 2024 02:00:48 +0200 (EET) Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-5ce6b5e3c4eso3709133a12.2 for ; Mon, 04 Mar 2024 16:00:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709596846; x=1710201646; 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=kjExAaG0MYcRAoc7ZPkHInE8248zmeZmFoSkzpyAgac=; b=O4EgtDzaNy4KfPYjuOye/jEal0OyT1JouJ+k9FGk8ZqMXAAltKZ4zl6tnArgLzj9RZ E5dKg1VZIqYoZU8niIMhx+C9tZtY727ybMEqKYRzdTPlZuEBr9MtMtoRY4PDcI9hhPic HODcGBwGe21ssV4rmhBS91G1AZJ1wfCgGB8TVA+NGcI/Q2AJJbB7Oz8sAX0HHy9hHZV6 ipdxzUtojACuzgVwi0QP65q/Xwq67aWuy/Hiy7qflq4qYrM0B9U4BUuLpo0M+zA3P51k xoww/DT1ICdlib7bYoE9m3e8tvPewKIADJiRPra6/c+xWLSu+jxPU+RGJFvkU2Re8v+H mvEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709596846; x=1710201646; 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=kjExAaG0MYcRAoc7ZPkHInE8248zmeZmFoSkzpyAgac=; b=rIrsC9TwQYKqyvVvTZ5mjOq3vX09Re55ZlPwYyb3CV0Wl3xsBCtAjfRyEPfLzMe1pK jrGx71VaoxlfeQerEOphyFpj04rTyyTt4icKmUwgfT77GaA2u3mGnEd5cUZAPo2yIVQv /02XqAdT1KgRLK85+sicMSLgnM84DX6B5u2+ZO/fTPaLOZVJDuFCdOybI5o7+wrL0aAj VUiIssYXqvXHR1sC3ERgX3NmbvzJEnBZyYFOsdHMXhHh12XrXxIIQoPVjLDmPDttlDxr r7lnfKcG61QA5Takuj3Dxf4+Q0qAABEbYc1Pi1kQ6N9rPOBLz3eXyT5XgWdLCZwpJR0z hWNw== X-Gm-Message-State: AOJu0Yw+6A+dv+eIzEYRzpbN2ChrVW0YinY+dVSQgegSPqoPMbpRGK9G eqIp0YGs3UmeXOKgrDdyqsu0icOOrv/HccyPoEGaIthYksPpcgKH9wumjYue X-Received: by 2002:a05:6a20:9151:b0:1a1:2eb7:b6f8 with SMTP id x17-20020a056a20915100b001a12eb7b6f8mr283519pzc.31.1709596845791; Mon, 04 Mar 2024 16:00:45 -0800 (PST) Received: from localhost.localdomain ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id gb2-20020a17090b060200b0029acce2420asm8288663pjb.10.2024.03.04.16.00.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 16:00:45 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 21:00:24 -0300 Message-ID: <20240305000033.10379-4-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240305000033.10379-1-jamrial@gmail.com> References: <20240305000033.10379-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/9 v2] fate/iamf: print stream group information 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: wZO5epjomaUV Signed-off-by: James Almer --- tests/fate/iamf.mak | 8 ++-- tests/ref/fate/iamf-5_1_4 | 60 +++++++++++++++++++++++++++++ tests/ref/fate/iamf-7_1_4 | 68 +++++++++++++++++++++++++++++++++ tests/ref/fate/iamf-ambisonic_1 | 44 +++++++++++++++++++++ tests/ref/fate/iamf-stereo | 20 ++++++++++ 5 files changed, 196 insertions(+), 4 deletions(-) diff --git a/tests/fate/iamf.mak b/tests/fate/iamf.mak index 8b0de7f4b2..2257580871 100644 --- a/tests/fate/iamf.mak +++ b/tests/fate/iamf.mak @@ -4,7 +4,7 @@ fate-iamf-stereo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav fate-iamf-stereo: CMD = transcode wav $(SRC) iamf " \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-stereo \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-stereo \ - -streamid 0:0 -c:a flac -t 1" "-c:a copy -map 0" + -streamid 0:0 -c:a flac -t 1" "-c:a copy -map 0" "-show_entries stream_group=index,id,nb_streams,type:stream_group_stream=index,id" FATE_IAMF += fate-iamf-5_1_4 fate-iamf-5_1_4: tests/data/asynth-44100-10.wav tests/data/filtergraphs/iamf_5_1_4 tests/data/streamgroups/audio_element-5_1_4 tests/data/streamgroups/mix_presentation-5_1_4 @@ -13,7 +13,7 @@ fate-iamf-5_1_4: CMD = transcode wav $(SRC) iamf "-auto_conversion_filters \ -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_5_1_4 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-5_1_4 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-5_1_4 \ - -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a copy -map 0" + -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a copy -map 0" "-show_entries stream_group=index,id,nb_streams,type:stream_group_stream=index,id" FATE_IAMF += fate-iamf-7_1_4 fate-iamf-7_1_4: tests/data/asynth-44100-12.wav tests/data/filtergraphs/iamf_7_1_4 tests/data/streamgroups/audio_element-7_1_4 tests/data/streamgroups/mix_presentation-7_1_4 @@ -22,7 +22,7 @@ fate-iamf-7_1_4: CMD = transcode wav $(SRC) iamf "-auto_conversion_filters \ -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_7_1_4 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-7_1_4 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-7_1_4 \ - -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -streamid 6:6 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [SIDE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a copy -map 0" + -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -streamid 6:6 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [SIDE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a copy -map 0" "-show_entries stream_group=index,id,nb_streams,type:stream_group_stream=index,id" FATE_IAMF += fate-iamf-ambisonic_1 fate-iamf-ambisonic_1: tests/data/asynth-44100-4.wav tests/data/filtergraphs/iamf_ambisonic_1 tests/data/streamgroups/audio_element-ambisonic_1 tests/data/streamgroups/mix_presentation-ambisonic_1 @@ -31,7 +31,7 @@ fate-iamf-ambisonic_1: CMD = transcode wav $(SRC) iamf "-auto_conversion_filters -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_ambisonic_1 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-ambisonic_1 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-ambisonic_1 \ - -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -map [MONO0] -map [MONO1] -map [MONO2] -map [MONO3] -c:a flac -t 1" "-c:a copy -map 0" + -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -map [MONO0] -map [MONO1] -map [MONO2] -map [MONO3] -c:a flac -t 1" "-c:a copy -map 0" "-show_entries stream_group=index,id,nb_streams,type:stream_group_stream=index,id" FATE_IAMF-$(call TRANSCODE, FLAC, IAMF, WAV_DEMUXER PCM_S16LE_DECODER) += $(FATE_IAMF) diff --git a/tests/ref/fate/iamf-5_1_4 b/tests/ref/fate/iamf-5_1_4 index e6eb356ff0..daa9653006 100644 --- a/tests/ref/fate/iamf-5_1_4 +++ b/tests/ref/fate/iamf-5_1_4 @@ -96,3 +96,63 @@ c447cbbc8943cfb751fdf1145a094250 *tests/data/fate/iamf-5_1_4.iamf 3, 41472, 41472, 4608, 923, 0xa7225edf 4, 41472, 41472, 4608, 926, 0xc26a5eae 5, 41472, 41472, 4608, 926, 0xc26a5eae +[STREAM_GROUP] +index=0 +id=0x1 +nb_streams=6 +type=IAMF Audio Element +[STREAM] +index=0 +id=0x0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +[/STREAM] +[STREAM] +index=2 +id=0x2 +[/STREAM] +[STREAM] +index=3 +id=0x3 +[/STREAM] +[STREAM] +index=4 +id=0x4 +[/STREAM] +[STREAM] +index=5 +id=0x5 +[/STREAM] +[/STREAM_GROUP] +[STREAM_GROUP] +index=1 +id=0x2 +nb_streams=6 +type=IAMF Mix Presentation +[STREAM] +index=0 +id=0x0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +[/STREAM] +[STREAM] +index=2 +id=0x2 +[/STREAM] +[STREAM] +index=3 +id=0x3 +[/STREAM] +[STREAM] +index=4 +id=0x4 +[/STREAM] +[STREAM] +index=5 +id=0x5 +[/STREAM] +[/STREAM_GROUP] diff --git a/tests/ref/fate/iamf-7_1_4 b/tests/ref/fate/iamf-7_1_4 index c176f4a1cd..6b677c697a 100644 --- a/tests/ref/fate/iamf-7_1_4 +++ b/tests/ref/fate/iamf-7_1_4 @@ -112,3 +112,71 @@ 4, 41472, 41472, 4608, 926, 0xc26a5eae 5, 41472, 41472, 4608, 926, 0xc26a5eae 6, 41472, 41472, 4608, 926, 0xc26a5eae +[STREAM_GROUP] +index=0 +id=0x1 +nb_streams=7 +type=IAMF Audio Element +[STREAM] +index=0 +id=0x0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +[/STREAM] +[STREAM] +index=2 +id=0x2 +[/STREAM] +[STREAM] +index=3 +id=0x3 +[/STREAM] +[STREAM] +index=4 +id=0x4 +[/STREAM] +[STREAM] +index=5 +id=0x5 +[/STREAM] +[STREAM] +index=6 +id=0x6 +[/STREAM] +[/STREAM_GROUP] +[STREAM_GROUP] +index=1 +id=0x2 +nb_streams=7 +type=IAMF Mix Presentation +[STREAM] +index=0 +id=0x0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +[/STREAM] +[STREAM] +index=2 +id=0x2 +[/STREAM] +[STREAM] +index=3 +id=0x3 +[/STREAM] +[STREAM] +index=4 +id=0x4 +[/STREAM] +[STREAM] +index=5 +id=0x5 +[/STREAM] +[STREAM] +index=6 +id=0x6 +[/STREAM] +[/STREAM_GROUP] diff --git a/tests/ref/fate/iamf-ambisonic_1 b/tests/ref/fate/iamf-ambisonic_1 index 928a9c6cf2..dfb3d723ca 100644 --- a/tests/ref/fate/iamf-ambisonic_1 +++ b/tests/ref/fate/iamf-ambisonic_1 @@ -64,3 +64,47 @@ 1, 41472, 41472, 4608, 923, 0xa7225edf 2, 41472, 41472, 4608, 923, 0xa7225edf 3, 41472, 41472, 4608, 923, 0xa7225edf +[STREAM_GROUP] +index=0 +id=0x1 +nb_streams=4 +type=IAMF Audio Element +[STREAM] +index=0 +id=0x0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +[/STREAM] +[STREAM] +index=2 +id=0x2 +[/STREAM] +[STREAM] +index=3 +id=0x3 +[/STREAM] +[/STREAM_GROUP] +[STREAM_GROUP] +index=1 +id=0x2 +nb_streams=4 +type=IAMF Mix Presentation +[STREAM] +index=0 +id=0x0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +[/STREAM] +[STREAM] +index=2 +id=0x2 +[/STREAM] +[STREAM] +index=3 +id=0x3 +[/STREAM] +[/STREAM_GROUP] diff --git a/tests/ref/fate/iamf-stereo b/tests/ref/fate/iamf-stereo index 65d6b506d4..32d1e4022f 100644 --- a/tests/ref/fate/iamf-stereo +++ b/tests/ref/fate/iamf-stereo @@ -16,3 +16,23 @@ ace731a4fbc302e24498d6b64daa16e7 *tests/data/fate/iamf-stereo.iamf 0, 32256, 32256, 4608, 1768, 0x2a044b99 0, 36864, 36864, 4608, 1534, 0xb0b35a3f 0, 41472, 41472, 4608, 926, 0xc26a5eae +[STREAM_GROUP] +index=0 +id=0x1 +nb_streams=1 +type=IAMF Audio Element +[STREAM] +index=0 +id=0x0 +[/STREAM] +[/STREAM_GROUP] +[STREAM_GROUP] +index=1 +id=0x2 +nb_streams=1 +type=IAMF Mix Presentation +[STREAM] +index=0 +id=0x0 +[/STREAM] +[/STREAM_GROUP] From patchwork Tue Mar 5 00:00:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 46797 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp82874pzc; Mon, 4 Mar 2024 16:01:43 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVmCeYc9Bxk90/sHW4waVabBnUVCppySGD78M6GbHyfHdOpkgdDdzvBZTTwiTk4kTC0/6Oy5sbdJixzUw+ctonAdG0YYiU3DmZaMA== X-Google-Smtp-Source: AGHT+IGE+8iVfl0k72m1oN4Zz2FhGrVDLxIY65RRD6kX0JCst4HnkA+aBQqOnB2XVWUqO21fTspO X-Received: by 2002:a2e:a3d2:0:b0:2d2:2b2b:ee3c with SMTP id w18-20020a2ea3d2000000b002d22b2bee3cmr6018987lje.1.1709596902993; Mon, 04 Mar 2024 16:01:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709596902; cv=none; d=google.com; s=arc-20160816; b=aGG4c3/qtNyehZXkGgU15kSv9qy4Mhu9YOQ/NotfIT98b54KOM9PlebTyPKi2IScVv gVU/vVs06NQE04RS1Hub7JlI41y+cI36I6XOX+5cdOTqWXPilg8lMHqTngnThzSrXG+K ca+j4iBKE0FU2EdkmsbjsvfrG9iwd4NR6JB8L3uT2NJiauyGXA5VhnoymNsus5pWpI+9 ccbryKIQDVSFT4YEO8lp/3TrY35+KleRQTbLY41IE+t5iZdEzgvvkdpsrerwC5cawzE3 7p/nxpITkdQU5JZAdRtBulaykRcOmtk9cH173UICvXjrNq7hC4EzZSOjEyn4b2add8uZ I2LQ== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=CM57+LEcK6OQTeo0rJEdqoYy2hVJfmFotOZQ3wwHYbI=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=Af/v85NjmDg6I5DU0RMtzi7CONYIUOcPuP9GG6M7IVJJ67UfAB/iP50b4uyzcJPXGK OOz8veJK1OgZFaU39BgNgrrxve1f8OCUDdjxxvd5+I9Ii+O0+Rl0s4RENSX2T/YR3mU+ tDPV+ni8InJeDxapqLzVW2IYOyTLwj2EfMAXuq2y3jUSI1UjcGp0A9+6FCxt/ofGh3Bb GCLPAC0nCX7EnRh4yg2w4ZfH/gT/H6/9b7zj+SGMEn3IkIN10kTne15IH9fM2kqwzSYZ 17FUOFS1R/nkpBA/RRgxwvMYm/uLCgZ+FWOjPTpuTZ5r6PjssMOW7JRpvrCAhHryUt0s Tedw==; 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=llGF9cn2; 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 v1-20020a056402348100b005654d6a248asi4485638edc.85.2024.03.04.16.01.42; Mon, 04 Mar 2024 16:01:42 -0800 (PST) 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=llGF9cn2; 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 0332C68D4E1; Tue, 5 Mar 2024 02:00:57 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8714D68D4D3 for ; Tue, 5 Mar 2024 02:00:50 +0200 (EET) Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-29aa91e173dso70771a91.0 for ; Mon, 04 Mar 2024 16:00:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709596848; x=1710201648; 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=YHXbUaTnfnx1zd6zIPzsjK+XvYjZHimmBUTTUMbPbHo=; b=llGF9cn2LC22Ky4wsAqp/R/Hhp+CR6nXfpGJt0JKnmkQfdkeLh+63UJIQPb3P9nOOa V0Pcmgl4ZgtFJwZqzbX9E1IrQUqftYVRZfvruZCBx6YHLqPqHr0Z8atp+oLSehAnn5eI XflQIhIcgvr7YpE5dIcDwW14ht7ozYZwQXoWLpudbXiv60W18y/Ob7ieMJOZT+kA0LLe RH25ejWRXvVpCk0ivHFLOFuo+cEQyTHEd52QChlZbMtzqJeiOJC5aPak7uq2+q+T1MX1 lr7UMBcHGUdd7k5KRClnjx57pMDNQ1RbtX9WM3CpXXRExtqSvbEZRfh/Ti7kZkHX+3PV EbfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709596848; x=1710201648; 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=YHXbUaTnfnx1zd6zIPzsjK+XvYjZHimmBUTTUMbPbHo=; b=FclYfFyWIpXzsCtHZ6rDgjBiJxvbMdfyR9gsiGPn58vNsSZLH6hRKp0xVdxRymHDEO 5SKud2gcX7HKvXnlvMQjGwpq/f6uFDqhKNn1KLmoZX6vv7h+2HfuxznoU1BK1EAssqis bJHZEJQCUvEpUrfflp+RiI84CYWCcq8mLTsvqaKX6Fivtepsf27AGBhbu9qU72wk7Stt pA68Hd/3wziCmgePVDdM1G4oC2f0FTOOD6GS8rXOiULqeYF+CR+PbNuCT1Tyi9VNvPp1 +60IkXLmbi4GC7VB49shGEySnvJfH7dMZJvbj36SU764L2wTj9JRNAfelGAE4bLm2cWD DkKQ== X-Gm-Message-State: AOJu0YzwPqPv/kpVkaFWmkJez5emrZyTgdXXRxvEvg+SQN0AVMwZXDQ0 xbgh8SGQ/l2P7wpHF6BSb+0yCojA5r3MIQTSz818jPKgTMcheGTLh2o4pD45 X-Received: by 2002:a17:90a:5986:b0:29a:9a57:f367 with SMTP id l6-20020a17090a598600b0029a9a57f367mr7668797pji.2.1709596847606; Mon, 04 Mar 2024 16:00:47 -0800 (PST) Received: from localhost.localdomain ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id gb2-20020a17090b060200b0029acce2420asm8288663pjb.10.2024.03.04.16.00.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 16:00:46 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 21:00:25 -0300 Message-ID: <20240305000033.10379-5-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240305000033.10379-1-jamrial@gmail.com> References: <20240305000033.10379-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/9 v2] fate/mov: print stream group information for iamf tests 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: dUrqtaFX4xUF Signed-off-by: James Almer --- tests/fate/mov.mak | 12 +- tests/ref/fate/mov-mp4-iamf-5_1_4 | 318 +++++++++++++++++++++ tests/ref/fate/mov-mp4-iamf-7_1_4 | 362 ++++++++++++++++++++++++ tests/ref/fate/mov-mp4-iamf-ambisonic_1 | 230 +++++++++++++++ tests/ref/fate/mov-mp4-iamf-stereo | 98 +++++++ 5 files changed, 1016 insertions(+), 4 deletions(-) diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak index 535647c474..de0e654532 100644 --- a/tests/fate/mov.mak +++ b/tests/fate/mov.mak @@ -211,7 +211,8 @@ fate-mov-mp4-iamf-stereo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav fate-mov-mp4-iamf-stereo: CMD = transcode wav $(SRC) mp4 " \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-stereo \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-stereo \ - -streamid 0:0 -c:a flac -t 1" "-c:a copy -map 0" + -streamid 0:0 -c:a flac -t 1" "-c:a copy -map 0" \ + "-show_entries stream_group=index,id,nb_streams,type:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition" FATE_MOV_FFMPEG-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER) += fate-mov-mp4-iamf-5_1_4 fate-mov-mp4-iamf-5_1_4: tests/data/asynth-44100-10.wav tests/data/filtergraphs/iamf_5_1_4 tests/data/streamgroups/audio_element-5_1_4 tests/data/streamgroups/mix_presentation-5_1_4 @@ -220,7 +221,8 @@ fate-mov-mp4-iamf-5_1_4: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filter -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_5_1_4 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-5_1_4 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-5_1_4 \ - -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a copy -map 0" + -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a copy -map 0" \ + "-show_entries stream_group=index,id,nb_streams,type:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition" FATE_MOV_FFMPEG-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER) += fate-mov-mp4-iamf-7_1_4 fate-mov-mp4-iamf-7_1_4: tests/data/asynth-44100-12.wav tests/data/filtergraphs/iamf_7_1_4 tests/data/streamgroups/audio_element-7_1_4 tests/data/streamgroups/mix_presentation-7_1_4 @@ -229,7 +231,8 @@ fate-mov-mp4-iamf-7_1_4: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filter -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_7_1_4 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-7_1_4 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-7_1_4 \ - -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -streamid 6:6 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [SIDE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a copy -map 0" + -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -streamid 6:6 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [SIDE] -map [TOP_FRONT] -map [TOP_BACK] -c:a flac -t 1" "-c:a copy -map 0" \ + "-show_entries stream_group=index,id,nb_streams,type:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition" FATE_MOV_FFMPEG-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER) += fate-mov-mp4-iamf-ambisonic_1 fate-mov-mp4-iamf-ambisonic_1: tests/data/asynth-44100-4.wav tests/data/filtergraphs/iamf_ambisonic_1 tests/data/streamgroups/audio_element-ambisonic_1 tests/data/streamgroups/mix_presentation-ambisonic_1 @@ -238,7 +241,8 @@ fate-mov-mp4-iamf-ambisonic_1: CMD = transcode wav $(SRC) mp4 "-auto_conversion_ -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_ambisonic_1 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-ambisonic_1 \ -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-ambisonic_1 \ - -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -map [MONO0] -map [MONO1] -map [MONO2] -map [MONO3] -c:a flac -t 1" "-c:a copy -map 0" + -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -map [MONO0] -map [MONO1] -map [MONO2] -map [MONO3] -c:a flac -t 1" "-c:a copy -map 0" \ + "-show_entries stream_group=index,id,nb_streams,type:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition" FATE_FFMPEG += $(FATE_MOV_FFMPEG-yes) diff --git a/tests/ref/fate/mov-mp4-iamf-5_1_4 b/tests/ref/fate/mov-mp4-iamf-5_1_4 index 2f29a83cf4..fde95296eb 100644 --- a/tests/ref/fate/mov-mp4-iamf-5_1_4 +++ b/tests/ref/fate/mov-mp4-iamf-5_1_4 @@ -96,3 +96,321 @@ 3, 41472, 41472, 2628, 923, 0xa7225edf 4, 41472, 41472, 2628, 926, 0xc26a5eae 5, 41472, 41472, 2628, 926, 0xc26a5eae +[STREAM_GROUP] +index=0 +id=0x1 +nb_streams=6 +type=IAMF Audio Element +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:language=und +TAG:handler_name=SoundHandler +TAG:vendor_id=[0][0][0][0] +[STREAM] +index=0 +id=0x0 +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=2 +id=0x2 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=3 +id=0x3 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=4 +id=0x4 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=5 +id=0x5 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] +[STREAM_GROUP] +index=1 +id=0x2 +nb_streams=6 +type=IAMF Mix Presentation +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:language=und +TAG:handler_name=SoundHandler +TAG:vendor_id=[0][0][0][0] +[STREAM] +index=0 +id=0x0 +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=2 +id=0x2 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=3 +id=0x3 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=4 +id=0x4 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=5 +id=0x5 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] diff --git a/tests/ref/fate/mov-mp4-iamf-7_1_4 b/tests/ref/fate/mov-mp4-iamf-7_1_4 index 891803470a..a660aaa143 100644 --- a/tests/ref/fate/mov-mp4-iamf-7_1_4 +++ b/tests/ref/fate/mov-mp4-iamf-7_1_4 @@ -112,3 +112,365 @@ 4, 41472, 41472, 2628, 926, 0xc26a5eae 5, 41472, 41472, 2628, 926, 0xc26a5eae 6, 41472, 41472, 2628, 926, 0xc26a5eae +[STREAM_GROUP] +index=0 +id=0x1 +nb_streams=7 +type=IAMF Audio Element +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:language=und +TAG:handler_name=SoundHandler +TAG:vendor_id=[0][0][0][0] +[STREAM] +index=0 +id=0x0 +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=2 +id=0x2 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=3 +id=0x3 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=4 +id=0x4 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=5 +id=0x5 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=6 +id=0x6 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] +[STREAM_GROUP] +index=1 +id=0x2 +nb_streams=7 +type=IAMF Mix Presentation +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:language=und +TAG:handler_name=SoundHandler +TAG:vendor_id=[0][0][0][0] +[STREAM] +index=0 +id=0x0 +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=2 +id=0x2 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=3 +id=0x3 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=4 +id=0x4 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=5 +id=0x5 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=6 +id=0x6 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] diff --git a/tests/ref/fate/mov-mp4-iamf-ambisonic_1 b/tests/ref/fate/mov-mp4-iamf-ambisonic_1 index c4af88ce10..20f7ef97a4 100644 --- a/tests/ref/fate/mov-mp4-iamf-ambisonic_1 +++ b/tests/ref/fate/mov-mp4-iamf-ambisonic_1 @@ -64,3 +64,233 @@ fa740a4e2b84453c4e84908190094e28 *tests/data/fate/mov-mp4-iamf-ambisonic_1.mp4 1, 41472, 41472, 2628, 923, 0xa7225edf 2, 41472, 41472, 2628, 923, 0xa7225edf 3, 41472, 41472, 2628, 923, 0xa7225edf +[STREAM_GROUP] +index=0 +id=0x1 +nb_streams=4 +type=IAMF Audio Element +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:language=und +TAG:handler_name=SoundHandler +TAG:vendor_id=[0][0][0][0] +[STREAM] +index=0 +id=0x0 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=2 +id=0x2 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=3 +id=0x3 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] +[STREAM_GROUP] +index=1 +id=0x2 +nb_streams=4 +type=IAMF Mix Presentation +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:language=und +TAG:handler_name=SoundHandler +TAG:vendor_id=[0][0][0][0] +[STREAM] +index=0 +id=0x0 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=1 +id=0x1 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=2 +id=0x2 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=3 +id=0x3 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] diff --git a/tests/ref/fate/mov-mp4-iamf-stereo b/tests/ref/fate/mov-mp4-iamf-stereo index 5c66c3e188..06af474018 100644 --- a/tests/ref/fate/mov-mp4-iamf-stereo +++ b/tests/ref/fate/mov-mp4-iamf-stereo @@ -16,3 +16,101 @@ 0, 32256, 32256, 4608, 1768, 0x2a044b99 0, 36864, 36864, 4608, 1534, 0xb0b35a3f 0, 41472, 41472, 2628, 926, 0xc26a5eae +[STREAM_GROUP] +index=0 +id=0x1 +nb_streams=1 +type=IAMF Audio Element +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:language=und +TAG:handler_name=SoundHandler +TAG:vendor_id=[0][0][0][0] +[STREAM] +index=0 +id=0x0 +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] +[STREAM_GROUP] +index=1 +id=0x2 +nb_streams=1 +type=IAMF Mix Presentation +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:language=und +TAG:handler_name=SoundHandler +TAG:vendor_id=[0][0][0][0] +[STREAM] +index=0 +id=0x0 +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] From patchwork Tue Mar 5 00:00:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 46799 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp83051pzc; Mon, 4 Mar 2024 16:02:02 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWHVlajQLsZI6Ij/3eto/N8tPTyVUwpNpL2l4K5dlNzolZR+n6pIaX27H6hWmidkKqSe+BrLiMOhX8vndnJIZtJFRTnRnB4VujBZw== X-Google-Smtp-Source: AGHT+IHqDtJ258pLI7bagedh037UxYi9OJBgDIbtia+RXKrmitRpE1PxIqLLis11BAbAe2EC7Vwb X-Received: by 2002:a17:907:c306:b0:a43:f01f:e56a with SMTP id tl6-20020a170907c30600b00a43f01fe56amr335116ejc.0.1709596922689; Mon, 04 Mar 2024 16:02:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709596922; cv=none; d=google.com; s=arc-20160816; b=UlNfq5v+Tb1yEZnBA0lN1pFfuNFvOjYF+xp0Ove6CaRXCnj5O2Nd7NRFceBPnPJBzx EzXdFGtgEvdX5qyYsCaXXoA/NIve4a9QA4JmSmkN21n0I+etC4kyI1s+AZZOE9gw8IcK BLK0ectzSvrxN/f2I2xG5MnSbIuYLXrlnibCW5tZYelp23UMFLuKxZZBjS0AmzbSCTW/ 111rP87PbGNcUD3+hC0Q0Q5Rmad35rIWQVf0BF20955uw4LZNMidqc+/fiHXofubwHTI Wx1r0IdMkcwkVmF2eteyyzwhidh/kHd5wQpmXDhY5ULGi9TOKosnRJ9zioclGvQTNPlf wG9Q== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=cidyNB3GYjwcrwZmeI3xovXtL2H1nztVuNnL16l9DyE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=LGrHGh8KoA6u8mfV2SgnXT7pC2OyEUUEvomoOcQw/23XbaFfkvRQ3a5bfhiCXSw1o6 4ZIRNLktClkm/rhe3gS82Usa4aRyp2osMCd99Li1rllB3WpQD+MI4ExATkRpBs9q1Z5z Ed1FZrVOvB9Lqw4zJDjJR3anJya2d3DaDSTjGqCjmZQHUMccd3yN0NOQ8KuhV/na/KD4 9wX6Bi/mzBAL2Az4ZfnW6S0ogdj/kMwq+SWWhT9XZY4oN3hv+gr1eNlCS15eGORMAL/a ATvdx+mHUzLMq8NNvGZVQQQ0Zi6cFEkrkFPb8L4LFIGDehf7rkvU8MVrveYvcjcyUMs9 lOEg==; 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=kmj+jzzu; 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 qa9-20020a170907868900b00a432a85addbsi4495109ejc.352.2024.03.04.16.02.02; Mon, 04 Mar 2024 16:02:02 -0800 (PST) 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=kmj+jzzu; 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 0664668D4ED; Tue, 5 Mar 2024 02:00:59 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 625EA68D4E3 for ; Tue, 5 Mar 2024 02:00:52 +0200 (EET) Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-29a7951c6faso3303484a91.1 for ; Mon, 04 Mar 2024 16:00:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709596850; x=1710201650; 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=NIfYjwWm5niVOcJhbH1zHQrO2268JqC6VFsD8LzVLPc=; b=kmj+jzzu4DocAos5x7nX+E/7VcIZvnHFFFNxAGrJ5UNhvLxpg1H/p5sS8NctNK6KQo TTx0jxCqD1FnKkzhIHbeFFvVR4MT6dm3ibKS830aK0giZdH6qNt+ATZ1f8kO6WrILx8n kTzQL8rfMGywaSz4Uw4vPreRQnzlynMrjB8JfMJedocXhE7qtxrqHovivkFgqe3LdSnF bJFVygpBTP8HjTW2QVflvCbqssco+GCUcFmQD0IjMI+EBnhZal0zUul79WpRA2cTRfv8 isgqbCt6CBfatiL+kaMOcmFU79xBHgG3jsl5NaE0j0MKcYkecp0QdquJh1swUH3c4sDa xm8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709596850; x=1710201650; 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=NIfYjwWm5niVOcJhbH1zHQrO2268JqC6VFsD8LzVLPc=; b=U31GH86vtQnAX76M9yv8HRB4bmsQiIA2+Bz4lbyYGtpYv+LXUQZL43+qaWfO7dnVcl oXDjBdIsYJiSxt8Dp1KrfI5x1p9/h0mYDrJP2L2T+1pNpwmsdhXd4z1mA47JCq1f7p45 JJ6bFBQhw0c6iDZ2nFXbf1V8xUj24QltNqBOIH0PNm21+OS1DUYGaqa8mQpwlupnAYNS ki/BtBcgOcD9hA2pdw6X8VN2+7o7FqJL49L3ykj3GGGXTpekRFJFBfjrqq4xTbX/KKer 6sSiNtm3up3TY0vlQv6VKxdQLCeNlMzbIavhSV7dVPOjpVP4VtfdU3U8tOI777ZEVf3H Iiew== X-Gm-Message-State: AOJu0YwbPXMJMtd5h67yZAUoO4SrPqH1tvd81Cr1xOUbNnT4rIdf2Hj8 KDFLE95EEwYqf4bj1SzqtPyK7yjcuB7LSdIeCRsly9tq6FvrEmDK6D16g2GJ X-Received: by 2002:a17:90b:103:b0:29a:e097:50b4 with SMTP id p3-20020a17090b010300b0029ae09750b4mr6678234pjz.46.1709596849418; Mon, 04 Mar 2024 16:00:49 -0800 (PST) Received: from localhost.localdomain ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id gb2-20020a17090b060200b0029acce2420asm8288663pjb.10.2024.03.04.16.00.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 16:00:48 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 21:00:26 -0300 Message-ID: <20240305000033.10379-6-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240305000033.10379-1-jamrial@gmail.com> References: <20240305000033.10379-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 6/9] fftools/ffprobe: export Tile Grid Stream Group parameters 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: kTiK0gpj05cO Signed-off-by: James Almer --- fftools/ffprobe.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index ff05c4c1db..e736023bcd 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -209,6 +209,10 @@ typedef enum { SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, SECTION_ID_STREAM_GROUP_STREAM_TAGS, SECTION_ID_STREAM_GROUP, + SECTION_ID_STREAM_GROUP_COMPONENTS, + SECTION_ID_STREAM_GROUP_COMPONENT, + SECTION_ID_STREAM_GROUP_PIECES, + SECTION_ID_STREAM_GROUP_PIECE, SECTION_ID_STREAM_GROUP_STREAMS, SECTION_ID_STREAM_GROUP_STREAM, SECTION_ID_STREAM_GROUP_DISPOSITION, @@ -282,8 +286,8 @@ static struct section sections[] = { [SECTION_ID_FRAME_SIDE_DATA_TIMECODE] = { SECTION_ID_FRAME_SIDE_DATA_TIMECODE, "timecode", 0, { -1 } }, [SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST] = { SECTION_ID_FRAME_SIDE_DATA_COMPONENT_LIST, "components", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_COMPONENT, -1 }, .element_name = "component", .unique_name = "frame_side_data_components" }, [SECTION_ID_FRAME_SIDE_DATA_COMPONENT] = { SECTION_ID_FRAME_SIDE_DATA_COMPONENT, "component", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, -1 }, .unique_name = "frame_side_data_component", .element_name = "component_entry", .get_type = get_raw_string_type }, - [SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST] = { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, "pieces", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_PIECE, -1 }, .element_name = "piece" }, - [SECTION_ID_FRAME_SIDE_DATA_PIECE] = { SECTION_ID_FRAME_SIDE_DATA_PIECE, "piece", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name = "piece_entry", .get_type = get_raw_string_type }, + [SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST] = { SECTION_ID_FRAME_SIDE_DATA_PIECE_LIST, "pieces", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA_PIECE, -1 }, .element_name = "piece", .unique_name = "frame_side_data_pieces" }, + [SECTION_ID_FRAME_SIDE_DATA_PIECE] = { SECTION_ID_FRAME_SIDE_DATA_PIECE, "piece", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name = "piece_entry", .unique_name = "frame_side_data_piece", .get_type = get_raw_string_type }, [SECTION_ID_FRAME_LOGS] = { SECTION_ID_FRAME_LOGS, "logs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_LOG, -1 } }, [SECTION_ID_FRAME_LOG] = { SECTION_ID_FRAME_LOG, "log", 0, { -1 }, }, [SECTION_ID_LIBRARY_VERSIONS] = { SECTION_ID_LIBRARY_VERSIONS, "library_versions", SECTION_FLAG_IS_ARRAY, { SECTION_ID_LIBRARY_VERSION, -1 } }, @@ -309,7 +313,11 @@ static struct section sections[] = { [SECTION_ID_PROGRAMS] = { SECTION_ID_PROGRAMS, "programs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM, -1 } }, [SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION] = { SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_group_stream_disposition" }, [SECTION_ID_STREAM_GROUP_STREAM_TAGS] = { SECTION_ID_STREAM_GROUP_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "stream_group_stream_tags" }, - [SECTION_ID_STREAM_GROUP] = { SECTION_ID_STREAM_GROUP, "stream_group", SECTION_FLAG_HAS_TYPE, { SECTION_ID_STREAM_GROUP_TAGS, SECTION_ID_STREAM_GROUP_DISPOSITION, SECTION_ID_STREAM_GROUP_STREAMS, -1 }, .get_type = get_stream_group_type }, + [SECTION_ID_STREAM_GROUP] = { SECTION_ID_STREAM_GROUP, "stream_group", SECTION_FLAG_HAS_TYPE, { SECTION_ID_STREAM_GROUP_TAGS, SECTION_ID_STREAM_GROUP_DISPOSITION, SECTION_ID_STREAM_GROUP_COMPONENTS, SECTION_ID_STREAM_GROUP_STREAMS, -1 }, .get_type = get_stream_group_type }, + [SECTION_ID_STREAM_GROUP_COMPONENTS] = { SECTION_ID_STREAM_GROUP_COMPONENTS, "components", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_COMPONENT, -1 }, .element_name = "component", .unique_name = "stream_group_components" }, + [SECTION_ID_STREAM_GROUP_COMPONENT] = { SECTION_ID_STREAM_GROUP_COMPONENT, "component", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { SECTION_ID_STREAM_GROUP_PIECES, -1 }, .unique_name = "stream_group_component", .element_name = "component_entry", .get_type = get_raw_string_type }, + [SECTION_ID_STREAM_GROUP_PIECES] = { SECTION_ID_STREAM_GROUP_PIECES, "pieces", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_PIECE, -1 }, .element_name = "piece", .unique_name = "stream_group_pieces" }, + [SECTION_ID_STREAM_GROUP_PIECE] = { SECTION_ID_STREAM_GROUP_PIECE, "piece", SECTION_FLAG_HAS_VARIABLE_FIELDS|SECTION_FLAG_HAS_TYPE, { -1 }, .element_name = "piece_entry", .unique_name = "stream_group_piece", .get_type = get_raw_string_type }, [SECTION_ID_STREAM_GROUP_STREAMS] = { SECTION_ID_STREAM_GROUP_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM_GROUP_STREAM, -1 }, .unique_name = "stream_group_streams" }, [SECTION_ID_STREAM_GROUP_STREAM] = { SECTION_ID_STREAM_GROUP_STREAM, "stream", 0, { SECTION_ID_STREAM_GROUP_STREAM_DISPOSITION, SECTION_ID_STREAM_GROUP_STREAM_TAGS, -1 }, .unique_name = "stream_group_stream" }, [SECTION_ID_STREAM_GROUP_DISPOSITION] = { SECTION_ID_STREAM_GROUP_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_group_disposition" }, @@ -3388,9 +3396,32 @@ static int show_programs(WriterContext *w, InputFile *ifile) static void print_stream_group_params(WriterContext *w, AVStreamGroup *stg) { const char *unknown = "unknown"; - if (stg->type != AV_STREAM_GROUP_PARAMS_NONE) + if (stg->type != AV_STREAM_GROUP_PARAMS_NONE) { print_str("type", av_x_if_null(avformat_stream_group_name(stg->type), unknown)); - else + if (stg->type == AV_STREAM_GROUP_PARAMS_TILE_GRID) { + AVStreamGroupTileGrid *tile_grid = stg->params.tile_grid; + writer_print_section_header(w, NULL, SECTION_ID_STREAM_GROUP_COMPONENTS); + writer_print_section_header(w, "parameters", SECTION_ID_STREAM_GROUP_COMPONENT); + print_int("nb_tiles", tile_grid->nb_tiles); + print_int("coded_width", tile_grid->coded_width); + print_int("coded_height", tile_grid->coded_height); + print_int("horizontal_offset", tile_grid->horizontal_offset); + print_int("vertical_offset", tile_grid->vertical_offset); + print_int("width", tile_grid->width); + print_int("height", tile_grid->height); + writer_print_section_header(w, NULL, SECTION_ID_STREAM_GROUP_PIECES); + for (int i = 0; i < tile_grid->nb_tiles; i++) { + writer_print_section_header(w, "tile_offset", SECTION_ID_STREAM_GROUP_PIECE); + print_int("stream_index", tile_grid->offsets[i].idx); + print_int("tile_horizontal_offset", tile_grid->offsets[i].horizontal); + print_int("tile_vertical_offset", tile_grid->offsets[i].vertical); + writer_print_section_footer(w); + } + writer_print_section_footer(w); + writer_print_section_footer(w); + writer_print_section_footer(w); + } + } else print_str_opt("type", unknown); } From patchwork Tue Mar 5 00:00:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 46801 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp83221pzc; Mon, 4 Mar 2024 16:02:22 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUh3ruaWXb56FT8Suhlt5Wpuwm2vT8f0xzkRUDAw12S0mPp9hbLFiLLs8yB7XwZY1H4KpQwuLrIJ5v0QEXgmTep/HI1EU70+9iB+A== X-Google-Smtp-Source: AGHT+IHGuqv9F0Du79Tz9DANSBGIaH7v27d73z+muR64JTJ6JeE7GXzb4ZyhESH3zkE8vJ0YuR90 X-Received: by 2002:a2e:3207:0:b0:2d3:1b88:9237 with SMTP id y7-20020a2e3207000000b002d31b889237mr5818978ljy.0.1709596941789; Mon, 04 Mar 2024 16:02:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709596941; cv=none; d=google.com; s=arc-20160816; b=b6dTVQbo2p4B7LqEM1x3slIaHS0XkH/6WbG/YyRw0nO5234RWHHRuZQRcj4ucCwrf2 RaoUmDtfcjabEzLBxDcG9GlvmmTSx28IgyICZlXarrteatX/y5CEkRg5m6UY/yHOEQrR 2VXKrvVZeWsI00brg+wsqsHod1p0stSe3hZB9C+pEnmHN+4L7b34wNPz7t07TtbmAIl9 SZCmlxdlQ1XsDgf817W0ELc6tuMFbx7ytUYU32rGPIPowZLT0Tkd5XpN0qHwpnSjsKnK AR/l/rKix0UIckDGIpjzbmZfF+5GXf+fFtx64Blx8/pRT5nEKz7iPs+Ht9u7PZtPpk+0 blRg== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=R9/Db+siMD02BrxvZCT1GuRCGP+c9Wo2B7/e3KNJF7I=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=JXz/jqt1ks7xnahxMVWwVVxrmstPeiREo2zOX7kdHwYndA42zJ7WWxnHL7w4xn8pI/ 2QUYcDGSX4QM1hTRTtS5m7fP0EaJCG0iKA9qRXdowO7uSfyRppQYuGoJ3MhjYfrWcjI4 Suf/Wsx7oAXScey/0cXdTchml79nnYakDWu7y37dwuXVP0lVsHEDmxLVyymHjP7LuJF1 X29cbacwO1nh9W3P3/6TD2qY5rza9DzpPVKikjPUfAiD1OP9cd1nFAljV3vOOcUnfWKk cKx5eoEKx+2krlBO/oqgEVdBdS92YMwZSi3LSMiXLfGq4C1XdOCWtEMsL6qenOy/Oeug x4cQ==; 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=EPQHqWBA; 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 x18-20020a05640226d200b00566c153dd59si3784788edd.55.2024.03.04.16.02.21; Mon, 04 Mar 2024 16:02:21 -0800 (PST) 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=EPQHqWBA; 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 0EDBB68D4F7; Tue, 5 Mar 2024 02:01:01 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4C84C68D4EA for ; Tue, 5 Mar 2024 02:00:54 +0200 (EET) Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-299e4b352cdso3389572a91.0 for ; Mon, 04 Mar 2024 16:00:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709596852; x=1710201652; 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=SFTBAp2L4K56iwCVK6vvIdmOdsGimyi5A30Eay2gdY0=; b=EPQHqWBA7+AL1J1HCLYOkeZtKFo/Af2OkFIaz+ZkFRTC3SFWQpOYF3eqD3nqB12i9d OcneTBymbVwcU5XmPEBl7pSeTn8jyTgtOi8ZZgCcIK9+mshSctdNkWRbiLSRZA3hdnQo DyTLHjOYYlZCvCQyJy0960EWp9gzVE7oc+78VtSCBAsZtJ0IkNOEtTEpBEY3+E/cWrhq OFC3rIB5HCOpU0NuPTlNKhYCjav2Q1JjpUkgRyMLHBsbSZScrmstczmFrxLJqhqLjWHB tR5wVxm/T5BpXJb7lAI2ZHogd22L/muBw4r0uo4MgC7/+Q5IcTeEcSqm8i52j8jJVOBY UBlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709596852; x=1710201652; 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=SFTBAp2L4K56iwCVK6vvIdmOdsGimyi5A30Eay2gdY0=; b=dDRKrmPf2Uz9C2jEPkHkHiFkJhPCVhGe1GS8FK6g60gQNAzaIoWPD0LM4ZPTtFjLbw xW8GMY8HnwzvbfBKxcGeRDxQtuGZ2+zBK9oW+bVAuj2NgepIdVZ3LGd3/56v/+niEu1o jXMOZpvB8BLgRvM5QiWWzSDl0iXo4KT81Uxf3xrO/hqbhFM+it5EZgN4huUR8KBQHdkx tdv1koYWmoUTJkfUybk8O/oG1CJ0VoGKzv8AnssEXUADLBHcwEWUIhd02UZ3vI5pQX3e lXUcCGg1Gy+xW8FBwXc2/kQFZ0+8uead5HcXWpwfIJ0BSxZb5+jSTyxIzqjxCeA1OdZJ 6CCw== X-Gm-Message-State: AOJu0YyEptmiLzPv6ma1VtS3Y8XOgDUqOzJwmsvEmpYL7ngSA6ompKef yxZpKlQdUE5hr4hDptdeuGqQS+wME37I2nOeANFFpr4UZLAnFOtFi6vv9kst X-Received: by 2002:a17:90a:ce94:b0:29a:8829:f687 with SMTP id g20-20020a17090ace9400b0029a8829f687mr7805629pju.27.1709596851604; Mon, 04 Mar 2024 16:00:51 -0800 (PST) Received: from localhost.localdomain ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id gb2-20020a17090b060200b0029acce2420asm8288663pjb.10.2024.03.04.16.00.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 16:00:50 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 21:00:27 -0300 Message-ID: <20240305000033.10379-7-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240305000033.10379-1-jamrial@gmail.com> References: <20240305000033.10379-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 7/9 v3] fate/mov: print stream group information for avif/heic tests 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: HqoUfVAw7CBx Signed-off-by: James Almer --- tests/fate-run.sh | 13 ++ tests/fate/mov.mak | 12 +- .../ref/fate/mov-heic-demux-still-image-grid | 162 ++++++++++++++++-- .../ref/fate/mov-heic-demux-still-image-iovl | 100 ++++++++++- 4 files changed, 263 insertions(+), 24 deletions(-) diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 7a7344e645..2de560354f 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -272,6 +272,19 @@ transcode(){ run ffprobe${PROGSUF}${EXECSUF} -bitexact $ffprobe_opts $tencfile || return } +stream_demux(){ + src_fmt=$1 + srcfile=$2 + src_opts=$3 + enc_opts=$4 + ffprobe_opts=$5 + tsrcfile=$(target_path $srcfile) + ffmpeg $DEC_OPTS -f $src_fmt $src_opts -i $tsrcfile $ENC_OPTS $FLAGS $enc_opts \ + -f framecrc - || return + test -z "$ffprobe_opts" || \ + run ffprobe${PROGSUF}${EXECSUF} -bitexact $ffprobe_opts $tsrcfile || return +} + stream_remux(){ src_fmt=$1 srcfile=$2 diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak index de0e654532..91b71d68b1 100644 --- a/tests/fate/mov.mak +++ b/tests/fate/mov.mak @@ -161,13 +161,17 @@ FATE_MOV_FFMPEG_SAMPLES-$(call FRAMEMD5, MOV, HEVC, HEVC_PARSER) \ += fate-mov-heic-demux-still-image-multiple-items fate-mov-heic-demux-still-image-multiple-items: CMD = framemd5 -i $(TARGET_SAMPLES)/heif-conformance/C003.heic -c:v copy -map 0 -FATE_MOV_FFMPEG_SAMPLES-$(call FRAMEMD5, MOV, HEVC, HEVC_PARSER) \ +# heic demuxing - still image with multiple items in a grid. +FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call DEMMUX, MOV, FRAMECRC, HEVC_DECODER HEVC_PARSER) \ += fate-mov-heic-demux-still-image-grid -fate-mov-heic-demux-still-image-grid: CMD = framemd5 -i $(TARGET_SAMPLES)/heif-conformance/C007.heic -c:v copy -map 0:g:0 +fate-mov-heic-demux-still-image-grid: CMD = stream_demux mov $(TARGET_SAMPLES)/heif-conformance/C007.heic "" "-c:v copy -map 0:g:0" \ + "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition" -FATE_MOV_FFMPEG_SAMPLES-$(call FRAMEMD5, MOV, HEVC, HEVC_PARSER) \ +# heic demuxing - still image with multiple items in an overlay canvas. +FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call DEMMUX, MOV, FRAMECRC, HEVC_DECODER HEVC_PARSER) \ += fate-mov-heic-demux-still-image-iovl -fate-mov-heic-demux-still-image-iovl: CMD = framemd5 -i $(TARGET_SAMPLES)/heif-conformance/C015.heic -c:v copy -map 0:g:0 +fate-mov-heic-demux-still-image-iovl: CMD = stream_demux mov $(TARGET_SAMPLES)/heif-conformance/C015.heic "" "-c:v copy -map 0:g:0" \ + "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition" # Resulting remux should have: # 1. first audio stream with AV_DISPOSITION_HEARING_IMPAIRED diff --git a/tests/ref/fate/mov-heic-demux-still-image-grid b/tests/ref/fate/mov-heic-demux-still-image-grid index 6fde8fff28..5c4092bb09 100644 --- a/tests/ref/fate/mov-heic-demux-still-image-grid +++ b/tests/ref/fate/mov-heic-demux-still-image-grid @@ -1,10 +1,7 @@ -#format: frame checksums -#version: 2 -#hash: MD5 -#extradata 0, 100, 5444bf01e03182c73ae957179d560f4d -#extradata 1, 100, 5444bf01e03182c73ae957179d560f4d -#extradata 2, 100, 5444bf01e03182c73ae957179d560f4d -#extradata 3, 100, 5444bf01e03182c73ae957179d560f4d +#extradata 0: 100, 0xee3e15e9 +#extradata 1: 100, 0xee3e15e9 +#extradata 2: 100, 0xee3e15e9 +#extradata 3: 100, 0xee3e15e9 #tb 0: 1/1 #media_type 0: video #codec_id 0: hevc @@ -25,8 +22,149 @@ #codec_id 3: hevc #dimensions 3: 1280x720 #sar 3: 0/1 -#stream#, dts, pts, duration, size, hash -0, 0, 0, 1, 111554, 03ceabfab39afd2e2e796b9362111f32 -1, 0, 0, 1, 111481, e5db978adbe4de7ee50fe73abc39fcfa -2, 0, 0, 1, 111451, 08700213113cadbb6628ecb8253c1c2a -3, 0, 0, 1, 111353, 5de942e14c848e5e22fad5d88fb13776 +0, 0, 0, 1, 111554, 0xa0679859 +1, 0, 0, 1, 111481, 0xc5386eaf +2, 0, 0, 1, 111451, 0xdbde88de +3, 0, 0, 1, 111353, 0x26435c8c +[STREAM_GROUP] +index=0 +id=0x3f1 +nb_streams=4 +type=Tile Grid +[COMPONENT] +nb_tiles=4 +coded_width=2560 +coded_height=1440 +horizontal_offset=0 +vertical_offset=0 +width=2560 +height=1440 +[PIECE] +stream_index=0 +tile_horizontal_offset=0 +tile_vertical_offset=0 +[/PIECE] +[PIECE] +stream_index=1 +tile_horizontal_offset=1280 +tile_vertical_offset=0 +[/PIECE] +[PIECE] +stream_index=2 +tile_horizontal_offset=0 +tile_vertical_offset=720 +[/PIECE] +[PIECE] +stream_index=3 +tile_horizontal_offset=1280 +tile_vertical_offset=720 +[/PIECE] +[/COMPONENT] +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:title=Derived image +[STREAM] +index=0 +id=0x3ea +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=1 +id=0x3ec +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=2 +id=0x3ee +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=3 +id=0x3f0 +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] diff --git a/tests/ref/fate/mov-heic-demux-still-image-iovl b/tests/ref/fate/mov-heic-demux-still-image-iovl index 753cef267a..67394c2893 100644 --- a/tests/ref/fate/mov-heic-demux-still-image-iovl +++ b/tests/ref/fate/mov-heic-demux-still-image-iovl @@ -1,8 +1,5 @@ -#format: frame checksums -#version: 2 -#hash: MD5 -#extradata 0, 100, 5444bf01e03182c73ae957179d560f4d -#extradata 1, 100, 5444bf01e03182c73ae957179d560f4d +#extradata 0: 100, 0xee3e15e9 +#extradata 1: 100, 0xee3e15e9 #tb 0: 1/1 #media_type 0: video #codec_id 0: hevc @@ -13,6 +10,93 @@ #codec_id 1: hevc #dimensions 1: 1280x720 #sar 1: 0/1 -#stream#, dts, pts, duration, size, hash -0, 0, 0, 1, 111554, 03ceabfab39afd2e2e796b9362111f32 -1, 0, 0, 1, 112393, daa001d351c088a5bc328459e2501c95 +0, 0, 0, 1, 111554, 0xa0679859 +1, 0, 0, 1, 112393, 0xdf2b9da0 +[STREAM_GROUP] +index=0 +id=0x3ee +nb_streams=2 +type=Tile Grid +[COMPONENT] +nb_tiles=2 +coded_width=1440 +coded_height=960 +horizontal_offset=0 +vertical_offset=0 +width=1440 +height=960 +[PIECE] +stream_index=0 +tile_horizontal_offset=0 +tile_vertical_offset=0 +[/PIECE] +[PIECE] +stream_index=1 +tile_horizontal_offset=160 +tile_vertical_offset=240 +[/PIECE] +[/COMPONENT] +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:title=Derived image +[STREAM] +index=0 +id=0x3ea +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[STREAM] +index=1 +id=0x3ed +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=1 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP] From patchwork Tue Mar 5 00:00:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 46798 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp82967pzc; Mon, 4 Mar 2024 16:01:53 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXXBGmpEDu3Koreu7G3WJtMuEN1VTuCZ3w0XeWjCieC4cuFBrVrgxfjHAIp3C2YebBwLFdD+Xe9ukb8oJY3sg10f5oiwZSF0Y5u+A== X-Google-Smtp-Source: AGHT+IEy0tPjKqvqEjkKGfpW0U/TdX7+gJWa/5aIKYMPdcHkVm653KZ9/f64NTvkjLFiWd8Pdhtp X-Received: by 2002:a19:f806:0:b0:513:4705:a4f3 with SMTP id a6-20020a19f806000000b005134705a4f3mr151762lff.65.1709596913128; Mon, 04 Mar 2024 16:01:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709596913; cv=none; d=google.com; s=arc-20160816; b=YBrFRyMo3bHJtgVmFvaodJcW97hwRkCpB5EXP3QIKhz1J7jvXm80nhV4F+8vEF6HTp p8rN00PK+UN8FleoaaAKIVBvBLe+wwvIJZS5k9wPlrjQ02d6w9L8KH+XZEuUWqkC5zHo A0V9KkTWT+Mnt0ylL82neWZIow1tguzhoAHHZRu/Vx5+0l5HZ/dl0gA3cQvSFa7/ts3g lVHF8B43IhzFGxGMJ4+c1GVYxlXs+Uzdr5eXX0mpdikvDvMu8bAbvcG2TTeWJDScKi0M BlxL1njoqkbPmD9nKOVnSOWDs51mI7aWfo41GpI2u1WdFr7HT+zNdNWkqkRpI1iHnsZ/ PzwA== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=0Vab3Ij74/TAhFLtybhRhMCWkrc2OmEXET8UQgQRuXg=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=AoyumHxWnbgzcIAGNS/UmM3aJH80KL3W8u3f+YGtN6AcC1yACw2BF3Z2H6Ecfabcg4 2npCx8YPmWHKRU4E6nQOM4WTyc7NG/7zvbASRe99tHT83CKVJbfFUf1m48HQyoGcDYKa jMQD6nmMZDxsUlugowqgYV/G5W1RdO2hVLMlcGsecHZ+AWTAVeTzrrI6Kn+ubDWbmtQF 0d3RReCK2Q0YzSk1sRkG1A8pUc7TtuDaeheBgd3NesLRrD7XfCSDoDEktX/ny7bpMXmb 4xFbjoy5b1HkBxbam8ns/RwuK06kJiqTB65WdzEUBoXuFGJ6uippN1tGBGvtmB2UpP5E i/yg==; 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=U19VhzJX; 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 sh20-20020a1709076e9400b00a44cc13df80si2901571ejc.933.2024.03.04.16.01.52; Mon, 04 Mar 2024 16:01:53 -0800 (PST) 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=U19VhzJX; 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 068BD68D4D4; Tue, 5 Mar 2024 02:00:58 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 31C9768D4D3 for ; Tue, 5 Mar 2024 02:00:55 +0200 (EET) Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-2997cb49711so58568a91.3 for ; Mon, 04 Mar 2024 16:00:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709596853; x=1710201653; 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=D+dHjqBbGy+PlIHHjaC3n4ErYdOcoNH0pT8g/3aB/KU=; b=U19VhzJX8JwzdpsB3buDhDaiMuyYgx9ME3U8DUjP6Bc4sZKcEtk2noOVu3eGf3ArKa TQ+8MXUT9qFRWnx3Nao79IuYqLUK8/PY1vet2ui+ZQU38gimkYrQbrzafVA8MuIVDm2A TTvwnap6QQbaCNFEY7j83O+Hlpm6EAFzF9Ze+Je4nsRoCkVRyZ/A8RaESv79n6Oz1/Qe X2e0CxoJ18PwqDmXN8d9kxydOAuJXVqpR+pxEazHwtWV0BBVIVKxIgPhKsmSwxjDikSc A/0WjNp7OCkiXlX1gdYCDnhiyrBLSOzVJIc6R0eAH8e8Bs+ooKUIkh/8W3pdho4zjY7s bXiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709596853; x=1710201653; 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=D+dHjqBbGy+PlIHHjaC3n4ErYdOcoNH0pT8g/3aB/KU=; b=YK7xIelwHg7ivPGPuFXxDPIKmLkCaw+hBmN3h630rbRbvww5qmZJUT1Xkd3FI/qY67 tnYWRn48nUpHFA4jhOalvZGAowOmSTYJilUvQKEtquLT5dqEmen2bUyLxhrHTc74JK/+ xqaCx+XJC1OOVA1iXTIRI6kGr8vIKqzQUD5TnqmzNEWCTFO/vO2o0wxwEAa0Qcgcj5jF 6JOTZUfNSLQC6NT5seJsauajUj+ISkolclWqsBVAlxQr6mXcD4XGX/1PZ591ap2S/27P eYvrxnpmRemIuBbmOxlIbXG4vgup+N3DX0T3uGUDlHH+1NxJRP6AYChnuJlRDmWpTgtx XmAw== X-Gm-Message-State: AOJu0YzbqBlTo43NRQ1MWp6siwbitEQj7tyUmVZjL6fO6EUhdj4XAE6j o0Rd/IaSYOuwdfMHQnVBDEmnwjHPC+JIR2u1YpSpdOEkgAf1QaZQtZmqh73H X-Received: by 2002:a17:90a:5782:b0:29a:11b6:a333 with SMTP id g2-20020a17090a578200b0029a11b6a333mr7889943pji.15.1709596853189; Mon, 04 Mar 2024 16:00:53 -0800 (PST) Received: from localhost.localdomain ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id gb2-20020a17090b060200b0029acce2420asm8288663pjb.10.2024.03.04.16.00.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 16:00:52 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 21:00:28 -0300 Message-ID: <20240305000033.10379-8-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240305000033.10379-1-jamrial@gmail.com> References: <20240305000033.10379-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 8/9 v2] fate/mov: use framecrc for the remaining avif/heic tests 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: 1NNnm8bB+oDf Put them in sync with the other tests. Signed-off-by: James Almer --- tests/fate/mov.mak | 21 ++++++++++--------- .../fate/mov-avif-demux-still-image-1-item | 8 ++----- .../mov-avif-demux-still-image-multiple-items | 8 ++----- .../fate/mov-heic-demux-still-image-1-item | 8 ++----- .../mov-heic-demux-still-image-multiple-items | 12 ++++------- 5 files changed, 21 insertions(+), 36 deletions(-) diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak index 91b71d68b1..f9cc9e14b1 100644 --- a/tests/fate/mov.mak +++ b/tests/fate/mov.mak @@ -143,23 +143,24 @@ fate-mov-mp4-ttml-stpp: CMD = transcode srt $(TARGET_SAMPLES)/sub/SubRip_capabil fate-mov-mp4-ttml-dfxp: CMD = transcode srt $(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt mp4 "-map 0:s -c:s ttml -time_base:s 1:1000 -tag:s dfxp -strict unofficial" "-map 0 -c copy" "-of json -show_entries packet:stream=index,codec_type,codec_tag_string,codec_tag,codec_name,time_base,start_time,duration_ts,duration,nb_frames,nb_read_packets:stream_tags" # avif demuxing - still image with 1 item. -FATE_MOV_FFMPEG_SAMPLES-$(call FRAMEMD5, MOV, AV1, AV1_PARSER) \ +FATE_MOV_FFMPEG_SAMPLES-$(call FRAMECRC, MOV, AV1, AV1_PARSER) \ += fate-mov-avif-demux-still-image-1-item -fate-mov-avif-demux-still-image-1-item: CMD = framemd5 -c:v av1 -i $(TARGET_SAMPLES)/avif/still_image.avif -c:v copy +fate-mov-avif-demux-still-image-1-item: CMD = framecrc -c:v av1 -i $(TARGET_SAMPLES)/avif/still_image.avif -c:v copy -# avif demuxing - still image with multiple items. only the primary item will be -# parsed. -FATE_MOV_FFMPEG_SAMPLES-$(call FRAMEMD5, MOV, AV1, AV1_PARSER) \ +# avif demuxing - still image with multiple items. +FATE_MOV_FFMPEG_SAMPLES-$(call FRAMECRC, MOV, AV1, AV1_PARSER) \ += fate-mov-avif-demux-still-image-multiple-items -fate-mov-avif-demux-still-image-multiple-items: CMD = framemd5 -c:v av1 -i $(TARGET_SAMPLES)/avif/still_image_exif.avif -c:v copy +fate-mov-avif-demux-still-image-multiple-items: CMD = framecrc -c:v av1 -i $(TARGET_SAMPLES)/avif/still_image_exif.avif -c:v copy -FATE_MOV_FFMPEG_SAMPLES-$(call FRAMEMD5, MOV, HEVC, HEVC_PARSER) \ +# heic demuxing - still image with 1 item. +FATE_MOV_FFMPEG_SAMPLES-$(call FRAMECRC, MOV, HEVC, HEVC_PARSER) \ += fate-mov-heic-demux-still-image-1-item -fate-mov-heic-demux-still-image-1-item: CMD = framemd5 -i $(TARGET_SAMPLES)/heif-conformance/C002.heic -c:v copy +fate-mov-heic-demux-still-image-1-item: CMD = framecrc -i $(TARGET_SAMPLES)/heif-conformance/C002.heic -c:v copy -FATE_MOV_FFMPEG_SAMPLES-$(call FRAMEMD5, MOV, HEVC, HEVC_PARSER) \ +# heic demuxing - still image with multiple items. +FATE_MOV_FFMPEG_SAMPLES-$(call FRAMECRC, MOV, HEVC, HEVC_PARSER) \ += fate-mov-heic-demux-still-image-multiple-items -fate-mov-heic-demux-still-image-multiple-items: CMD = framemd5 -i $(TARGET_SAMPLES)/heif-conformance/C003.heic -c:v copy -map 0 +fate-mov-heic-demux-still-image-multiple-items: CMD = framecrc -i $(TARGET_SAMPLES)/heif-conformance/C003.heic -c:v copy -map 0 # heic demuxing - still image with multiple items in a grid. FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call DEMMUX, MOV, FRAMECRC, HEVC_DECODER HEVC_PARSER) \ diff --git a/tests/ref/fate/mov-avif-demux-still-image-1-item b/tests/ref/fate/mov-avif-demux-still-image-1-item index 1ead593caa..0108877d10 100644 --- a/tests/ref/fate/mov-avif-demux-still-image-1-item +++ b/tests/ref/fate/mov-avif-demux-still-image-1-item @@ -1,11 +1,7 @@ -#format: frame checksums -#version: 2 -#hash: MD5 -#extradata 0, 4, b24b71499a8480fa4469bcbcba2140aa +#extradata 0: 4, 0x021c008d #tb 0: 1/1 #media_type 0: video #codec_id 0: av1 #dimensions 0: 352x288 #sar 0: 0/1 -#stream#, dts, pts, duration, size, hash -0, 0, 0, 1, 36265, 235b0c6e389c4084845981e08d60db04 +0, 0, 0, 1, 36265, 0x6c8c9941 diff --git a/tests/ref/fate/mov-avif-demux-still-image-multiple-items b/tests/ref/fate/mov-avif-demux-still-image-multiple-items index 1ead593caa..0108877d10 100644 --- a/tests/ref/fate/mov-avif-demux-still-image-multiple-items +++ b/tests/ref/fate/mov-avif-demux-still-image-multiple-items @@ -1,11 +1,7 @@ -#format: frame checksums -#version: 2 -#hash: MD5 -#extradata 0, 4, b24b71499a8480fa4469bcbcba2140aa +#extradata 0: 4, 0x021c008d #tb 0: 1/1 #media_type 0: video #codec_id 0: av1 #dimensions 0: 352x288 #sar 0: 0/1 -#stream#, dts, pts, duration, size, hash -0, 0, 0, 1, 36265, 235b0c6e389c4084845981e08d60db04 +0, 0, 0, 1, 36265, 0x6c8c9941 diff --git a/tests/ref/fate/mov-heic-demux-still-image-1-item b/tests/ref/fate/mov-heic-demux-still-image-1-item index c850c1ff9c..63ee5e492e 100644 --- a/tests/ref/fate/mov-heic-demux-still-image-1-item +++ b/tests/ref/fate/mov-heic-demux-still-image-1-item @@ -1,11 +1,7 @@ -#format: frame checksums -#version: 2 -#hash: MD5 -#extradata 0, 100, 5444bf01e03182c73ae957179d560f4d +#extradata 0: 100, 0xee3e15e9 #tb 0: 1/1 #media_type 0: video #codec_id 0: hevc #dimensions 0: 1280x720 #sar 0: 0/1 -#stream#, dts, pts, duration, size, hash -0, 0, 0, 1, 111554, 03ceabfab39afd2e2e796b9362111f32 +0, 0, 0, 1, 111554, 0xa0679859 diff --git a/tests/ref/fate/mov-heic-demux-still-image-multiple-items b/tests/ref/fate/mov-heic-demux-still-image-multiple-items index 753cef267a..3469e7ad75 100644 --- a/tests/ref/fate/mov-heic-demux-still-image-multiple-items +++ b/tests/ref/fate/mov-heic-demux-still-image-multiple-items @@ -1,8 +1,5 @@ -#format: frame checksums -#version: 2 -#hash: MD5 -#extradata 0, 100, 5444bf01e03182c73ae957179d560f4d -#extradata 1, 100, 5444bf01e03182c73ae957179d560f4d +#extradata 0: 100, 0xee3e15e9 +#extradata 1: 100, 0xee3e15e9 #tb 0: 1/1 #media_type 0: video #codec_id 0: hevc @@ -13,6 +10,5 @@ #codec_id 1: hevc #dimensions 1: 1280x720 #sar 1: 0/1 -#stream#, dts, pts, duration, size, hash -0, 0, 0, 1, 111554, 03ceabfab39afd2e2e796b9362111f32 -1, 0, 0, 1, 112393, daa001d351c088a5bc328459e2501c95 +0, 0, 0, 1, 111554, 0xa0679859 +1, 0, 0, 1, 112393, 0xdf2b9da0 From patchwork Tue Mar 5 00:00:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 46800 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp83141pzc; Mon, 4 Mar 2024 16:02:12 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXXzaFJLBI130Q+D2arSjFHm1UO1u00ciFKU8Ou2TvnINeJbxk22lyzAE3/eLyDAyvtB32KnE5Nqj3ooKWtSduWqezSSCKQ7zacoQ== X-Google-Smtp-Source: AGHT+IGdQpSEIn2WEIGD0RBc1z970Zkx+hDvqh7xyXl1RcaTtHU2fHLsq6hNGamDCBqPtEcPRZGN X-Received: by 2002:a17:906:6d14:b0:a45:279f:3256 with SMTP id m20-20020a1709066d1400b00a45279f3256mr3633124ejr.20.1709596932354; Mon, 04 Mar 2024 16:02:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709596932; cv=none; d=google.com; s=arc-20160816; b=l7uTW6e0G6tf0qWPC5rar7Rh5PjRukISxVPkmFFWqth8qqzIuCF0b6qIo59AFMyaTH f9RFpG/CVSg7hoXdwgOtRqv7nRIoghMWILwkx6EOXQaV6ak604srAuj/PL4JHVZJLrop mfg3Qz9s0lkIRbPNHXVHv+hZXtCRkkkkYUHDTZ2+oBNj+5cjgwnwDmcs2qS5xYweEEPX kzpO/A6NWjdAOrn3TkBJWp6AmoAb1fy+gT3kqDRGZGDzxrSFKDSZhm2EEyzMHEKT1lFa HpxUJ2K0CocrDiQRqvvlIomN4EjHaOnNURBNucAbfOcAbf3dM4Muxv1hoTaMK6ng5tQl 8BrA== 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:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=4cBZSXdeDeStv8Ew6VaS59JY5UyeyoFgXSN7zYwla4w=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=Xr83o42q55qjKsTE/Co6U2qoKNa3fMtumibkhRh6glywymaeoDrd9Mu2/fKEfkdc0F q3F2swptei5go6Q0rE47u4n/XMTg2S9azIfRgwv2vAlmqhHtZ/wDLLVE4+K8cGyuuxlW VgKSry+uUyFFWwj75D4qnHgc9hSVk58YJjRmSsaKt2vk7O7CFpqIaA0OCgwLV2QmCvE5 cSbZyBw6lBCuJT4VO69BMQ7jrmJ3+mCFy83X+wdJ0wl9WgHKaOuQiFJX+asf4supMnAl oY9QfdfqPRpe3RMd0Xj+RaCvY5iTJdPmwisrencEyPSk/W3658TiqgZFEUxOsg7Q12FA hCQw==; 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=XIJDrism; 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 sa9-20020a1709076d0900b00a440be663f2si4477163ejc.903.2024.03.04.16.02.11; Mon, 04 Mar 2024 16:02:12 -0800 (PST) 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=XIJDrism; 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 E12B368D4F3; Tue, 5 Mar 2024 02:00:59 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C876068D4D4 for ; Tue, 5 Mar 2024 02:00:57 +0200 (EET) Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-29b31254820so1632451a91.0 for ; Mon, 04 Mar 2024 16:00:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709596855; x=1710201655; 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=9dFtf+T35SW+FSW4ofpqACg3dfVqj0qcAuzl1bFTOoc=; b=XIJDrismNhKC1GYJGpaj0a0yLOSP+no6kMswxzOphQIXViLGG2+KUCR822TEpRvAkw EbtawwBJ9/fQcgURVIhJwgoH126aPlNili5ZmVaWzmt98EROFbPZFHo2KbtvIxrQEKTA yjxaCCkbiAT0PIMEpew9Wmtdaag2sz4koqqK4sQ6O36fmcifl11+Iwj93aum7xCUQTSK U6JxRSv+Q8yORI8GfuiOev9xxYEDhAfTp3FC8ChGCPDEJl9hhESEe+CXP0NwvgsbgduW Fh1TQwP0gMuzSTpZB4ujnQ+ENJh1en9GO/F4UpymYzbjckt+zrNcrwU/aYcco4KLkXRh yOfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709596855; x=1710201655; 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=9dFtf+T35SW+FSW4ofpqACg3dfVqj0qcAuzl1bFTOoc=; b=cXCyFwvdEtxB2ji1NZ5NTA/fktZnpLXJsMUjNGlmIeZ2q6j6RO6wIxRtAA+jq2cs3M VYm4HwH7tTw2ByKdWegi0Cx7sEafXjwcoyJdVVaKHZGJ+ujCFqzt01+gGfBH2PoSnYVw ehnHMgkJ7i331UR25ahk6myr6isEpsoB8hVruaZJ57VSwM+rTowD3YEtAR2o/jdzEpAq I1Ml6fGvTRLlA9nDpwpv+OGTzrDujavznNkXrfH8NqtboOmH6GTwPccIQM9+Uys048Ea M1GibZaG59wXBGQz7v63Wwp6vNdmeCwA+UZs/KjhrvIbHbnC+MnDDOJudu9lx6bSisYl sKng== X-Gm-Message-State: AOJu0YxLF2Ot1T7EQ3OD3vIBpGxKi/UrzOcpI5g8ZZXXNGteJKLBosy9 2+WjxlklqhEve7Ac68QRnv1+al3Qej+kC8uwSCvprZH/ExKl+AcROSoZoQwR X-Received: by 2002:a17:90a:d514:b0:299:dd2:47f with SMTP id t20-20020a17090ad51400b002990dd2047fmr7304418pju.10.1709596854907; Mon, 04 Mar 2024 16:00:54 -0800 (PST) Received: from localhost.localdomain ([190.194.169.124]) by smtp.gmail.com with ESMTPSA id gb2-20020a17090b060200b0029acce2420asm8288663pjb.10.2024.03.04.16.00.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 16:00:54 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Mar 2024 21:00:29 -0300 Message-ID: <20240305000033.10379-9-jamrial@gmail.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240305000033.10379-1-jamrial@gmail.com> References: <20240305000033.10379-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 9/9] fate/mov: add a heic test with a derived image using a single item twice 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: IhrxS4pcDILx Signed-off-by: James Almer --- tests/fate/mov.mak | 6 ++ .../fate/mov-heic-demux-still-image-iovl-2 | 73 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 tests/ref/fate/mov-heic-demux-still-image-iovl-2 diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak index f9cc9e14b1..f56301426f 100644 --- a/tests/fate/mov.mak +++ b/tests/fate/mov.mak @@ -174,6 +174,12 @@ FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call DEMMUX, MOV, FRAMECRC, HEVC_DECODER HEVC_ fate-mov-heic-demux-still-image-iovl: CMD = stream_demux mov $(TARGET_SAMPLES)/heif-conformance/C015.heic "" "-c:v copy -map 0:g:0" \ "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition" +# heic demuxing - still image where one image item is laid twice on an overlay canvas. +FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call DEMMUX, MOV, FRAMECRC, HEVC_DECODER HEVC_PARSER) \ + += fate-mov-heic-demux-still-image-iovl-2 +fate-mov-heic-demux-still-image-iovl-2: CMD = stream_demux mov $(TARGET_SAMPLES)/heif-conformance/C021.heic "" "-c:v copy -map 0:g:0" \ + "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition" + # Resulting remux should have: # 1. first audio stream with AV_DISPOSITION_HEARING_IMPAIRED # 2. second audio stream with AV_DISPOSITION_VISUAL_IMPAIRED | DESCRIPTIONS diff --git a/tests/ref/fate/mov-heic-demux-still-image-iovl-2 b/tests/ref/fate/mov-heic-demux-still-image-iovl-2 new file mode 100644 index 0000000000..d7aff60bf1 --- /dev/null +++ b/tests/ref/fate/mov-heic-demux-still-image-iovl-2 @@ -0,0 +1,73 @@ +#extradata 0: 100, 0xee3e15e9 +#tb 0: 1/1 +#media_type 0: video +#codec_id 0: hevc +#dimensions 0: 1280x720 +#sar 0: 0/1 +0, 0, 0, 1, 111554, 0xa0679859 +[STREAM_GROUP] +index=0 +id=0x3eb +nb_streams=1 +type=Tile Grid +[COMPONENT] +nb_tiles=2 +coded_width=640 +coded_height=360 +horizontal_offset=0 +vertical_offset=0 +width=640 +height=360 +[PIECE] +stream_index=0 +tile_horizontal_offset=0 +tile_vertical_offset=0 +[/PIECE] +[PIECE] +stream_index=0 +tile_horizontal_offset=64896 +tile_vertical_offset=65176 +[/PIECE] +[/COMPONENT] +DISPOSITION:default=0 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +TAG:title=Derived image +[STREAM] +index=0 +id=0x3ea +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +DISPOSITION:non_diegetic=0 +DISPOSITION:captions=0 +DISPOSITION:descriptions=0 +DISPOSITION:metadata=0 +DISPOSITION:dependent=0 +DISPOSITION:still_image=0 +[/STREAM] +[/STREAM_GROUP]