1. 13 Jan, 2021 1 commit
    • Seungha Yang's avatar
      d3d11: Move core methods to gst-libs · 0f7af4b1
      Seungha Yang authored
      Move d3d11 device, memory, buffer pool and minimal method
      to gst-libs so that other plugins can access d3d11 resource.
      Since Direct3D is primary graphics API on Windows, we need
      this infrastructure for various plugins can share GPU resource
      without downloading GPU memory.
      Note that this implementation is public only for -bad scope
      for now.
      Part-of: <gstreamer/gst-plugins-bad!464>
  2. 12 Jan, 2021 2 commits
    • Seungha Yang's avatar
      va: allocator: Fix deadlock caused by double lock · 98eebf33
      Seungha Yang authored
      Trivial bug fix for deadlock
      Part-of: <!1949>
    • Matthew Waters's avatar
      wpesrc: replace object lock usage with a new lock · 94fea694
      Matthew Waters authored
      Using the object lock is problematic for anything that can dispatch to
      another thread which is what createWPEView() does inside
      gst_wpe_src_start().  Using the object lock there can cause a deadlock.
      One example of such a deadlock is when createWPEView is called, but
      another (or the same) wpesrc is on the WPEContextThread and e.g. posts a
      bus message.  This message propagations takes and releases the object
      lock of numerous elements in quick succession for determining various
      information about the elements in the bin.  If the object lock is
      already held, then the message propagation will block and stall bin
      processing (state changes, other messages) and wpe servicing any events.
      Fixes gstreamer/gst-plugins-bad#1490
      Part-of: <gstreamer/gst-plugins-bad!1934>
  3. 10 Jan, 2021 3 commits
  4. 08 Jan, 2021 1 commit
  5. 07 Jan, 2021 3 commits
  6. 06 Jan, 2021 11 commits
  7. 05 Jan, 2021 3 commits
  8. 04 Jan, 2021 5 commits
    • He Junyan's avatar
      va: mpeg2dec: Using the current picture's surface when missing reference. · 4c66a026
      He Junyan authored
      When missing the reference frames, we should not just discard the current
      frame. Some streams have group of picture header. It is an optional header
      that can be used immediately before a coded I-frame to indicate to the decoder
      if the first consecutive B-pictures immediately following the coded I-frame can
      be reconstructed properly in the case of a random access.
      In that case, the B frames may miss the previous reference and can still be
      correctly decoded. We also notice that the second field of the I frame may
      be set to P type, and it only ref its first field.
      We should not skip all those frames, and even the frame really misses the
      reference frame, some manner such as inserting grey picture should be used
      to handle these cases.
      The driver crashes when it needs to access the reference picture while we set
      forward_reference_picture or backward_reference_picture to VA_INVALID_ID. We
      now set it to current picture to avoid this. This is just a temp manner.
      Part-of: <gstreamer/gst-plugins-bad!1929>
    • He Junyan's avatar
      codecs: mpeg2decoder: Creating the field based on its arriving time. · 41d2edc9
      He Junyan authored
      Spec says:
      In a frame picture top_field_first being set to ‘1’ indicates that the
      top field of the reconstructed frame is the first field output by the
      decoding process. top_field_first being set to ‘0’ indicates that the
      bottom field of the reconstructed frame is the first field output by
      decoding process.
      Here, the "output" should be interpreted just as the output order, not
      including the decoding order. The field should be decoded as the order
      they comes in the stream. Namely, no matter top_field_first is 0 or 1,
      the first coming field is the first one to be decoded.
      Part-of: <gstreamer/gst-plugins-bad!1929>
    • He Junyan's avatar
    • He Junyan's avatar
      codecs: Add buffer_flags for mpeg2 picture. · 459abad0
      He Junyan authored
      We need to store the buffer flags such as GST_VIDEO_BUFFER_FLAG_INTERLACED
      and GST_VIDEO_BUFFER_FLAG_TFF for interlaced video. Without these flags,
      the VPP and display elements can not apply filter correctly.
      Part-of: <!1929>
    • He Junyan's avatar
  9. 03 Jan, 2021 1 commit
  10. 31 Dec, 2020 1 commit
  11. 30 Dec, 2020 5 commits
  12. 29 Dec, 2020 2 commits
  13. 28 Dec, 2020 2 commits