[FFmpeg-devel] [PATCH] lavfi/transpose: support more pix fmts

Paul B Mahol onemda at gmail.com
Tue Feb 12 15:10:14 CET 2013


Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
 libavfilter/vf_transpose.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c
index c381ecc..7ce7002 100644
--- a/libavfilter/vf_transpose.c
+++ b/libavfilter/vf_transpose.c
@@ -90,12 +90,17 @@ static int query_formats(AVFilterContext *ctx)
         AV_PIX_FMT_ARGB,         AV_PIX_FMT_RGBA,
         AV_PIX_FMT_ABGR,         AV_PIX_FMT_BGRA,
         AV_PIX_FMT_RGB24,        AV_PIX_FMT_BGR24,
+        AV_PIX_FMT_RGB48,        AV_PIX_FMT_BGR48,
         AV_PIX_FMT_RGB565BE,     AV_PIX_FMT_RGB565LE,
         AV_PIX_FMT_RGB555BE,     AV_PIX_FMT_RGB555LE,
         AV_PIX_FMT_BGR565BE,     AV_PIX_FMT_BGR565LE,
         AV_PIX_FMT_BGR555BE,     AV_PIX_FMT_BGR555LE,
         AV_PIX_FMT_GRAY16BE,     AV_PIX_FMT_GRAY16LE,
         AV_PIX_FMT_YUV420P16LE,  AV_PIX_FMT_YUV420P16BE,
+        AV_PIX_FMT_YUV444P9LE,   AV_PIX_FMT_YUV444P9BE,
+        AV_PIX_FMT_YUV444P10LE,  AV_PIX_FMT_YUV444P10BE,
+        AV_PIX_FMT_YUV444P12LE,  AV_PIX_FMT_YUV444P12BE,
+        AV_PIX_FMT_YUV444P14LE,  AV_PIX_FMT_YUV444P14BE,
         AV_PIX_FMT_YUV444P16LE,  AV_PIX_FMT_YUV444P16BE,
         AV_PIX_FMT_NV12,         AV_PIX_FMT_NV21,
         AV_PIX_FMT_RGB8,         AV_PIX_FMT_BGR8,
@@ -104,6 +109,11 @@ static int query_formats(AVFilterContext *ctx)
         AV_PIX_FMT_YUV420P,      AV_PIX_FMT_YUVJ420P,
         AV_PIX_FMT_YUV410P,
         AV_PIX_FMT_YUVA420P,     AV_PIX_FMT_GRAY8,
+        AV_PIX_FMT_GBRP,
+        AV_PIX_FMT_GBRP9LE,      AV_PIX_FMT_GBRP9BE,
+        AV_PIX_FMT_GBRP10LE,     AV_PIX_FMT_GBRP10BE,
+        AV_PIX_FMT_GBRP12LE,     AV_PIX_FMT_GBRP12BE,
+        AV_PIX_FMT_GBRP14LE,     AV_PIX_FMT_GBRP14BE,
         AV_PIX_FMT_NONE
     };
 
@@ -236,6 +246,10 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *in)
                 for (x = 0; x < outw; x++)
                     *((uint32_t *)(dst + 4*x)) = *((uint32_t *)(src + x*srclinesize + y*4));
                 break;
+            case 6:
+                for (x = 0; x < outw; x++)
+                    *((uint64_t *)(dst + 6*x)) = *((uint64_t *)(src + x*srclinesize + y*6));
+                break;
             }
             dst += dstlinesize;
         }
-- 
1.7.11.4



More information about the ffmpeg-devel mailing list