From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id B4D004C930
	for <ffmpegdev@gitmailbox.com>; Thu, 10 Apr 2025 03:31:03 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1FD4468BC2E;
	Thu, 10 Apr 2025 06:30:59 +0300 (EEST)
Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com
 [209.85.210.170])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 095C368B5B9
 for <ffmpeg-devel@ffmpeg.org>; Thu, 10 Apr 2025 06:30:53 +0300 (EEST)
Received: by mail-pf1-f170.google.com with SMTP id
 d2e1a72fcca58-7370a2d1981so226547b3a.2
 for <ffmpeg-devel@ffmpeg.org>; Wed, 09 Apr 2025 20:30:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744255851; x=1744860651; darn=ffmpeg.org;
 h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from
 :references:in-reply-to:message-id:from:to:cc:subject:date
 :message-id:reply-to;
 bh=U0McfRv6uMdkyNqmY95SxFnkdFWXpFNFGU6U5KNqrmU=;
 b=LwQyN+bGAis1soIIXa5BmQjwiTKLiud9J/7N3LUQEFan4Nky5756T7t+QpTKXa9+kX
 uJvsOcD3yn0MaDa/Y2r9xpCcdzLX/IAJjbKAyuuRxi2dLLp/aBxxIbKNVPb7sMVjGHJR
 phhem7sXl7SU5zl07GFqj4eL+5OmW1TWxF2EQjLcw/XHzfAUgQgtpd1oYvba40xHVJaj
 QArh/TVwLZxRpLKmP3Xj7L5PQg8FF+iK4hcQtCP7c6R3LwXELi+ixMCJ8edN+swNX5Ts
 o6SP3BiulmogA8ZZ8Ws6iYgaoxZUwBuPWwwQOgABmr63EhExTbmP6eNoDCyNvl0fNQGw
 FFdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744255851; x=1744860651;
 h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from
 :references:in-reply-to:message-id:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=U0McfRv6uMdkyNqmY95SxFnkdFWXpFNFGU6U5KNqrmU=;
 b=DRb0VEfnQdUHKNuj0Sa9crBmAq8StGi6hB9PuVGoziefF6otgen2Y1Rk87mIe7CmrI
 QQhhjBpsqaj2rbZMCugzQqB8nVkB3HqI+8wlfAMKD6Rifa5ZbxH6CNoAvxODns1fkKlv
 7RPdEaXE3piPRYiu5fDzyMU/WeaQSJb80v5F5mjtL4UlHky7N18aK3pza302HTOy88vI
 aQ8ujFM6EHl4viCZvwJSiC2oBbweEMF188ZctjTzM8eHpRhf92pqLQ6mPyeqI6bVmd9j
 nBpi4uIEOwG3g2D0YHu/W6YNd3qOYg0il2ai59ZaJSJQb4QvVnCMjEBD1R0OWiBpkWxK
 dM8A==
X-Gm-Message-State: AOJu0YxcI0F9Hi9IiCP1tNYmtjCf15rsfnV5XnLTtHwyPrVIPsIOwTO+
 +1q9Y2/KN9KKXL8yoQsRZxwJvyw9ZTYRVMTWuYWrmM3XE76V3bsMuWJDbg==
X-Gm-Gg: ASbGnctF10XDgR+vXugJvIPZTvizDFwk0C5UUikACl0RS0fDvSc6j5y1M5SGBh8QZCG
 KwJa40K6oFfrerzJRIoDEekLMTPKL39/cu8EbuQ/wktLnR6kkndOt3XLGZxta1UGqm1k0WvYDgx
 rJN6zIkmNkXOe8AtZFzWzmNPiO6obHuunESsGcPnWL1gi6rc9EHixbaSJl8ineQyWytEIVPYpBY
 DXGt1coxykSEkYL47TGf48RKA4oLOyOn8ugepCBD7yepD37/AA62VUC5C0y9TGgKkgokKkpLjy6
 eazkAh1cvZrPTjKFRnH+fL2Wg/i1YhjJDJZF86vb7dqs1GCQbTRf1SIyLXo=
X-Google-Smtp-Source: AGHT+IE7gcP6jFWFr+H+APVod9T+6nefwqiNbS6LU1YHGUGLf4ZnHwu7utVWm5PS9Q4932XgY6OaEw==
X-Received: by 2002:a05:6a00:3c8e:b0:736:5753:12fd with SMTP id
 d2e1a72fcca58-73bbee0fd16mr1964819b3a.4.1744255850826; 
 Wed, 09 Apr 2025 20:30:50 -0700 (PDT)
Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50])
 by smtp.gmail.com with ESMTPSA id
 41be03b00d2f7-b02a2d3a607sm2052678a12.55.2025.04.09.20.30.50
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 09 Apr 2025 20:30:50 -0700 (PDT)
Message-Id: <pull.52.v10.ffstaging.FFmpeg.1744255844.ffmpegagent@gmail.com>
In-Reply-To: <pull.52.v9.ffstaging.FFmpeg.1742701330.ffmpegagent@gmail.com>
References: <pull.52.v9.ffstaging.FFmpeg.1742701330.ffmpegagent@gmail.com>
From: ffmpegagent <ffmpegagent@gmail.com>
Date: Thu, 10 Apr 2025 03:30:40 +0000
Fcc: Sent
MIME-Version: 1.0
To: ffmpeg-devel@ffmpeg.org
Subject: [FFmpeg-devel] [PATCH v10 0/4] print_graphs: Complete Filtergraph
 Printing
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: softworkz <softworkz@hotmail.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/pull.52.v10.ffstaging.FFmpeg.1744255844.ffmpegagent@gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

Due to the additional work on graph visualization (see
https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2025-March/341296.html), I
have removed the two graph printing commits from this patchset rather than
adding to it, as to avoid wasting the effort already spent on reviewing.

So, now it's a graph printing patchset without graph printing :-)

All other commits are unchanged from the previous version. I'm also
resubmitting to give it a final run of the tests on various platforms.


V9
==

 * Fix outdir creation for out-of-tree builds
   (thanks, Michael)


V10
===

 * Nothing new, just fixed a merge conflict that I wanted to take a final
   round through Patchwork before applying.

softworkz (4):
  fftools/textformat: Extract and generalize textformat api from
    ffprobe.c
  fftools/ffprobe: Change to use textformat api
  fftools/ffprobe: Rename writer_print_section_* and WriterContext
  fftools/ffprobe: Rename AVTextFormatContext variables (w => tfc)

 fftools/Makefile                   |   15 +-
 fftools/ffprobe.c                  | 2302 +++++-----------------------
 fftools/textformat/avtextformat.c  |  672 ++++++++
 fftools/textformat/avtextformat.h  |  171 +++
 fftools/textformat/avtextwriters.h |   68 +
 fftools/textformat/tf_compact.c    |  282 ++++
 fftools/textformat/tf_default.c    |  145 ++
 fftools/textformat/tf_flat.c       |  174 +++
 fftools/textformat/tf_ini.c        |  160 ++
 fftools/textformat/tf_json.c       |  215 +++
 fftools/textformat/tf_xml.c        |  221 +++
 fftools/textformat/tw_avio.c       |  129 ++
 fftools/textformat/tw_buffer.c     |   92 ++
 fftools/textformat/tw_stdout.c     |   82 +
 14 files changed, 2779 insertions(+), 1949 deletions(-)
 create mode 100644 fftools/textformat/avtextformat.c
 create mode 100644 fftools/textformat/avtextformat.h
 create mode 100644 fftools/textformat/avtextwriters.h
 create mode 100644 fftools/textformat/tf_compact.c
 create mode 100644 fftools/textformat/tf_default.c
 create mode 100644 fftools/textformat/tf_flat.c
 create mode 100644 fftools/textformat/tf_ini.c
 create mode 100644 fftools/textformat/tf_json.c
 create mode 100644 fftools/textformat/tf_xml.c
 create mode 100644 fftools/textformat/tw_avio.c
 create mode 100644 fftools/textformat/tw_buffer.c
 create mode 100644 fftools/textformat/tw_stdout.c


base-commit: 00c50a29abdd0579c441f114bb8edebf1c82461e
Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-52%2Fsoftworkz%2Fsubmit_print_graphs5-v10
Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging-52/softworkz/submit_print_graphs5-v10
Pull-Request: https://github.com/ffstaging/FFmpeg/pull/52

Range-diff vs v9:

 1:  f379c77e88 ! 1:  16b2cf05e6 fftools/textformat: Extract and generalize textformat api from ffprobe.c
     @@ fftools/textformat/avtextformat.h (new)
      +#define SECTION_MAX_NB_CHILDREN 11
      +
      +
     -+struct AVTextFormatSection {
     ++typedef struct AVTextFormatSection {
      +    int id;             ///< unique id identifying a section
      +    const char *name;
      +
 2:  5ebe2a6c20 = 2:  0690336721 fftools/ffprobe: Change to use textformat api
 3:  41dab9d31a ! 3:  a9cfc15a79 fftools/ffprobe: Rename writer_print_section_* and WriterContext
     @@ fftools/ffprobe.c: static void print_private_data(WriterContext *w, void *priv_d
           }
       }
       
     +-static void print_pixel_format(WriterContext *w, enum AVPixelFormat pix_fmt)
     ++static void print_pixel_format(AVTextFormatContext *w, enum AVPixelFormat pix_fmt)
     + {
     +     const char *s = av_get_pix_fmt_name(pix_fmt);
     +     enum AVPixelFormat swapped_pix_fmt;
     +@@ fftools/ffprobe.c: static void print_pixel_format(WriterContext *w, enum AVPixelFormat pix_fmt)
     +     }
     + }
     + 
      -static void print_color_range(WriterContext *w, enum AVColorRange color_range)
      +static void print_color_range(AVTextFormatContext *w, enum AVColorRange color_range)
       {
 4:  ae472da3e3 ! 4:  cad667bb3f fftools/ffprobe: Rename AVTextFormatContext variables (w => tfc)
     @@ fftools/ffprobe.c: static void print_private_data(AVTextFormatContext *w, void *
           }
       }
       
     +-static void print_pixel_format(AVTextFormatContext *w, enum AVPixelFormat pix_fmt)
     ++static void print_pixel_format(AVTextFormatContext *tfc, enum AVPixelFormat pix_fmt)
     + {
     +     const char *s = av_get_pix_fmt_name(pix_fmt);
     +     enum AVPixelFormat swapped_pix_fmt;
     +@@ fftools/ffprobe.c: static void print_pixel_format(AVTextFormatContext *w, enum AVPixelFormat pix_fm
     +     }
     + }
     + 
      -static void print_color_range(AVTextFormatContext *w, enum AVColorRange color_range)
      +static void print_color_range(AVTextFormatContext *tfc, enum AVColorRange color_range)
       {
     @@ fftools/ffprobe.c: static void show_frame(AVTextFormatContext *w, AVFrame *frame
       
           s = av_get_media_type_string(stream->codecpar->codec_type);
           if (s) print_str    ("media_type", s);
     +@@ fftools/ffprobe.c: static void show_frame(AVTextFormatContext *w, AVFrame *frame, AVStream *stream,
     +         print_int("crop_bottom",            frame->crop_bottom);
     +         print_int("crop_left",              frame->crop_left);
     +         print_int("crop_right",             frame->crop_right);
     +-        print_pixel_format(w, frame->format);
     ++        print_pixel_format(tfc, frame->format);
     +         sar = av_guess_sample_aspect_ratio(fmt_ctx, stream, frame);
     +         if (sar.num) {
     +             print_q("sample_aspect_ratio", sar, ':');
      @@ fftools/ffprobe.c: static void show_frame(AVTextFormatContext *w, AVFrame *frame, AVStream *stream,
               print_int("lossless",               !!(frame->flags & AV_FRAME_FLAG_LOSSLESS));
               print_int("repeat_pict",            frame->repeat_pict);
     @@ fftools/ffprobe.c: static int show_stream(AVTextFormatContext *w, AVFormatContex
           print_int("index", stream->index);
       
      @@ fftools/ffprobe.c: static int show_stream(AVTextFormatContext *w, AVFormatContext *fmt_ctx, int str
     -         else   print_str_opt("pix_fmt", "unknown");
     +             print_str_opt("sample_aspect_ratio", "N/A");
     +             print_str_opt("display_aspect_ratio", "N/A");
     +         }
     +-        print_pixel_format(w, par->format);
     ++        print_pixel_format(tfc, par->format);
               print_int("level",   par->level);
       
      -        print_color_range(w, par->color_range);

-- 
ffmpeg-codebot
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".