mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
omxvideoenc: remove unsupported formats from caps template
Our encoder implementation actually supports a small subset of the formats supported by the decoder. Those are the formats for which we have a copy path in gst_omx_video_enc_fill_buffer() and which are not filtered out in filter_supported_formats().
This commit is contained in:
parent
8530407ebe
commit
d3c2a7c8d1
5 changed files with 10 additions and 9 deletions
|
@ -198,10 +198,10 @@ gst_omx_h265_enc_class_init (GstOMXH265EncClass * klass)
|
||||||
videoenc_class->cdata.default_sink_template_caps =
|
videoenc_class->cdata.default_sink_template_caps =
|
||||||
#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS
|
#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS
|
||||||
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_FORMAT_INTERLACED,
|
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_FORMAT_INTERLACED,
|
||||||
GST_OMX_VIDEO_SUPPORTED_FORMATS)
|
GST_OMX_VIDEO_ENC_SUPPORTED_FORMATS)
|
||||||
", interlace-mode = (string) alternate ; "
|
", interlace-mode = (string) alternate ; "
|
||||||
#endif
|
#endif
|
||||||
GST_VIDEO_CAPS_MAKE (GST_OMX_VIDEO_SUPPORTED_FORMATS);
|
GST_VIDEO_CAPS_MAKE (GST_OMX_VIDEO_ENC_SUPPORTED_FORMATS);
|
||||||
|
|
||||||
videoenc_class->cdata.default_src_template_caps = "video/x-h265, "
|
videoenc_class->cdata.default_src_template_caps = "video/x-h265, "
|
||||||
"width=(int) [ 1, MAX ], " "height=(int) [ 1, MAX ], "
|
"width=(int) [ 1, MAX ], " "height=(int) [ 1, MAX ], "
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
GST_DEBUG_CATEGORY (gst_omx_video_debug_category);
|
GST_DEBUG_CATEGORY (gst_omx_video_debug_category);
|
||||||
#define GST_CAT_DEFAULT gst_omx_video_debug_category
|
#define GST_CAT_DEFAULT gst_omx_video_debug_category
|
||||||
|
|
||||||
/* Keep synced with GST_OMX_VIDEO_SUPPORTED_FORMATS */
|
/* Keep synced with GST_OMX_VIDEO_DEC_SUPPORTED_FORMATS */
|
||||||
GstVideoFormat
|
GstVideoFormat
|
||||||
gst_omx_video_get_format_from_omx (OMX_COLOR_FORMATTYPE omx_colorformat)
|
gst_omx_video_get_format_from_omx (OMX_COLOR_FORMATTYPE omx_colorformat)
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,9 +35,12 @@
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
/* Keep synced with gst_omx_video_get_format_from_omx(). Sort by decreasing quality */
|
/* Keep synced with gst_omx_video_get_format_from_omx(). Sort by decreasing quality */
|
||||||
#define GST_OMX_VIDEO_SUPPORTED_FORMATS "{ NV16_10LE32, NV12_10LE32, " \
|
#define GST_OMX_VIDEO_DEC_SUPPORTED_FORMATS "{ NV16_10LE32, NV12_10LE32, " \
|
||||||
"NV16, YUY2, YVYU, UYVY, NV12, I420, RGB16, BGR16, ABGR, ARGB, GRAY8 }"
|
"NV16, YUY2, YVYU, UYVY, NV12, I420, RGB16, BGR16, ABGR, ARGB, GRAY8 }"
|
||||||
|
|
||||||
|
#define GST_OMX_VIDEO_ENC_SUPPORTED_FORMATS "{ NV16_10LE32, NV12_10LE32, " \
|
||||||
|
"NV16, NV12, I420, GRAY8 }"
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GstVideoFormat format;
|
GstVideoFormat format;
|
||||||
|
|
|
@ -191,10 +191,10 @@ gst_omx_video_dec_class_init (GstOMXVideoDecClass * klass)
|
||||||
#endif
|
#endif
|
||||||
#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS
|
#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS
|
||||||
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_FORMAT_INTERLACED,
|
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_FORMAT_INTERLACED,
|
||||||
GST_OMX_VIDEO_SUPPORTED_FORMATS)
|
GST_OMX_VIDEO_DEC_SUPPORTED_FORMATS)
|
||||||
", interlace-mode = (string) alternate ; "
|
", interlace-mode = (string) alternate ; "
|
||||||
#endif
|
#endif
|
||||||
GST_VIDEO_CAPS_MAKE (GST_OMX_VIDEO_SUPPORTED_FORMATS);
|
GST_VIDEO_CAPS_MAKE (GST_OMX_VIDEO_DEC_SUPPORTED_FORMATS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -545,7 +545,7 @@ gst_omx_video_enc_class_init (GstOMXVideoEncClass * klass)
|
||||||
|
|
||||||
klass->cdata.type = GST_OMX_COMPONENT_TYPE_FILTER;
|
klass->cdata.type = GST_OMX_COMPONENT_TYPE_FILTER;
|
||||||
klass->cdata.default_sink_template_caps =
|
klass->cdata.default_sink_template_caps =
|
||||||
GST_VIDEO_CAPS_MAKE (GST_OMX_VIDEO_SUPPORTED_FORMATS);
|
GST_VIDEO_CAPS_MAKE (GST_OMX_VIDEO_ENC_SUPPORTED_FORMATS);
|
||||||
|
|
||||||
klass->handle_output_frame =
|
klass->handle_output_frame =
|
||||||
GST_DEBUG_FUNCPTR (gst_omx_video_enc_handle_output_frame);
|
GST_DEBUG_FUNCPTR (gst_omx_video_enc_handle_output_frame);
|
||||||
|
@ -3540,8 +3540,6 @@ filter_supported_formats (GList * negotiation_map)
|
||||||
case GST_VIDEO_FORMAT_NV16:
|
case GST_VIDEO_FORMAT_NV16:
|
||||||
case GST_VIDEO_FORMAT_NV16_10LE32:
|
case GST_VIDEO_FORMAT_NV16_10LE32:
|
||||||
case GST_VIDEO_FORMAT_GRAY8:
|
case GST_VIDEO_FORMAT_GRAY8:
|
||||||
//case GST_VIDEO_FORMAT_ABGR:
|
|
||||||
//case GST_VIDEO_FORMAT_ARGB:
|
|
||||||
cur = g_list_next (cur);
|
cur = g_list_next (cur);
|
||||||
continue;
|
continue;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue