intel / libyami

Yet Another Media Infrastructure. it is core part of media codec with hardware acceleration, it is yummy to your video experience on Linux like platform.
Apache License 2.0
146 stars 106 forks source link

hevc encoder failed #886

Closed huliang4github closed 3 years ago

huliang4github commented 4 years ago

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

xuguangxin commented 4 years ago

This library only works with i965 driver. It's not tested with iHD driver.

huliang4github commented 3 years ago

yes, hevc encoder work well with i965 driver, but failed with iHD driver! h264 encode work well with both driver!

huliang4github commented 3 years ago

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.