From 19ee5f6dc419f74bf92a1c474ccfb94246414782 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Tue, 13 Jun 2023 03:05:48 +0900 Subject: [PATCH] nvdecoder: Reduce DPB size Decoder will copy decoded picture to downstream buffer or output CUDA memory even in case of zero-copy mode. Additional margin should be unnecessary unless baseclass passed wrong max DPB size. Part-of: --- subprojects/gst-plugins-bad/sys/nvcodec/gstnvdecoder.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/subprojects/gst-plugins-bad/sys/nvcodec/gstnvdecoder.cpp b/subprojects/gst-plugins-bad/sys/nvcodec/gstnvdecoder.cpp index 56806c4a14..e1aa44f4ab 100644 --- a/subprojects/gst-plugins-bad/sys/nvcodec/gstnvdecoder.cpp +++ b/subprojects/gst-plugins-bad/sys/nvcodec/gstnvdecoder.cpp @@ -260,8 +260,9 @@ gst_nv_decoder_configure (GstNvDecoder * decoder, cudaVideoCodec codec, if (decoder->info.finfo) prev_format = GST_VIDEO_INFO_FORMAT (&decoder->info); - /* Additional 2 frame margin */ - pool_size += 2; + /* h264 may require additional 1 frame because of its bumping process */ + if (codec == cudaVideoCodec_H264) + pool_size += 1; /* Need pool size * 2 for decode-only (used for reference) frame * and output frame, AV1 film grain case for example */