]> git.sesse.net Git - ffmpeg/commitdiff
avfilter/vf_waveform: add gray10 and gray12 support
authorPaul B Mahol <onemda@gmail.com>
Tue, 29 Nov 2016 10:34:48 +0000 (11:34 +0100)
committerPaul B Mahol <onemda@gmail.com>
Tue, 29 Nov 2016 10:34:48 +0000 (11:34 +0100)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavfilter/vf_waveform.c

index 64abbf2226f46270be55443ef42f902cbc845c6f..70995eebeee3bedef1669928fb425828c41a5e31 100644 (file)
@@ -166,7 +166,7 @@ static const enum AVPixelFormat in_lowpass_pix_fmts[] = {
     AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P,
     AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P,
     AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P,
-    AV_PIX_FMT_GRAY8,
+    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12,
     AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9,
     AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA420P9,
     AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10,
@@ -252,6 +252,16 @@ static const enum AVPixelFormat out_gray8_lowpass_pix_fmts[] = {
     AV_PIX_FMT_NONE
 };
 
+static const enum AVPixelFormat out_gray10_lowpass_pix_fmts[] = {
+    AV_PIX_FMT_GRAY10,
+    AV_PIX_FMT_NONE
+};
+
+static const enum AVPixelFormat out_gray12_lowpass_pix_fmts[] = {
+    AV_PIX_FMT_GRAY12,
+    AV_PIX_FMT_NONE
+};
+
 static const enum AVPixelFormat flat_pix_fmts[] = {
     AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P,
     AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10,
@@ -301,6 +311,10 @@ static int query_formats(AVFilterContext *ctx)
 
     if (s->filter == LOWPASS && ncomp == 1 && depth == 8)
         out_pix_fmts = out_gray8_lowpass_pix_fmts;
+    else if (s->filter == LOWPASS && ncomp == 1 && depth == 10)
+        out_pix_fmts = out_gray10_lowpass_pix_fmts;
+    else if (s->filter == LOWPASS && ncomp == 1 && depth == 12)
+        out_pix_fmts = out_gray12_lowpass_pix_fmts;
     else if (rgb && depth == 8 && ncomp > 2)
         out_pix_fmts = out_rgb8_lowpass_pix_fmts;
     else if (rgb && depth == 9 && ncomp > 2)