mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 02:01:12 +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 =
|
||||
#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS
|
||||
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 ; "
|
||||
#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, "
|
||||
"width=(int) [ 1, MAX ], " "height=(int) [ 1, MAX ], "
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
GST_DEBUG_CATEGORY (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
|
||||
gst_omx_video_get_format_from_omx (OMX_COLOR_FORMATTYPE omx_colorformat)
|
||||
{
|
||||
|
|
|
@ -35,9 +35,12 @@
|
|||
G_BEGIN_DECLS
|
||||
|
||||
/* 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 }"
|
||||
|
||||
#define GST_OMX_VIDEO_ENC_SUPPORTED_FORMATS "{ NV16_10LE32, NV12_10LE32, " \
|
||||
"NV16, NV12, I420, GRAY8 }"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GstVideoFormat format;
|
||||
|
|
|
@ -191,10 +191,10 @@ gst_omx_video_dec_class_init (GstOMXVideoDecClass * klass)
|
|||
#endif
|
||||
#ifdef USE_OMX_TARGET_ZYNQ_USCALE_PLUS
|
||||
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 ; "
|
||||
#endif
|
||||
GST_VIDEO_CAPS_MAKE (GST_OMX_VIDEO_SUPPORTED_FORMATS);
|
||||
GST_VIDEO_CAPS_MAKE (GST_OMX_VIDEO_DEC_SUPPORTED_FORMATS);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -545,7 +545,7 @@ gst_omx_video_enc_class_init (GstOMXVideoEncClass * klass)
|
|||
|
||||
klass->cdata.type = GST_OMX_COMPONENT_TYPE_FILTER;
|
||||
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 =
|
||||
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_10LE32:
|
||||
case GST_VIDEO_FORMAT_GRAY8:
|
||||
//case GST_VIDEO_FORMAT_ABGR:
|
||||
//case GST_VIDEO_FORMAT_ARGB:
|
||||
cur = g_list_next (cur);
|
||||
continue;
|
||||
default:
|
||||
|
|
Loading…
Reference in a new issue