123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- Add Interlaced-mode judgment for gstomxvideodec class
- Fix compiler warnings
- Signed-off-by: Leo Lu <leo.lu@starfivetech.com>
- diff -purN a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
- --- a/omx/gstomxvideodec.c 2022-11-03 17:02:54.601333539 +0800
- +++ b/omx/gstomxvideodec.c 2022-11-03 16:06:20.435534119 +0800
- @@ -740,7 +740,7 @@ gst_omx_try_importing_buffer (GstOMXVide
- #ifdef USE_OMX_TARGET_STARFIVE
- if ( !gst_is_dmabuf_memory (mem)) {
- GST_INFO_OBJECT (self,
- - " %d-th buffer doesn't contain dmabuf, go to out. port->port_def.nBufferSize: %lu",
- + " %d-th buffer doesn't contain dmabuf, go to out. port->port_def.nBufferSize: %u",
- i, port->port_def.nBufferSize);
- goto out;
- }
- @@ -2795,7 +2795,7 @@ gst_omx_video_dec_set_format (GstVideoDe
- gboolean needs_disable = FALSE;
- OMX_PARAM_PORTDEFINITIONTYPE port_def;
- OMX_U32 framerate_q16 = gst_omx_video_calculate_framerate_q16 (info);
- -
- + static gboolean interlaced_print_flag = FALSE;
- self = GST_OMX_VIDEO_DEC (decoder);
- klass = GST_OMX_VIDEO_DEC_GET_CLASS (decoder);
-
- @@ -2857,9 +2857,17 @@ gst_omx_video_dec_set_format (GstVideoDe
- /*We cannot use GST_VIDEO_INFO_FIELD_HEIGHT() as encoded content may use either
- * interlace-mode=interleaved or alternate. In both case we'll output alternate
- * so the OMX frame height needs to be halfed. */
- - if (GST_VIDEO_INFO_IS_INTERLACED (info))
- + if (GST_VIDEO_INFO_IS_INTERLACED (info)) {
- port_def.format.video.nFrameHeight =
- GST_ROUND_UP_2 (port_def.format.video.nFrameHeight / 2);
- + if (!interlaced_print_flag) {
- + g_print("Current stream mode is %s, but just support PROGRESSIVE type. \n",
- + gst_video_interlace_mode_to_string (info->interlace_mode));
- + GST_ERROR_OBJECT (self, "Just support PROGRESSIVE type ");
- + interlaced_print_flag = TRUE;
- + }
- + return FALSE;
- + }
- port_def.format.video.xFramerate = framerate_q16;
-
- if (klass->cdata.hacks & GST_OMX_HACK_PASS_COLOR_FORMAT_TO_DECODER) {
- diff -purN a/omx/gstomxvideoenc.c b/omx/gstomxvideoenc.c
- --- a/omx/gstomxvideoenc.c 2022-11-03 17:02:54.593333485 +0800
- +++ b/omx/gstomxvideoenc.c 2022-11-03 13:46:10.137177818 +0800
- @@ -2136,7 +2136,7 @@ gst_omx_try_importing_buffer (GstOMXVide
-
- if ( !gst_is_dmabuf_memory (mem)) {
- GST_INFO_OBJECT (self,
- - " %d-th buffer doesn't contain dmabuf, go to out. port->port_def.nBufferSize: %lu",
- + " %d-th buffer doesn't contain dmabuf, go to out. port->port_def.nBufferSize: %u",
- i, port->port_def.nBufferSize);
- goto out;
- }
- @@ -2187,7 +2187,7 @@ gst_omx_video_enc_use_buffers (GstOMXVid
- GList *frames = NULL;
- OMX_ERRORTYPE err = OMX_ErrorNone;
- gboolean is_mapped = FALSE ;
- - GST_DEBUG(" nBufferCountActual=%d, nBufferCountMin= %lu", n, port->port_def.nBufferCountMin);
- + GST_DEBUG(" nBufferCountActual=%d, nBufferCountMin= %u", n, port->port_def.nBufferCountMin);
-
- if ( pool != NULL ) {
- guint i;
|