OpenVisualCloud / SVT-HEVC

SVT HEVC encoder. Scalable Video Technology (SVT) is a software-based video coding technology that is highly optimized for Intel® Xeon® processors. Using the open source SVT-HEVC encoder, it is possible to spread video encoding processing across multiple Intel® Xeon® processors to achieve a real advantage of processing efficiency.
Other
516 stars 172 forks source link

Worked around the random encoding hang issue due to incorrect number #512

Closed Austin-Hu closed 4 years ago

Austin-Hu commented 4 years ago

of FIFO objects.

Signed-off-by: Austin Hu austin.hu@intel.com

As the 3rd (work around) option, to fix #497 , #514 .

Austin-Hu commented 4 years ago

With the PR applied, encoding performance could be increased. But memory consumption would be increased as its side effect, due to the increased number of Output FIFO objects, which take memory calculated by: EB_OUTPUTSTREAMBUFFERSIZE_MACRO * number_of_output_fifo, where EB_OUTPUTSTREAMBUFFERSIZE_MACRO depends on input resolution.

Some typical encoding performance and memory consumption comparison: Command Data Type Without PR #512 With PR #512
./SvtHevcEncApp -i bbb_1920x1080_420p.yuv -w 1920 -h 1080 -n 5000 -b 0.265 Encoding Performance (FPS) 160 327
Memory (GB) 2 2.4
./SvtHevcEncApp -i bbb_1920x1080_420p.yuv -w 1920 -h 1080 -encMode 0 -intra-period 100 -scd 0 -rc 0 -q 22 -n 1000 -b 0.265 Encoding Performance (FPS) 3.73 6.9
Memory (GB) 2.2 2.5
./SvtHevcEncApp -i 7680x3840_P444.yuv -w 7680 -h 3840 -color-format 3 -b 0.265 -n 500 Encoding Performance (FPS) 16.56 18.25
Memory (GB) 26.5 26.9
tianjunwork commented 4 years ago

Hi @Austin-Hu , I will re-enable out_alloc and increase stream output fifo to fix the hang issue. will close this one. Thank you for doing the profiling.