mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-09-03 10:43:55 +00:00
decoder: hevc: Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
This fix is based on the V3 vesion of spec which was missing in older versions. When the current picture has PicOutputFlag equal to 1, for each picture in the DPB that is marked as "needed for output" and follows the current picture in output order, the associated variable PicLatencyCount is set equal to PicLatencyCount + 1 (C.5.2.3). https://bugzilla.gnome.org/show_bug.cgi?id=754010
This commit is contained in:
parent
ac92e6d5bc
commit
8799a8044d
1 changed files with 8 additions and 6 deletions
|
@ -816,12 +816,14 @@ dpb_add (GstVaapiDecoderH265 * decoder, GstVaapiPictureH265 * picture)
|
|||
guint i = 0;
|
||||
|
||||
/* C.5.2.3 */
|
||||
while (i < priv->dpb_count) {
|
||||
GstVaapiFrameStore *const fs = priv->dpb[i];
|
||||
tmp_pic = fs->buffer;
|
||||
if (tmp_pic->output_needed)
|
||||
tmp_pic->pic_latency_cnt += 1;
|
||||
i++;
|
||||
if (picture->output_flag) {
|
||||
while (i < priv->dpb_count) {
|
||||
GstVaapiFrameStore *const fs = priv->dpb[i];
|
||||
tmp_pic = fs->buffer;
|
||||
if (tmp_pic->output_needed)
|
||||
tmp_pic->pic_latency_cnt += 1;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
if (picture->output_flag) {
|
||||
|
|
Loading…
Reference in a new issue