diff options
author | Seungha Yang <seungha@centricular.com> | 2021-03-29 02:11:22 +0900 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2021-04-07 19:32:29 +0000 |
commit | 6eb9856f5965a11b15f547ff8cd1da89196c950c (patch) | |
tree | 302719b5d9f28b9243e8acd95b43ab2a6be0ffd7 /gst-libs/gst | |
parent | 1f769839c09b38745f0b7c9aac127ea5432804f6 (diff) | |
download | gstreamer-plugins-bad-6eb9856f5965a11b15f547ff8cd1da89196c950c.tar.gz |
codecs: vp9decoder: Pass GstVideoCodecFrame to duplicate_picture()
... and fix picture duplication logic for vavp9dec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2112>
Diffstat (limited to 'gst-libs/gst')
-rw-r--r-- | gst-libs/gst/codecs/gstvp9decoder.c | 6 | ||||
-rw-r--r-- | gst-libs/gst/codecs/gstvp9decoder.h | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/gst-libs/gst/codecs/gstvp9decoder.c b/gst-libs/gst/codecs/gstvp9decoder.c index 3e02672c9..e5e3959f9 100644 --- a/gst-libs/gst/codecs/gstvp9decoder.c +++ b/gst-libs/gst/codecs/gstvp9decoder.c @@ -95,7 +95,7 @@ static GstFlowReturn gst_vp9_decoder_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame); static GstVp9Picture *gst_vp9_decoder_duplicate_picture_default (GstVp9Decoder * - decoder, GstVp9Picture * picture); + decoder, GstVideoCodecFrame * frame, GstVp9Picture * picture); static void gst_vp9_decoder_class_init (GstVp9DecoderClass * klass) @@ -247,7 +247,7 @@ gst_vp9_decoder_drain (GstVideoDecoder * decoder) static GstVp9Picture * gst_vp9_decoder_duplicate_picture_default (GstVp9Decoder * decoder, - GstVp9Picture * picture) + GstVideoCodecFrame * frame, GstVp9Picture * picture) { GstVp9Picture *new_picture; @@ -322,7 +322,7 @@ gst_vp9_decoder_handle_frame (GstVideoDecoder * decoder, g_assert (klass->duplicate_picture); pic_to_dup = priv->dpb->pic_list[frame_hdr.frame_to_show_map_idx]; - picture = klass->duplicate_picture (self, pic_to_dup); + picture = klass->duplicate_picture (self, frame, pic_to_dup); if (!picture) { GST_ERROR_OBJECT (self, "subclass didn't provide duplicated picture"); diff --git a/gst-libs/gst/codecs/gstvp9decoder.h b/gst-libs/gst/codecs/gstvp9decoder.h index f75085bf8..677ffbd11 100644 --- a/gst-libs/gst/codecs/gstvp9decoder.h +++ b/gst-libs/gst/codecs/gstvp9decoder.h @@ -100,6 +100,7 @@ struct _GstVp9DecoderClass GstVp9Picture * picture); GstVp9Picture * (*duplicate_picture) (GstVp9Decoder * decoder, + GstVideoCodecFrame * frame, GstVp9Picture * picture); gboolean (*start_picture) (GstVp9Decoder * decoder, |