mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-17 21:06:17 +00:00
videofilter: Order color formats by their contained amount of information
This commit is contained in:
parent
1bc924d8ad
commit
314fbd80e8
3 changed files with 68 additions and 27 deletions
|
@ -74,28 +74,46 @@ static GstStaticPadTemplate gst_gamma_src_template =
|
|||
GST_STATIC_PAD_TEMPLATE ("src",
|
||||
GST_PAD_SRC,
|
||||
GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV
|
||||
("{ IYUV, I420, YV12, Y41B, Y42B, Y444, NV12, NV21, "
|
||||
" YUY2, UYVY, AYUV, YVYU}") ";"
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("AYUV") ";"
|
||||
GST_VIDEO_CAPS_ARGB ";" GST_VIDEO_CAPS_BGRA ";"
|
||||
GST_VIDEO_CAPS_ABGR ";" GST_VIDEO_CAPS_RGBA ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y444") ";"
|
||||
GST_VIDEO_CAPS_xRGB ";" GST_VIDEO_CAPS_RGBx ";"
|
||||
GST_VIDEO_CAPS_xBGR ";" GST_VIDEO_CAPS_BGRx ";"
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR)
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y42B") ";"
|
||||
GST_VIDEO_CAPS_YUV ("NV12") ";"
|
||||
GST_VIDEO_CAPS_YUV ("NV21") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YUY2") ";"
|
||||
GST_VIDEO_CAPS_YUV ("UYVY") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YVYU") ";"
|
||||
GST_VIDEO_CAPS_YUV ("I420") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YV12") ";"
|
||||
GST_VIDEO_CAPS_YUV ("IYUV") ";" GST_VIDEO_CAPS_YUV ("Y41B")
|
||||
)
|
||||
);
|
||||
|
||||
static GstStaticPadTemplate gst_gamma_sink_template =
|
||||
GST_STATIC_PAD_TEMPLATE ("sink",
|
||||
GST_PAD_SINK,
|
||||
GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV
|
||||
("{ IYUV, I420, YV12, Y41B, Y42B, Y444, NV12, NV21, "
|
||||
" YUY2, UYVY, AYUV, YVYU}") ";"
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("AYUV") ";"
|
||||
GST_VIDEO_CAPS_ARGB ";" GST_VIDEO_CAPS_BGRA ";"
|
||||
GST_VIDEO_CAPS_ABGR ";" GST_VIDEO_CAPS_RGBA ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y444") ";"
|
||||
GST_VIDEO_CAPS_xRGB ";" GST_VIDEO_CAPS_RGBx ";"
|
||||
GST_VIDEO_CAPS_xBGR ";" GST_VIDEO_CAPS_BGRx ";"
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR)
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y42B") ";"
|
||||
GST_VIDEO_CAPS_YUV ("NV12") ";"
|
||||
GST_VIDEO_CAPS_YUV ("NV21") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YUY2") ";"
|
||||
GST_VIDEO_CAPS_YUV ("UYVY") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YVYU") ";"
|
||||
GST_VIDEO_CAPS_YUV ("I420") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YV12") ";"
|
||||
GST_VIDEO_CAPS_YUV ("IYUV") ";" GST_VIDEO_CAPS_YUV ("Y41B")
|
||||
)
|
||||
);
|
||||
|
||||
static void gst_gamma_set_property (GObject * object, guint prop_id,
|
||||
|
|
|
@ -81,27 +81,44 @@ static GstStaticPadTemplate gst_video_balance_src_template =
|
|||
GST_STATIC_PAD_TEMPLATE ("src",
|
||||
GST_PAD_SRC,
|
||||
GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV
|
||||
("{ IYUV, I420, YV12, Y41B, Y42B, Y444, YUY2, UYVY, AYUV, YVYU}")
|
||||
";" GST_VIDEO_CAPS_ARGB ";" GST_VIDEO_CAPS_BGRA ";" GST_VIDEO_CAPS_ABGR
|
||||
";" GST_VIDEO_CAPS_RGBA ";" GST_VIDEO_CAPS_xRGB ";" GST_VIDEO_CAPS_RGBx
|
||||
";" GST_VIDEO_CAPS_xBGR ";" GST_VIDEO_CAPS_BGRx ";" GST_VIDEO_CAPS_RGB
|
||||
";" GST_VIDEO_CAPS_BGR)
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("AYUV") ";"
|
||||
GST_VIDEO_CAPS_ARGB ";" GST_VIDEO_CAPS_BGRA ";"
|
||||
GST_VIDEO_CAPS_ABGR ";" GST_VIDEO_CAPS_RGBA ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y444") ";"
|
||||
GST_VIDEO_CAPS_xRGB ";" GST_VIDEO_CAPS_RGBx ";"
|
||||
GST_VIDEO_CAPS_xBGR ";" GST_VIDEO_CAPS_BGRx ";"
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y42B") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YUY2") ";"
|
||||
GST_VIDEO_CAPS_YUV ("UYVY") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YVYU") ";"
|
||||
GST_VIDEO_CAPS_YUV ("I420") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YV12") ";"
|
||||
GST_VIDEO_CAPS_YUV ("IYUV") ";" GST_VIDEO_CAPS_YUV ("Y41B")
|
||||
)
|
||||
);
|
||||
|
||||
static GstStaticPadTemplate gst_video_balance_sink_template =
|
||||
GST_STATIC_PAD_TEMPLATE ("sink",
|
||||
GST_PAD_SINK,
|
||||
GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV
|
||||
("{ IYUV, I420, YV12, Y41B, Y42B, Y444, YUY2, UYVY, AYUV, YVYU}")
|
||||
";" GST_VIDEO_CAPS_ARGB ";" GST_VIDEO_CAPS_BGRA ";" GST_VIDEO_CAPS_ABGR
|
||||
";" GST_VIDEO_CAPS_RGBA ";" GST_VIDEO_CAPS_xRGB ";" GST_VIDEO_CAPS_RGBx
|
||||
";" GST_VIDEO_CAPS_xBGR ";" GST_VIDEO_CAPS_BGRx ";" GST_VIDEO_CAPS_RGB
|
||||
";" GST_VIDEO_CAPS_BGR)
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("AYUV") ";"
|
||||
GST_VIDEO_CAPS_ARGB ";" GST_VIDEO_CAPS_BGRA ";"
|
||||
GST_VIDEO_CAPS_ABGR ";" GST_VIDEO_CAPS_RGBA ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y444") ";"
|
||||
GST_VIDEO_CAPS_xRGB ";" GST_VIDEO_CAPS_RGBx ";"
|
||||
GST_VIDEO_CAPS_xBGR ";" GST_VIDEO_CAPS_BGRx ";"
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y42B") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YUY2") ";"
|
||||
GST_VIDEO_CAPS_YUV ("UYVY") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YVYU") ";"
|
||||
GST_VIDEO_CAPS_YUV ("I420") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YV12") ";"
|
||||
GST_VIDEO_CAPS_YUV ("IYUV") ";" GST_VIDEO_CAPS_YUV ("Y41B")
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
static void gst_video_balance_colorbalance_init (GstColorBalanceClass * iface);
|
||||
static void gst_video_balance_interface_init (GstImplementsInterfaceClass *
|
||||
klass);
|
||||
|
|
|
@ -67,26 +67,32 @@ static GstStaticPadTemplate gst_video_flip_src_template =
|
|||
GST_STATIC_PAD_TEMPLATE ("src",
|
||||
GST_PAD_SRC,
|
||||
GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV
|
||||
("{ IYUV, I420, YV12, Y444, AYUV }") ";"
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("AYUV") ";"
|
||||
GST_VIDEO_CAPS_ARGB ";" GST_VIDEO_CAPS_BGRA ";"
|
||||
GST_VIDEO_CAPS_ABGR ";" GST_VIDEO_CAPS_RGBA ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y444") ";"
|
||||
GST_VIDEO_CAPS_xRGB ";" GST_VIDEO_CAPS_RGBx ";"
|
||||
GST_VIDEO_CAPS_xBGR ";" GST_VIDEO_CAPS_BGRx ";"
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR)
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR ";"
|
||||
GST_VIDEO_CAPS_YUV ("I420") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YV12") ";" GST_VIDEO_CAPS_YUV ("IYUV")
|
||||
)
|
||||
);
|
||||
|
||||
static GstStaticPadTemplate gst_video_flip_sink_template =
|
||||
GST_STATIC_PAD_TEMPLATE ("sink",
|
||||
GST_PAD_SINK,
|
||||
GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV
|
||||
("{ IYUV, I420, YV12, Y444, AYUV }") ";"
|
||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("AYUV") ";"
|
||||
GST_VIDEO_CAPS_ARGB ";" GST_VIDEO_CAPS_BGRA ";"
|
||||
GST_VIDEO_CAPS_ABGR ";" GST_VIDEO_CAPS_RGBA ";"
|
||||
GST_VIDEO_CAPS_YUV ("Y444") ";"
|
||||
GST_VIDEO_CAPS_xRGB ";" GST_VIDEO_CAPS_RGBx ";"
|
||||
GST_VIDEO_CAPS_xBGR ";" GST_VIDEO_CAPS_BGRx ";"
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR)
|
||||
GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR ";"
|
||||
GST_VIDEO_CAPS_YUV ("I420") ";"
|
||||
GST_VIDEO_CAPS_YUV ("YV12") ";" GST_VIDEO_CAPS_YUV ("IYUV")
|
||||
)
|
||||
);
|
||||
|
||||
#define GST_TYPE_VIDEO_FLIP_METHOD (gst_video_flip_method_get_type())
|
||||
|
|
Loading…
Reference in a new issue