hevcenc: add hevc encoding support
1. Support I/P/B frames 2. Let cu_size equal to 32, to support level 5.1 3. libva driver requred pic_width_in_luma_samples 16 aligned, not ctb aligned Signed-off-by: Zhong Li <zhong.li@intel.com>
- Loading branch information
- +6 −0 configure.ac
- +11 −0 encoder/Makefile.am
- +3 −0 encoder/vaapiencoder_base.cpp
- +3 −0 encoder/vaapiencoder_base.h
- +1,639 −0 encoder/vaapiencoder_hevc.cpp
- +175 −0 encoder/vaapiencoder_hevc.h
- +2 −1 interface/VideoCommonDefs.h
- +1 −0 interface/VideoEncoderDefs.h
- +10 −0 tests/encodeinput.cpp
- +5 −0 tests/encodeinput.h
- +2 −0 vaapi/vaapitypes.h
| @@ -51,6 +51,7 @@ VaapiEncoderBase::VaapiEncoderBase(): | ||
| m_videoParamCommon.frameRate.frameRateNum = 30; | ||
| m_videoParamCommon.frameRate.frameRateDenom = 1; | ||
| m_videoParamCommon.intraPeriod = 15; | ||
| m_videoParamCommon.ipPeriod = 1; | ||
| m_videoParamCommon.rcMode = RATE_CONTROL_CQP; | ||
| m_videoParamCommon.rcParams.initQP = 26; | ||
| m_videoParamCommon.rcParams.minQP = 1; | ||
| @@ -388,6 +389,8 @@ const ProfileMapItem g_profileMap[] = | ||
| {VAAPI_PROFILE_H264_MAIN, VAProfileH264Main}, | ||
| {VAAPI_PROFILE_H264_HIGH,VAProfileH264High}, | ||
| {VAAPI_PROFILE_JPEG_BASELINE,VAProfileJPEGBaseline}, | ||
| {VAAPI_PROFILE_HEVC_MAIN, VAProfileHEVCMain}, | ||
| {VAAPI_PROFILE_HEVC_MAIN10, VAProfileHEVCMain10}, | ||
This comment has been minimized.
This comment has been minimized.
lizhong1008
Author
Contributor
|
||
| }; | ||
|
|
||
| VaapiProfile VaapiEncoderBase::profile() const | ||
Which libva version out there does support this?