[FFmpeg-cvslog] ffprobe: add pixel format chroma sub-sampling output

Tobias Rapp git at videolan.org
Tue Oct 7 23:28:24 CEST 2014


ffmpeg | branch: master | Tobias Rapp <t.rapp at noa-audio.com> | Mon Sep 15 17:16:03 2014 +0200| [1acc9189b4c2c6b3ab39724e0ff80ec95c6683b3] | committer: Michael Niedermayer

ffprobe: add pixel format chroma sub-sampling output

Adds output of chroma sub-sampling information to
ffprobe -show_pixel_formats option.

Note: This patch just prints the "raw" log2_charoma_w/h values instead
of the previously suggested mapping into a chroma sub-sampling pattern
string like "4:2:2".

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1acc9189b4c2c6b3ab39724e0ff80ec95c6683b3
---

 doc/ffprobe.xsd |    2 ++
 ffprobe.c       |    7 +++++++
 2 files changed, 9 insertions(+)

diff --git a/doc/ffprobe.xsd b/doc/ffprobe.xsd
index bf17186..84b3810 100644
--- a/doc/ffprobe.xsd
+++ b/doc/ffprobe.xsd
@@ -309,6 +309,8 @@
 
       <xsd:attribute name="name"                type="xsd:string" use="required"/>
       <xsd:attribute name="nb_components"       type="xsd:int"    use="required"/>
+      <xsd:attribute name="log2_chroma_w"       type="xsd:int"/>
+      <xsd:attribute name="log2_chroma_h"       type="xsd:int"/>
       <xsd:attribute name="bits_per_pixel"      type="xsd:int"/>
     </xsd:complexType>
 
diff --git a/ffprobe.c b/ffprobe.c
index b6df74b..f35b780 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -2586,6 +2586,13 @@ static void ffprobe_show_pixel_formats(WriterContext *w)
         writer_print_section_header(w, SECTION_ID_PIXEL_FORMAT);
         print_str("name", pixdesc->name);
         print_int("nb_components", pixdesc->nb_components);
+        if ((pixdesc->nb_components >= 3) && !(pixdesc->flags & AV_PIX_FMT_FLAG_RGB)) {
+            print_int    ("log2_chroma_w", pixdesc->log2_chroma_w);
+            print_int    ("log2_chroma_h", pixdesc->log2_chroma_h);
+        } else {
+            print_str_opt("log2_chroma_w", "N/A");
+            print_str_opt("log2_chroma_h", "N/A");
+        }
         n = av_get_bits_per_pixel(pixdesc);
         if (n) print_int    ("bits_per_pixel", n);
         else   print_str_opt("bits_per_pixel", "N/A");



More information about the ffmpeg-cvslog mailing list