The Scalable Video Technology for HEVC Encoder (SVT-HEVC Encoder) is an HEVC-compliant encoder library core that achieves excellent density-quality tradeoffs, and is highly optimized for Intel Xeon Scalable Processor and Xeon D processors. Intel open source SVT-HEVC encoder in: https://github.com/intel/SVT-HEVC.
This wrapper work with SVT-HEVC new_api branch, more information can get from https://github.com/intel/SVT-HEVC/blob/new_api/ffmpeg_plugin/. For SVT-HEVC build, you can switch the branch to new_api, then run: mkdir build && cd build && cmake ../ && make -j `nproc` && sudo make install in the directory. (Yes, SVT-HEVC now support the full CMake style's build/install after the commit https://github.com/intel/SVT-HEVC/commit/f28d492971ef58dc655ccdc7d819cc18ddb45a2f) This patches based on Zhengxu, huang/hassene's hard work. SVT-HEVC encoder have some interesting features compare with the exsting HEVC encoder. - Multidimensional parallelism a). Picture-based parallelism b). Segment-based parallelism (scales over many CPU cores) c). Will support tile-based parallelism soon - Human Visual System(HVS)-optimized classification for a). Data-efficient processsing b). Computationally efficient partitioning and mode decision c). Higher coding efficiency - Resource adaptive scalability a). Speed up factor vs HM 16 about 70 times (4K/60fps content, SVT-HEVC enable subjective quality mode with preset setting with M0(highest quality)) b). Outperformance the x265 encoder in CQP mode Some performance data: - Real-time encoding of up to 1x 8Kp60/10-bit streams on the Platinum 8180 with preset M11/subjective quality mode - Real-time encoding of up to 2x 8Kp50/10-bit streams on the Platinum 8180 with preset M12/subjective quality mode - Real-time encoding of up to 4x 4Kp60/10-bit streams on the Gold 6148 with preset M12/subjective quality mode - Real-time encoding of up to 6x 4Kp60/10-bit streams on the Platinum 8180 with preset M12/subjective quality mode More performance/quality data will be public as a white paper as soon after the internal review finished. V4: - Add more options support and update related docs (profile/aud/tile/...) - Rebase the docs in general.texi based on Gyan's review - Refine the encoder.texi part as Gyan's suggestion V3: - Merge Changelog patch to new wrapper(Tks Moritz/Carl's review) V2: - Refine the error handle (Tks Steven/James's review). - Add docs part (Tks Steven/Moritz's review). - Use named parameters in options. - Follow FFmpeg coding style and Changelog. V1: - Add libsvt hevc encoder wrapper and a Changelog entry. Jun Zhao (2): lavc/svt_hevc: add libsvt hevc encoder wrapper. doc: Add libsvt_hevc encoder docs Changelog | 1 + configure | 4 + doc/encoders.texi | 157 ++++++++++++++ doc/general.texi | 14 ++ libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/libsvt_hevc.c | 506 ++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 684 insertions(+), 0 deletions(-) create mode 100644 libavcodec/libsvt_hevc.c _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel