gstreamer/gst-libs/gst/codecs
Nicolas Dufresne 6523c5bcb6 h264decoder: Add ability to lookup by system_frame_number
This is to avoid having to create a reference chain in decoders from
GstVideoCodecFrame to GstH264PIcture to implementation wrapper.

So this change introduces:

 - gst_h264_dpb_remove_outputed (dpb)
 - gst_h264_dpb_get_picture(dpb, system_frame_num)
 - gst_h264_decoder_get_picture (dec, system_frame_num)

In order to ensure that frames can be looked up during the draining
process, we now first remove all (including reference) frames that
have been outputed but are still in the DPB. Then for each remaining
buffers, we remove it from the DPB to reach reference 1 and output it.

Previously we could take all not outputed outside of the DPB which would
prevent lookup by the base class.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1449>
2020-07-21 17:18:42 +09:00
..
codecs-prelude.h Move CODEC base classes into it's own library 2020-03-05 03:06:16 +00:00
gsth264decoder.c h264decoder: Add ability to lookup by system_frame_number 2020-07-21 17:18:42 +09:00
gsth264decoder.h h264decoder: Add ability to lookup by system_frame_number 2020-07-21 17:18:42 +09:00
gsth264picture.c h264decoder: Add ability to lookup by system_frame_number 2020-07-21 17:18:42 +09:00
gsth264picture.h h264decoder: Add ability to lookup by system_frame_number 2020-07-21 17:18:42 +09:00
gsth265decoder.c codecs: set sys frame num before new_picture() 2020-04-23 19:54:17 +00:00
gsth265decoder.h codecs: Reorganize the order of vfunc 2020-04-22 23:20:44 +00:00
gsth265picture.c codecs: h265picture: Don't leak pic_list GArray 2020-06-11 23:42:47 +00:00
gsth265picture.h h264picture: Add system_frame_num 2020-03-05 03:06:16 +00:00
gstvp8decoder.c codecs: Add new baseclass for VP8 decoder 2020-04-22 23:20:44 +00:00
gstvp8decoder.h codecs: Add new baseclass for VP8 decoder 2020-04-22 23:20:44 +00:00
gstvp8picture.c codecs: Add new baseclass for VP8 decoder 2020-04-22 23:20:44 +00:00
gstvp8picture.h codecs: Add new baseclass for VP8 decoder 2020-04-22 23:20:44 +00:00
gstvp9decoder.c codecs: Add minimal state validation 2020-04-09 19:33:56 +00:00
gstvp9decoder.h vp9decoder: Fix small typo 2020-04-22 23:20:44 +00:00
gstvp9picture.c codecs: fix gir generation 2020-04-26 19:26:32 +02:00
gstvp9picture.h h264picture: Add system_frame_num 2020-03-05 03:06:16 +00:00
meson.build codecs: Add new baseclass for VP8 decoder 2020-04-22 23:20:44 +00:00