[Bug 726669] gst_omx_video_find_nearest_frame and buffers with only H264 SPS/PPS

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jun 26 04:41:44 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=726669
  GStreamer | gst-omx | 1.2.4

Sebastian Dröge (slomo) <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #279305|none                        |needs-work
             status|                            |

--- Comment #7 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2014-06-26 11:41:39 UTC ---
Review of attachment 279305:
 --> (https://bugzilla.gnome.org/review?bug=726669&attachment=279305)

Ah now it makes sense. Want to improve based on the comments below or should I
finish that?

::: omx/gstomxh264enc.c
@@ +85,3 @@
   videoenc_class->set_format = GST_DEBUG_FUNCPTR
(gst_omx_h264_enc_set_format);
   videoenc_class->get_caps = GST_DEBUG_FUNCPTR (gst_omx_h264_enc_get_caps);
+  videoenc_class->reset = GST_DEBUG_FUNCPTR (gst_omx_h264_enc_reset);

You can just override GstVideoEncoder::reset here and then chain up to the
parent class' reset. no need for a new vfunc :)

@@ +554,3 @@
         GST_READ_UINT32_BE (buf->omx_buf->pBuffer +
             buf->omx_buf->nOffset) == 0x00000001) {
+#ifdef USE_OMX_TARGET_RPI

I think this should be done for all platforms... but:

We should parse the buffer and check if it is including a complete frame or
not. If it does not include a complete frame we should accumulate all buffers
for the headers, if it includes a complete frame we should just handle it like
a frame.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list