diff options
author | Wim Taymans <wtaymans@redhat.com> | 2015-02-06 13:39:04 +0100 |
---|---|---|
committer | Wim Taymans <wtaymans@redhat.com> | 2015-02-06 13:39:04 +0100 |
commit | 80ca1462cd5efb652bb4b864159f41f05aabd4a3 (patch) | |
tree | dfbbf3a286f4e345ff4cdc7bca3c4eac1722ef8e | |
parent | 72076e9521b698d6266883119288d6f8f8c02367 (diff) |
video-converter: add more scaler fastpaths
-rw-r--r-- | gst-libs/gst/video/video-converter.c | 248 | ||||
-rw-r--r-- | gst-libs/gst/video/video-scaler.c | 2 |
2 files changed, 112 insertions, 138 deletions
diff --git a/gst-libs/gst/video/video-converter.c b/gst-libs/gst/video/video-converter.c index 8d4b6a0d9..4951e1e09 100644 --- a/gst-libs/gst/video/video-converter.c +++ b/gst-libs/gst/video/video-converter.c @@ -3595,6 +3595,8 @@ setup_scale (GstVideoConverter * convert, GstFormat fformat) switch (GST_VIDEO_INFO_FORMAT (in_info)) { case GST_VIDEO_FORMAT_RGB15: case GST_VIDEO_FORMAT_RGB16: + case GST_VIDEO_FORMAT_BGR15: + case GST_VIDEO_FORMAT_BGR16: if (method != GST_VIDEO_RESAMPLER_METHOD_NEAREST) return FALSE; break; @@ -3690,229 +3692,199 @@ typedef struct static const VideoTransform transforms[] = { {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_YUY2, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_YUY2}, + FALSE, 0, 0, convert_I420_YUY2}, {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_UYVY, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_UYVY}, + FALSE, 0, 0, convert_I420_UYVY}, {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_AYUV, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_AYUV}, + FALSE, 0, 0, convert_I420_AYUV}, {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_Y42B, FALSE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_Y42B}, + FALSE, 0, 0, convert_I420_Y42B}, {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_Y444, FALSE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_Y444}, + FALSE, 0, 0, convert_I420_Y444}, {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_YUY2, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_YUY2}, + FALSE, 0, 0, convert_I420_YUY2}, {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_UYVY, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_UYVY}, + FALSE, 0, 0, convert_I420_UYVY}, {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_AYUV, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_AYUV}, + FALSE, 0, 0, convert_I420_AYUV}, {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_Y42B, FALSE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_Y42B}, + FALSE, 0, 0, convert_I420_Y42B}, {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_Y444, FALSE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_I420_Y444}, + FALSE, 0, 0, convert_I420_Y444}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_FORMAT_I420, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_YUY2_I420}, + FALSE, 0, 0, convert_YUY2_I420}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_FORMAT_YV12, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_YUY2_I420}, + FALSE, 0, 0, convert_YUY2_I420}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_FORMAT_UYVY, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_UYVY_YUY2}, /* alias */ + TRUE, 0, 0, convert_UYVY_YUY2}, /* alias */ {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_FORMAT_AYUV, TRUE, FALSE, TRUE, TRUE, - TRUE, 1, 0, - convert_YUY2_AYUV}, + TRUE, 1, 0, convert_YUY2_AYUV}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_FORMAT_Y42B, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_YUY2_Y42B}, + TRUE, 0, 0, convert_YUY2_Y42B}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_FORMAT_Y444, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_YUY2_Y444}, + TRUE, 0, 0, convert_YUY2_Y444}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_FORMAT_I420, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_UYVY_I420}, + FALSE, 0, 0, convert_UYVY_I420}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_FORMAT_YV12, TRUE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_UYVY_I420}, + FALSE, 0, 0, convert_UYVY_I420}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_FORMAT_YUY2, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_UYVY_YUY2}, + TRUE, 0, 0, convert_UYVY_YUY2}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_FORMAT_AYUV, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_UYVY_AYUV}, + TRUE, 0, 0, convert_UYVY_AYUV}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_FORMAT_Y42B, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_UYVY_Y42B}, + TRUE, 0, 0, convert_UYVY_Y42B}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_FORMAT_Y444, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_UYVY_Y444}, + TRUE, 0, 0, convert_UYVY_Y444}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_I420, FALSE, FALSE, TRUE, TRUE, - TRUE, 1, 1, - convert_AYUV_I420}, + TRUE, 1, 1, convert_AYUV_I420}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_YV12, FALSE, FALSE, TRUE, TRUE, - TRUE, 1, 1, - convert_AYUV_I420}, + TRUE, 1, 1, convert_AYUV_I420}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_YUY2, TRUE, FALSE, TRUE, TRUE, - TRUE, 1, 0, - convert_AYUV_YUY2}, + TRUE, 1, 0, convert_AYUV_YUY2}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_UYVY, TRUE, FALSE, TRUE, TRUE, - TRUE, 1, 0, - convert_AYUV_UYVY}, + TRUE, 1, 0, convert_AYUV_UYVY}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_Y42B, TRUE, FALSE, TRUE, TRUE, - TRUE, 1, 0, - convert_AYUV_Y42B}, + TRUE, 1, 0, convert_AYUV_Y42B}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_Y444, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_AYUV_Y444}, + TRUE, 0, 0, convert_AYUV_Y444}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_FORMAT_I420, FALSE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_Y42B_I420}, + FALSE, 0, 0, convert_Y42B_I420}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_FORMAT_YV12, FALSE, FALSE, TRUE, FALSE, - FALSE, 0, 0, - convert_Y42B_I420}, + FALSE, 0, 0, convert_Y42B_I420}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_FORMAT_YUY2, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_Y42B_YUY2}, + TRUE, 0, 0, convert_Y42B_YUY2}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_FORMAT_UYVY, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_Y42B_UYVY}, + TRUE, 0, 0, convert_Y42B_UYVY}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_FORMAT_AYUV, TRUE, FALSE, TRUE, TRUE, - TRUE, 1, 0, - convert_Y42B_AYUV}, + TRUE, 1, 0, convert_Y42B_AYUV}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_FORMAT_Y444, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_Y42B_Y444}, + TRUE, 0, 0, convert_Y42B_Y444}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_FORMAT_I420, FALSE, FALSE, TRUE, FALSE, - FALSE, 1, 0, - convert_Y444_I420}, + FALSE, 1, 0, convert_Y444_I420}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_FORMAT_YV12, FALSE, FALSE, TRUE, FALSE, - FALSE, 1, 0, - convert_Y444_I420}, + FALSE, 1, 0, convert_Y444_I420}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_FORMAT_YUY2, TRUE, FALSE, TRUE, TRUE, - TRUE, 1, 0, - convert_Y444_YUY2}, + TRUE, 1, 0, convert_Y444_YUY2}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_FORMAT_UYVY, TRUE, FALSE, TRUE, TRUE, - TRUE, 1, 0, - convert_Y444_UYVY}, + TRUE, 1, 0, convert_Y444_UYVY}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_FORMAT_AYUV, TRUE, FALSE, TRUE, TRUE, - TRUE, 0, 0, - convert_Y444_AYUV}, + TRUE, 0, 0, convert_Y444_AYUV}, {GST_VIDEO_FORMAT_Y444, GST_VIDEO_FORMAT_Y42B, TRUE, FALSE, TRUE, TRUE, - TRUE, 1, 0, - convert_Y444_Y42B}, + TRUE, 1, 0, convert_Y444_Y42B}, #if G_BYTE_ORDER == G_LITTLE_ENDIAN {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_ARGB, TRUE, TRUE, TRUE, TRUE, TRUE, - 0, 0, - convert_AYUV_ARGB}, + 0, 0, convert_AYUV_ARGB}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_BGRA, TRUE, TRUE, TRUE, TRUE, TRUE, - 0, 0, - convert_AYUV_BGRA}, + 0, 0, convert_AYUV_BGRA}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_xRGB, TRUE, TRUE, TRUE, TRUE, TRUE, - 0, 0, - convert_AYUV_ARGB}, /* alias */ + 0, 0, convert_AYUV_ARGB}, /* alias */ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_BGRx, TRUE, TRUE, TRUE, TRUE, TRUE, - 0, 0, - convert_AYUV_BGRA}, /* alias */ + 0, 0, convert_AYUV_BGRA}, /* alias */ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_ABGR, TRUE, TRUE, TRUE, TRUE, TRUE, - 0, 0, - convert_AYUV_ABGR}, + 0, 0, convert_AYUV_ABGR}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_RGBA, TRUE, TRUE, TRUE, TRUE, TRUE, - 0, 0, - convert_AYUV_RGBA}, + 0, 0, convert_AYUV_RGBA}, {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_xBGR, TRUE, TRUE, TRUE, TRUE, TRUE, - 0, 0, - convert_AYUV_ABGR}, /* alias */ + 0, 0, convert_AYUV_ABGR}, /* alias */ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_RGBx, TRUE, TRUE, TRUE, TRUE, TRUE, - 0, 0, - convert_AYUV_RGBA}, /* alias */ + 0, 0, convert_AYUV_RGBA}, /* alias */ {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_BGRA, FALSE, TRUE, TRUE, TRUE, - TRUE, 0, 0, - convert_I420_BGRA}, + TRUE, 0, 0, convert_I420_BGRA}, {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_BGRx, FALSE, TRUE, TRUE, TRUE, - TRUE, 0, 0, - convert_I420_BGRA}, + TRUE, 0, 0, convert_I420_BGRA}, {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_BGRA, FALSE, TRUE, TRUE, TRUE, - TRUE, 0, 0, - convert_I420_BGRA}, + TRUE, 0, 0, convert_I420_BGRA}, {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_BGRx, FALSE, TRUE, TRUE, TRUE, - TRUE, 0, 0, - convert_I420_BGRA}, + TRUE, 0, 0, convert_I420_BGRA}, #endif + /* scalers */ {GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_I420, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, {GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_YV12, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, {GST_VIDEO_FORMAT_Y41B, GST_VIDEO_FORMAT_Y41B, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, {GST_VIDEO_FORMAT_Y42B, GST_VIDEO_FORMAT_Y42B, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, {GST_VIDEO_FORMAT_A420, GST_VIDEO_FORMAT_A420, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, {GST_VIDEO_FORMAT_YUV9, GST_VIDEO_FORMAT_YUV9, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, {GST_VIDEO_FORMAT_YVU9, GST_VIDEO_FORMAT_YVU9, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, + {GST_VIDEO_FORMAT_GBR, GST_VIDEO_FORMAT_GBR, TRUE, FALSE, FALSE, TRUE, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, {GST_VIDEO_FORMAT_YUY2, GST_VIDEO_FORMAT_YUY2, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_YUY2}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_YUY2}, {GST_VIDEO_FORMAT_UYVY, GST_VIDEO_FORMAT_UYVY, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_UYVY}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_UYVY}, {GST_VIDEO_FORMAT_YVYU, GST_VIDEO_FORMAT_YVYU, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_YVYU}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_YVYU}, {GST_VIDEO_FORMAT_RGB15, GST_VIDEO_FORMAT_RGB15, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_NV12}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_NV12}, {GST_VIDEO_FORMAT_RGB16, GST_VIDEO_FORMAT_RGB16, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_NV12}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_NV12}, + {GST_VIDEO_FORMAT_BGR15, GST_VIDEO_FORMAT_BGR15, TRUE, FALSE, FALSE, TRUE, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_NV12}, + {GST_VIDEO_FORMAT_BGR16, GST_VIDEO_FORMAT_BGR16, TRUE, FALSE, FALSE, TRUE, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_NV12}, {GST_VIDEO_FORMAT_RGB, GST_VIDEO_FORMAT_RGB, TRUE, FALSE, FALSE, TRUE, TRUE, - 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_RGB}, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_RGB}, {GST_VIDEO_FORMAT_BGR, GST_VIDEO_FORMAT_BGR, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_BGR}, + {GST_VIDEO_FORMAT_v308, GST_VIDEO_FORMAT_v308, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_v308}, + + {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_FORMAT_AYUV, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_AYUV}, + + {GST_VIDEO_FORMAT_ARGB, GST_VIDEO_FORMAT_ARGB, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_ARGB}, + {GST_VIDEO_FORMAT_xRGB, GST_VIDEO_FORMAT_xRGB, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_xRGB}, + {GST_VIDEO_FORMAT_ABGR, GST_VIDEO_FORMAT_ABGR, TRUE, FALSE, FALSE, TRUE, TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_BGR}, - + convert_scale_planes, GST_VIDEO_FORMAT_ABGR}, + {GST_VIDEO_FORMAT_xBGR, GST_VIDEO_FORMAT_xBGR, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_xBGR}, + {GST_VIDEO_FORMAT_RGBA, GST_VIDEO_FORMAT_RGBA, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_RGBA}, + {GST_VIDEO_FORMAT_RGBx, GST_VIDEO_FORMAT_RGBx, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_RGBx}, + {GST_VIDEO_FORMAT_BGRA, GST_VIDEO_FORMAT_BGRA, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_BGRA}, + {GST_VIDEO_FORMAT_BGRx, GST_VIDEO_FORMAT_BGRx, TRUE, FALSE, FALSE, TRUE, TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_BGRx}, + + {GST_VIDEO_FORMAT_ARGB64, GST_VIDEO_FORMAT_ARGB64, TRUE, FALSE, FALSE, TRUE, + TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_ARGB64}, + {GST_VIDEO_FORMAT_AYUV64, GST_VIDEO_FORMAT_AYUV64, TRUE, FALSE, FALSE, TRUE, + TRUE, + 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_AYUV64}, + + {GST_VIDEO_FORMAT_Y444, GST_VIDEO_FORMAT_Y444, TRUE, FALSE, FALSE, TRUE, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, {GST_VIDEO_FORMAT_GRAY8, GST_VIDEO_FORMAT_GRAY8, TRUE, FALSE, FALSE, TRUE, - TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, + TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY8}, #if G_BYTE_ORDER == G_LITTLE_ENDIAN {GST_VIDEO_FORMAT_GRAY16_LE, GST_VIDEO_FORMAT_GRAY16_LE, TRUE, FALSE, FALSE, - TRUE, TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY16_LE}, + TRUE, TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY16_LE}, #else {GST_VIDEO_FORMAT_GRAY16_BE, GST_VIDEO_FORMAT_GRAY16_BE, TRUE, FALSE, FALSE, - TRUE, TRUE, 0, 0, - convert_scale_planes, GST_VIDEO_FORMAT_GRAY16_BE}, + TRUE, TRUE, 0, 0, convert_scale_planes, GST_VIDEO_FORMAT_GRAY16_BE}, #endif }; diff --git a/gst-libs/gst/video/video-scaler.c b/gst-libs/gst/video/video-scaler.c index a74be5555..5d3f685a7 100644 --- a/gst-libs/gst/video/video-scaler.c +++ b/gst-libs/gst/video/video-scaler.c @@ -1150,6 +1150,7 @@ gst_video_scaler_horizontal (GstVideoScaler * scale, GstVideoFormat format, break; case GST_VIDEO_FORMAT_RGB: case GST_VIDEO_FORMAT_BGR: + case GST_VIDEO_FORMAT_v308: switch (scale->resampler.max_taps) { case 1: func = video_scale_h_near_3u8; @@ -1276,6 +1277,7 @@ gst_video_scaler_vertical (GstVideoScaler * scale, GstVideoFormat format, break; case GST_VIDEO_FORMAT_RGB: case GST_VIDEO_FORMAT_BGR: + case GST_VIDEO_FORMAT_v308: bits = 8; n_elems = 3; break; |