Closed huliang4github closed 3 years ago
This library only works with i965 driver. It's not tested with iHD driver.
yes, hevc encoder work well with i965 driver, but failed with iHD driver! h264 encode work well with both driver!
the log says that it failed at vaapiencoder_hevc.cpp:1567
ASSERT(!m_seqParam->seq_fields.bits.separate_colour_plane_flag);
and I just comment this line, and it seem to work, both with i965 and iHD.
The same yuv file, h264 encoder is OK , hevc encoder failed
./yamiencode -i /tmp/_3840x2160.NV12 -W 3840 -H 2160 -s NV12 -o /tmp/out.264 libva info: VA-API version 1.6.0 libva info: va_getDriverName() returns 0 libva info: User requested driver 'iHD' libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_6 libva info: va_openDriver() returns 0 encode done
./yamiencode -i /tmp/_3840x2160.NV12 -W 3840 -H 2160 -s NV12 -o /tmp/out.265 libva info: VA-API version 1.6.0 libva info: va_getDriverName() returns 0 libva info: User requested driver 'iHD' libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_6 libva info: va_openDriver() returns 0 yamiencode: vaapiencoder_hevc.cpp:1567: bool YamiMediaCodec::VaapiEncoderHEVC::addPackedSliceHeader(const PicturePtr&, const VAEncSliceParameterBufferHEVC*, uint32_t) const: Assertion `0 && (!m_seqParam->seq_fields.bits.separate_colour_plane_flag)' failed. Aborted (core dumped)
the detail log in the attachment file hevc.log.txt