gstreamer/gst-libs/gst/vaapi
He Junyan 5997093ba1 libs: encoder: H264: Fix one assert in get_pending_reordered().
gst_vaapi_encoder_h264_get_pending_reordered() does not consider the
case for HIERARCHICAL_B mode. The pipeline:

gst-launch-1.0  videotestsrc num-buffers=48 ! vaapih264enc prediction-type=2 \
keyframe-period=32 ! fakesink

get a assert:

ERROR:../gst-libs/gst/vaapi/gstvaapiencoder_h264.c:1996:reflist1_init_hierarchical_b:
assertion failed: (count != 0)

The last few B frames are not fetched in correct order when HIERARCHICAL_B
is enabled.

We also fix a latent bug for normal mode. The g_queue_pop_tail() of B frames
make the last several frames encoded in reverse order. The NAL of last few
frames come in reverse order in the bit stream, though it can still output
the correct image.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/405>
2020-12-09 01:26:26 +08:00
..
egl_compat.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
egl_vtable.h libs: egl: surface: export EGLImage as DMABuf if GEM not supported 2020-08-14 12:43:20 +02:00
gstvaapiblend.c libs: blend: filter: handle finalize() if display isn't assigned 2020-02-21 15:11:31 +00:00
gstvaapiblend.h libs: blend: simplify generator API 2020-01-14 19:52:18 +01:00
gstvaapibufferproxy.c libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapibufferproxy.h libs: bufferproxy: remove GstMemory reference 2020-04-04 14:30:44 +02:00
gstvaapibufferproxy_priv.h libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapicodec_objects.c vaapi: bump the minimum vaapi version requirement to 0.39.0 2019-01-07 17:46:42 +00:00
gstvaapicodec_objects.h build: consolidate the VA sub API includes 2017-08-13 18:08:19 +02:00
gstvaapicodedbuffer.c libs: codedbuffer: port to GstMiniObject 2019-12-20 05:01:07 +00:00
gstvaapicodedbuffer.h libs: removed duplicated function declarations 2020-05-16 20:01:59 +02:00
gstvaapicodedbuffer_priv.h libs: codedbuf: delete a useless field. 2020-01-08 23:42:21 +08:00
gstvaapicodedbufferpool.c libs: context: port to a plain C structure 2019-12-20 05:01:07 +00:00
gstvaapicodedbufferpool.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapicodedbufferproxy.c Remove all FEI related 2020-01-15 07:30:15 +00:00
gstvaapicodedbufferproxy.h Remove all FEI related 2020-01-15 07:30:15 +00:00
gstvaapicodedbufferproxy_priv.h Remove all FEI related 2020-01-15 07:30:15 +00:00
gstvaapicompat.h vaapi: bump the minimum vaapi version requirement to 0.39.0 2019-01-07 17:46:42 +00:00
gstvaapicontext.c libs: display, context: handle broken jpeg decoder for i965 driver 2020-07-29 12:06:32 +02:00
gstvaapicontext.h libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapidebug.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidecoder.c libs: decoder: fix a crash issue when get_surface_formats. 2020-07-31 15:27:38 +08:00
gstvaapidecoder.h vaapidecode: build allowed srcpad caps from va context 2020-07-27 19:32:00 +02:00
gstvaapidecoder_dpb.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapidecoder_dpb.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
gstvaapidecoder_h264.c Revert "libs: decoder: h264, h265: in context at least 16 reference surfaces" 2020-08-22 12:57:54 +02:00
gstvaapidecoder_h264.h vaapidecoder: h264: remove baseline as constrained property 2020-05-21 13:10:57 +02:00
gstvaapidecoder_h265.c libs: decoder: H265: Fix a typo in scc reference setting. 2020-11-30 18:00:38 +08:00
gstvaapidecoder_h265.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidecoder_jpeg.c libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapidecoder_jpeg.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidecoder_mpeg2.c libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapidecoder_mpeg2.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidecoder_mpeg4.c libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapidecoder_mpeg4.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidecoder_objects.c libs: remove already include string.h 2018-09-25 18:22:35 +02:00
gstvaapidecoder_objects.h decoder: add initial infrastructure for marking corrupted output. 2015-07-20 15:25:46 +02:00
gstvaapidecoder_priv.h libs: decoder: remove destoy() and create() callbacks 2018-09-03 17:54:19 +02:00
gstvaapidecoder_unit.c libs: humongous code style fix 2016-02-03 20:03:47 +01:00
gstvaapidecoder_unit.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapidecoder_vc1.c libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapidecoder_vc1.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidecoder_vp8.c libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapidecoder_vp8.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidecoder_vp9.c libs: decoder: vp9: 0xff segment pred probs if no temporal update 2020-10-19 16:45:35 +02:00
gstvaapidecoder_vp9.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidisplay.c libs: display: always call close_display() 2020-07-31 11:14:43 +02:00
gstvaapidisplay.h libs: display: Add a helper function to get profiles by codec. 2020-07-30 17:46:24 +08:00
gstvaapidisplay_drm.c libs: display: drm: use g_strcmp0 to be null safe 2020-04-26 10:40:38 +00:00
gstvaapidisplay_drm.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidisplay_drm_priv.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_egl.c libs: display: replace gst_vaapi_display_new() with gst_vaapi_display_config() 2018-06-14 16:41:00 +02:00
gstvaapidisplay_egl.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidisplay_egl_priv.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_glx.c libs: display: replace gst_vaapi_display_new() with gst_vaapi_display_config() 2018-06-14 16:41:00 +02:00
gstvaapidisplay_glx.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidisplay_glx_priv.h libs: display: GstVaapiDisplay as GstObject descendant 2016-11-03 08:24:59 +01:00
gstvaapidisplay_priv.h libs: display: driver quirks mechanism 2020-01-24 12:21:59 +00:00
gstvaapidisplay_wayland.c libs: wayland: implement video overlay API 2020-07-31 14:02:33 +02:00
gstvaapidisplay_wayland.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidisplay_wayland_priv.h libs: wayland: implement video overlay API 2020-07-31 14:02:33 +02:00
gstvaapidisplay_x11.c libs: use array_unref() rather than array_free() 2020-05-16 20:29:34 +00:00
gstvaapidisplay_x11.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapidisplay_x11_priv.h libs: remove GstVaapiPixmap 2020-03-17 15:46:46 +00:00
gstvaapiencoder.c libs: encoder: H265: Enable Main 12 profile support. 2020-08-06 00:21:50 +08:00
gstvaapiencoder.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapiencoder_h264.c libs: encoder: H264: Fix one assert in get_pending_reordered(). 2020-12-09 01:26:26 +08:00
gstvaapiencoder_h264.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapiencoder_h265.c libs: encoder: H265: Add screen content coding extensions support. 2020-12-06 23:37:56 +08:00
gstvaapiencoder_h265.h libs: encoder: h265: modify set_max_profile to set_allowed_profiles. 2020-07-30 17:42:49 +08:00
gstvaapiencoder_jpeg.c Update plugin docs and add more plugins 2020-06-19 15:21:56 +01:00
gstvaapiencoder_jpeg.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapiencoder_mpeg2.c Update plugin docs and add more plugins 2020-06-19 15:21:56 +01:00
gstvaapiencoder_mpeg2.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapiencoder_mpeg2_priv.h legal: update copyright notice dates. 2014-01-22 19:02:35 +01:00
gstvaapiencoder_objects.c Remove all FEI related 2020-01-15 07:30:15 +00:00
gstvaapiencoder_objects.h Remove all FEI related 2020-01-15 07:30:15 +00:00
gstvaapiencoder_priv.h libs: encoder: Add a helper function to check the tile support. 2020-06-05 19:27:11 +08:00
gstvaapiencoder_vp8.c Update plugin docs and add more plugins 2020-06-19 15:21:56 +01:00
gstvaapiencoder_vp8.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapiencoder_vp9.c libs: encoder: vp9: no need to ensure_hw_profile. 2020-11-30 16:45:54 +00:00
gstvaapiencoder_vp9.h libs: encoder: vp9: Add allowed_profiles. 2020-11-30 16:45:54 +00:00
gstvaapifilter.c Update for gst_video_transfer_function_*() function renaming 2020-09-07 12:50:11 +03:00
gstvaapifilter.h libs: filter: gst_vaapi_filter_get_memory_types() 2020-08-14 12:31:37 +02:00
gstvaapiimage.c video-format: Add Y212_LE format. 2020-11-27 14:29:01 +00:00
gstvaapiimage.h libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapiimage_priv.h libs: image: port to GstMiniObject base class 2019-12-20 05:01:07 +00:00
gstvaapiimagepool.c libs: fix code style for errors 2016-11-03 12:51:44 +01:00
gstvaapiimagepool.h videopool: re-indent all GstVaapiVideoPool related source code. 2015-01-27 18:11:45 +01:00
gstvaapiminiobject.c gstvaapiminiobject.c: fix clang 10 warnings 2020-08-04 21:15:01 +03:00
gstvaapiminiobject.h libs: remove dependency on IN_LIBGSTVAAPI_CORE 2018-09-25 17:41:55 +02:00
gstvaapiparser_frame.c libs: use array_unref() rather than array_free() 2020-05-16 20:29:34 +00:00
gstvaapiparser_frame.h libs: parser_frame: change macros for inlined functions 2018-09-25 17:41:55 +02:00
gstvaapiprofile.c libs: decoder: H265: Add MAIN_422_12 profile supporting. 2020-11-27 14:29:01 +00:00
gstvaapiprofile.h libs: decoder: H265: Add MAIN_422_12 profile supporting. 2020-11-27 14:29:01 +00:00
gstvaapiprofilecaps.c vaapiencode: DMABuf only if PRIME is available 2020-01-17 11:31:57 +01:00
gstvaapiprofilecaps.h vaapiencode: DMABuf only if PRIME is available 2020-01-17 11:31:57 +01:00
gstvaapisubpicture.c libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapisubpicture.h libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapisurface.c libs: surface: return fail immediately if can not create subpicture 2020-05-27 15:08:11 +08:00
gstvaapisurface.h libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapisurface_drm.c libs,plugin: break surface-bufferproxy circular reference 2020-04-04 14:22:04 +02:00
gstvaapisurface_drm.h libs,plugin: break surface-bufferproxy circular reference 2020-04-04 14:22:04 +02:00
gstvaapisurface_egl.c libs: surface: egl: guard memory type 2020-08-18 08:11:27 +00:00
gstvaapisurface_egl.h libs: egl: surface: export EGLImage as DMABuf if GEM not supported 2020-08-14 12:43:20 +02:00
gstvaapisurface_priv.h libs: surface: port to GstMiniObject 2019-12-20 05:01:08 +00:00
gstvaapisurfacepool.c libs: surface: surfacepool: Add allocation flags in constructors. 2020-02-23 13:12:15 +01:00
gstvaapisurfacepool.h libs: surface: surfacepool: Add allocation flags in constructors. 2020-02-23 13:12:15 +01:00
gstvaapisurfaceproxy.c Remove all FEI related 2020-01-15 07:30:15 +00:00
gstvaapisurfaceproxy.h Remove all FEI related 2020-01-15 07:30:15 +00:00
gstvaapisurfaceproxy_priv.h libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapitexture.c libs: texture: remove unused headers include 2020-05-16 21:05:20 +02:00
gstvaapitexture.h libs: texture: Make texture a standard GstMiniObject. 2020-05-16 19:18:46 +02:00
gstvaapitexture_egl.c libs: egl: surface: export EGLImage as DMABuf if GEM not supported 2020-08-14 12:43:20 +02:00
gstvaapitexture_egl.h egl: add texture abstraction. 2015-02-24 15:20:03 +01:00
gstvaapitexture_glx.c libs: texture: Make texture a standard GstMiniObject. 2020-05-16 19:18:46 +02:00
gstvaapitexture_glx.h texture: move to core libgstvaapi base library. 2015-01-27 18:11:44 +01:00
gstvaapitexture_priv.h libs: texture: remove unused headers include 2020-05-16 21:05:20 +02:00
gstvaapitexturemap.c libs: texture: Make texture a standard GstMiniObject. 2020-05-16 19:18:46 +02:00
gstvaapitexturemap.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapitypes.h libs: encoder: h264: support ICQ/QVBR bitrate control mode 2019-08-05 11:01:19 +08:00
gstvaapiutils.c libs: decoder: H265: Add SCC_MAIN_444_10 profile support. 2020-06-05 09:51:19 +00:00
gstvaapiutils.h libs: utils: map GstVideoColorRange to VAAPI VPP 2020-02-08 10:07:58 +00:00
gstvaapiutils_core.c libs: util: Fix a memory leak in config_surface_attributes_get 2019-08-27 01:30:36 +08:00
gstvaapiutils_core.h libs: utils: remove unused function gst_vaapi_get_surface_formats() 2019-08-19 17:26:55 +00:00
gstvaapiutils_egl.c egl: Fix racyness in display thread creation 2019-09-18 05:36:52 +00:00
gstvaapiutils_egl.h egl: Fix racyness in display thread creation 2019-09-18 05:36:52 +00:00
gstvaapiutils_glx.c glx: Stop specifying GLX_DEPTH_SIZE 2019-02-17 09:26:55 +00:00
gstvaapiutils_glx.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapiutils_h26x.c libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit() 2017-03-20 19:02:04 +01:00
gstvaapiutils_h26x_priv.h libs: encoder: h264,h265: extend max periodic keyframe. 2018-02-19 22:34:53 +01:00
gstvaapiutils_h264.c libs: Move from g_debug to GST_DEBUG. 2018-10-09 16:58:43 +02:00
gstvaapiutils_h264.h libs: h264: Update level table to "Recommendation H.264 (04/17)". 2018-09-27 12:29:10 +02:00
gstvaapiutils_h264_priv.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapiutils_h265.c libs: encoder: H265: Add screen content coding extensions support. 2020-12-06 23:37:56 +08:00
gstvaapiutils_h265.h libs: encoder: h265: Add num-tile-cols/rows properties. 2020-06-05 19:27:36 +08:00
gstvaapiutils_h265_priv.h libs: dec: h265: Consider chroma_bit_depth to choose chrome type 2019-06-28 16:49:51 +02:00
gstvaapiutils_mpeg2.c libs: Move from g_debug to GST_DEBUG. 2018-10-09 16:58:43 +02:00
gstvaapiutils_mpeg2.h libs: utils: move gstvaapisurface.h to private headers 2017-08-13 18:08:19 +02:00
gstvaapiutils_mpeg2_priv.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapiutils_vpx.c libs: util: vpx: add get_chroma_format_idc for VP9 2020-11-30 16:45:54 +00:00
gstvaapiutils_vpx.h libs: util: vpx: add get_chroma_format_idc for VP9 2020-11-30 16:45:54 +00:00
gstvaapiutils_x11.c doc: fix some incorrect gtk-doc links 2019-05-29 01:41:37 +02:00
gstvaapiutils_x11.h libs: remove unused header 2017-08-13 18:08:19 +02:00
gstvaapivalue.c plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:42:46 +02:00
gstvaapivalue.h vaapipostproc: element warning if video direction is unsupported 2019-08-19 16:48:49 +00:00
gstvaapivideopool.c libs: delete all gstvaapiobject related files. 2020-05-27 15:08:28 +08:00
gstvaapivideopool.h videopool: re-indent all GstVaapiVideoPool related source code. 2015-01-27 18:11:45 +01:00
gstvaapivideopool_priv.h libs: videopool: remove unneeded code 2018-09-25 17:41:55 +02:00
gstvaapiwindow.c libs: window: implements gst_vaapi_window_set_render_rectangle 2020-07-31 14:02:33 +02:00
gstvaapiwindow.h libs: window: implements gst_vaapi_window_set_render_rectangle 2020-07-31 14:02:33 +02:00
gstvaapiwindow_drm.c libs: window: use its own debug category 2018-12-24 12:20:00 +00:00
gstvaapiwindow_drm.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapiwindow_egl.c libs: texture: Make texture a standard GstMiniObject. 2020-05-16 19:18:46 +02:00
gstvaapiwindow_egl.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapiwindow_glx.c doc: fix some incorrect gtk-doc links 2019-05-29 01:41:37 +02:00
gstvaapiwindow_glx.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapiwindow_priv.h libs: window: implements gst_vaapi_window_set_render_rectangle 2020-07-31 14:02:33 +02:00
gstvaapiwindow_wayland.c libs: window: wayland: destroy all wayland buffers during finalize 2020-07-31 14:02:34 +02:00
gstvaapiwindow_wayland.h libs: wayland: implement video overlay API 2020-07-31 14:02:33 +02:00
gstvaapiwindow_x11.c libs: remove GstVaapiPixmap 2020-03-17 15:46:46 +00:00
gstvaapiwindow_x11.h libs: extend g_autoptr support 2020-03-27 10:40:20 +00:00
gstvaapiwindow_x11_priv.h libs: remove GstVaapiPixmap 2020-03-17 15:46:46 +00:00
gstvaapiworkarounds.h legal: add per-file authorship information. 2013-11-22 06:39:15 +01:00
meson.build build: update for gl pkg-config file split 2020-08-07 17:30:21 +02:00
ogl_compat.h Add initial support for EGL. 2015-02-24 15:20:03 +01:00
sysdeps.h remove unused glibcompat.h 2016-06-23 12:47:52 +02:00
video-format.c libs: decoder: H265: Add MAIN_422_12 profile supporting. 2020-11-27 14:29:01 +00:00
video-format.h video-format: Add Y212_LE format. 2020-11-27 14:29:01 +00:00