Closed Yeongjin-Jeong closed 5 years ago
Hi @Yeongjin-Jeong, I am trying to reproduce what you saw. Could you share the command line you use with SvtHevcEncApp? codeVpsSpsPps is always 1 in SvtHevcEncApp(EbAppContext.c).
Hi @Yeongjin-Jeong, I am trying to reproduce what you saw. Could you share the command line you use with SvtHevcEncApp? codeVpsSpsPps is always 1 in SvtHevcEncApp(EbAppContext.c).
Hi @tianjunwork, Thanks to ping. To reproducing this issue, you need to add code to call the EbH265EncStreamHeader API between the line that encodes the packet and the line that initializes the encoder.
--- a/Source/App/EbAppContext.c
+++ b/Source/App/EbAppContext.c
@@ -628,6 +628,13 @@ EB_ERRORTYPE InitEncoder(
///************************* LIBRARY INIT [END] *********************///
///********************** APPLICATION INIT [START] ******************///
+ {
+ EB_BUFFERHEADERTYPE *headerPtr = NULL;
+ return_error = EbH265EncStreamHeader (callbackData->svtEncoderHandle, &headerPtr);
+ if (return_error != EB_ErrorNone) {
+ return return_error;
+ }
+ }
// STEP 6: Allocate input buffers carrying the yuv frames in
return_error = AllocateInputBuffers(
And here is my command line:
SvtHevcEncApp -i test.yuv -w 640 -h 480 -fps 30 -rc 1 -tbr 2000000 -scd 1 -intra-period 29 -bit-depth 8 -compressed-ten-bit-format 0 -b test.hevc
Thanks @Yeongjin-Jeong fixing this issue👍
I used the gstreamer svthevcenc plugin with the latest SVT-HEVC, and found that the encoded packets are not output from the encoder.
After initializing the encoder with codeVpsSpsPps enabled, It seems to be caused by using the EbH265EncStreamHeader API before receiving encoded packets. And the same happens with the ffmpeg plugin or SvtHevcEncApp, if codeVpsSpsPps is enabled.
This occurs after patch https://github.com/OpenVisualCloud/SVT-HEVC/pull/155 is merged. Has the usage of EbH265EncStreamHeader API or codeVpsSpsPps flag changed? Or is there something wrong in my build environment?
Here is the lscpu output: