gstreamer/sys/va
He Junyan 4c66a0265c va: mpeg2dec: Using the current picture's surface when missing reference.
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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1929>
2021-01-04 13:09:01 +00:00
..
gstvaallocator.c va: allocator: add a memory pool object helper 2020-11-24 13:00:00 +01:00
gstvaallocator.h va: pool, allocator: honor GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT 2020-11-24 12:44:24 +01:00
gstvabasedec.c va: basedec: Improve the decide_allocation(). 2020-11-17 01:21:54 +08:00
gstvabasedec.h va: Add mpeg2 VA decoder. 2020-12-28 13:14:06 +08:00
gstvacaps.c va: caps: added gst_caps_is_raw() 2020-10-09 16:34:57 +02:00
gstvacaps.h va: caps: added gst_caps_is_raw() 2020-10-09 16:34:57 +02:00
gstvadecoder.c va: Add mpeg2 VA decoder. 2020-12-28 13:14:06 +08:00
gstvadecoder.h va: decode: fix display type 2020-12-06 18:03:47 +01:00
gstvadevice.c va: device: use gst_clear_object() 2020-09-23 18:19:22 +02:00
gstvadevice.h va: VA-API H.264 decoder and infrastructure 2020-06-28 11:47:35 +02:00
gstvadisplay.c va: display: add gst_va_display_get_image_formats() 2020-08-03 15:54:45 +00:00
gstvadisplay.h va: display: add gst_va_display_get_image_formats() 2020-08-03 15:54:45 +00:00
gstvadisplay_drm.c
gstvadisplay_drm.h
gstvadisplay_wrapped.c va: display: wrapped: Fix property name 2020-08-03 19:33:01 +02:00
gstvadisplay_wrapped.h
gstvafilter.c va: filter: fix counter variable reuse 2020-10-04 16:05:03 +02:00
gstvafilter.h va: add vapostproc element 2020-09-23 18:19:22 +02:00
gstvah264dec.c va: Remove gst_va_decoder_destroy_buffers() 2020-11-30 16:53:25 +01:00
gstvah264dec.h va: h264dec: check va allocator at decide allocation 2020-08-24 19:35:57 +00:00
gstvah265dec.c va: Remove gst_va_decoder_destroy_buffers() 2020-11-30 16:53:25 +01:00
gstvah265dec.h va: Add HEVC decoding support 2020-11-04 17:53:23 +00:00
gstvampeg2dec.c va: mpeg2dec: Using the current picture's surface when missing reference. 2021-01-04 13:09:01 +00:00
gstvampeg2dec.h va: Add mpeg2 VA decoder. 2020-12-28 13:14:06 +08:00
gstvapool.c va: pool, allocator: honor GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT 2020-11-24 12:44:24 +01:00
gstvapool.h va: allocator: add _set_format() and _get_format() 2020-10-09 16:34:57 +02:00
gstvaprofile.c va: Add VP9 decoder 2020-10-19 13:15:06 +02:00
gstvaprofile.h
gstvautils.c va: utils: use GstObject for GstVaDisplay in context 2020-09-21 17:07:51 +00:00
gstvautils.h va: codestyle: Clear all tabs in header files 2020-09-25 17:07:10 +08:00
gstvavideoformat.c va: allocator: try to create surface without fourcc but chroma only 2020-09-23 18:19:22 +02:00
gstvavideoformat.h va: allocator: get a surface format from a image format 2020-08-03 15:54:45 +00:00
gstvavp8dec.c va: Remove gst_va_decoder_destroy_buffers() 2020-11-30 16:53:25 +01:00
gstvavp8dec.h va: Implement the VA vp8 decoder. 2020-09-25 17:07:30 +08:00
gstvavp9dec.c va: Remove gst_va_decoder_destroy_buffers() 2020-11-30 16:53:25 +01:00
gstvavp9dec.h va: Add VP9 decoder 2020-10-19 13:15:06 +02:00
gstvavpp.c va: allocator: add _set_format() and _get_format() 2020-10-09 16:34:57 +02:00
gstvavpp.h va: add vapostproc element 2020-09-23 18:19:22 +02:00
meson.build va: Add mpeg2 VA decoder. 2020-12-28 13:14:06 +08:00
plugin.c va: Add mpeg2 VA decoder. 2020-12-28 13:14:06 +08:00