ffprobe: add pixel format chroma sub-sampling output
authorTobias Rapp <t.rapp@noa-audio.com>
Mon, 15 Sep 2014 15:16:03 +0000 (17:16 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 7 Oct 2014 21:18:15 +0000 (23:18 +0200)
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@gmx.at>
doc/ffprobe.xsd
ffprobe.c

index bf17186..84b3810 100644 (file)
 
       <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>
 
index b6df74b..f35b780 100644 (file)
--- 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");