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
517 stars 171 forks source link

The speed of encoding one 8Kp60/10-bit streams #496

Closed Holly0521 closed 4 years ago

Holly0521 commented 4 years ago

The average speed of encoding one 8Kp60/10-bit streams is 27.63. Need I to add some parameters or missing the operation process? Thanks a lot. The commond is : ./SvtHevcEncApp -encMode 11 -color-format 1 -w 7680 -h 4320 -bit-depth 10 -compressed-ten-bit-format 1 -i 8k-10bit.yuv -profile 2 -tier 1 -level 6.2 -rc 1 -tbr 120000000 -fps 60 -n 1800 -nb 30 -b out1.bin The cpu information is : Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 96 On-line CPU(s) list: 0-95 Thread(s) per core: 2 Core(s) per socket: 24 Socket(s): 2 NUMA node(s): 2 Vendor ID: GenuineIntel CPU family: 6 Model: 85 Model name: Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz Stepping: 4 CPU MHz: 2701.000 CPU max MHz: 2701.0000 CPU min MHz: 1200.0000 BogoMIPS: 5400.00 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 1024K L3 cache: 33792K NUMA node0 CPU(s): 0-23,48-71 NUMA node1 CPU(s): 24-47,72-95

intelmark commented 4 years ago

@Holly0521 Are you able to measure the CPU load when the encoder is running (e.g. htop) and verify all cores are being fully utilized or not?

Can you share the yuv file you are encoding?

tianjunwork commented 4 years ago

Hi @Holly0521 , I hope you are using the master, since there is a PR recently merged improves 10bit performance. https://github.com/OpenVisualCloud/SVT-HEVC/pull/460

Holly0521 commented 4 years ago

@Holly0521 Are you able to measure the CPU load when the encoder is running (e.g. htop) and verify all cores are being fully utilized or not?

Can you share the yuv file you are encoding?

Hi @intelmark ,The cpu utilization is 70%~80%. The file is very large and it's an normal 8k@10bit yuv file.

Holly0521 commented 4 years ago

Hi @Holly0521 , I hope you are using the master, since there is a PR recently merged improves 10bit performance. #460

Hi @tianjunwork , the fps is 33.12 using the master and it cannot meet the real time requirement.

intelmark commented 4 years ago

Hi @Holly0521 - Wondering if you able to try using without the -nb option in a real product deployment (-nb is used most for testing)? Also make sure AVX512 support is enabled for your system (comment the #define NON_AVX512_SUPPORT line in EbDefinitions.h and rebuild).

Is there an expectation of a target fps when encoding given the large frame size, bit depth, and Xeon server based on some other information you've seen?

Holly0521 commented 4 years ago

Hi @Holly0521 - Wondering if you able to try using without the -nb option in a real product deployment (-nb is used most for testing)? Also make sure AVX512 support is enabled for your system (comment the #define NON_AVX512_SUPPORT line in EbDefinitions.h and rebuild).

Is there an expectation of a target fps when encoding given the large frame size, bit depth, and Xeon server based on some other information you've seen?

Hi @intelmark ,I want to verify the actual execution speed of encoding one 8Kp60/10-bit streams. I have commented the #define NON_AVX512_SUPPORT line in EbDefinitions.h and rebuilt and the speed is the same as before. My server configuration is similar to Intel(R) Xeon(R) Platinum 8180, but the speed is much lower.

tianjunwork commented 4 years ago

Hi @Holly0521 , I wonder where did you see the Xeon 8180 performance data you are comparing with?

tianjunwork commented 4 years ago

Hi @Holly0521 , anything to discuss in this issue?

Holly0521 commented 4 years ago

Hi @tianjunwork ,there's nothing to discuss. Thx a lot.