intel / libvpl

Intel® Video Processing Library (Intel® VPL) API, dispatcher, and examples
https://intel.github.io/libvpl/
MIT License
262 stars 80 forks source link

SMT fails to exit if encode is disabled and prolong is set #129

Closed jluiI closed 3 months ago

jluiI commented 3 months ago

Issue

SMT will continuously decode and encode black frames once all videos finish playing.

Problematic par file is attached as pro4streams_not_able_to_exit.par

Issue is not seen if -o::h265 outpuPR.out is added as part of the command

Solution

Root cause: Sample_multi_transcode doesn't stop because bAllBlackFrame is only set in the case when video encoding option is specified. When we render without doing encoding, surfaces with black frames were continuously created by Decode(), thus the encoding never ends.

How Tested

1) Ran pro4streams_not_able_to_exit.par (rename the txt file as par) pro4streams_not_able_exit.txt This file will perform rendering only.

2) Ran pro4streams_not_able_exit_NoRender.par pro4streams_not_able_exit_NoRender.txt This file will only encode the output as outpuPR.out

3) Tested single stream. The behaviour before and after are the same 4) Tested when prolong = 0. The behaviour before and after are the same