gstreamer/gst-libs/gst/codecs
Víctor Manuel Jáquez Leal 9ff332e15d codecs: h264decoder: update max_dpb_frames only if VUI is present
There are some streams, with HRD, where the the calculated
max_dpb_frames is zero (max_dpb_mbs is less than size mb). In order to
get the dbp size it is required to rely on the VUI parameters if they
are present.

According to the spec Annex E.2.1

**max_dec_frame_buffering** specifies the required size of the HRD
decoded picture buffer (DPB) in units of frame buffers.  It is a
requirement of bitstream conformance that the coded video sequence
shall not require a decoded picture buffer with size of more than
Max(1, max_dec_frame_buffering) frame buffers to enable the output of
decoded pictures at the output times specified by dpb_output_delay of
the picture timing SEI messages. The value of max_dec_frame_buffering
shall be greater than or equal to max_num_ref_frames. An upper bound
for the value of max_dec_frame_buffering is specified by the level
limits in clauses A.3.1, A.3.2, G.10.2.1, and H.10.2.

When the max_dec_frame_buffering syntax element is not present, the
value of max_dec_frame_buffering shall be inferred as follows:

– If profile_idc is equal to 44, 86, 100, 110, 122, or 244 and
constraint_set3_flag is equal to 1, the value of
max_dec_frame_buffering shall be inferred to be equal to 0.

– Otherwise (profile_idc is not equal to 44, 86, 100, 110, 122, or 244
or constraint_set3_flag is equal to 0), the value of
max_dec_frame_buffering shall be inferred to be equal to MaxDpbFrames.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1381>
2020-06-27 14:05:25 +02:00
..
codecs-prelude.h Move CODEC base classes into it's own library 2020-03-05 03:06:16 +00:00
gsth264decoder.c codecs: h264decoder: update max_dpb_frames only if VUI is present 2020-06-27 14:05:25 +02:00
gsth264decoder.h codecs: h264decoder: ref pic lists as decode_slice parameters 2020-05-19 16:57:09 +00:00
gsth264picture.c codecs: h264decoder: Port from GList to GArray 2020-05-19 16:57:08 +00:00
gsth264picture.h codecs: h264decoder: Port from GList to GArray 2020-05-19 16:57:08 +00: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