LIBHEIF和DAV1D解码器的AVIF图像解码问题
希望能得到熟悉 AVIF 图像格式和 DAV1D 编解码器的人的帮助。
我是一名 Windows/C/C++ 程序员,试图将 HEIF 和 AVIF 图像功能集成到我正在开发的应用程序中(目前只是解码)。所以我将 LIBHEIF 库与 libde265 和 dav1d 编解码器一起使用。
我构建并连接了一切都很好。 HEIF 图像有效,但 AVIF 无效。即使 LIBHEIF 中包含 example.avif,我也收到“未指定的错误”。
我一步一步调试了一切。该图像有 4 个 OBU:2 个 OBU_SEQ_HDR、1 个 OBU_FRAME_HDR 和 1 个 OBU_TILE_GRP。您觉得这听起来合适吗?解析器似乎没有找到任何它可以实际解码的信息,例如帧。函数output_picture_ready() 始终返回false。所以最后,解析器只返回错误 EAGAIN。
Hoping to get help from someone familiar with AVIF image format and the DAV1D codec.
I am a Windows/C/C++ programmer trying to integrate HEIF and AVIF image functionality into an application I am developing (just decoding for now). So I used the LIBHEIF library with the libde265 and dav1d codecs.
I built and linked everything fine. HEIF images work but AVIFs do not. I am getting the “unspecified error”, even with the example.avif included with LIBHEIF.
I debugged everything step by step. The image has 4 OBUs: two OBU_SEQ_HDR, one OBU_FRAME_HDR, and one OBU_TILE_GRP. Does this sound right to you? The parser does not seem to find any information that it can actually decode, like a frame. The function output_picture_ready() always returns false. So at the end, the parser just returns the error EAGAIN.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以参考 Build libdav1d using Microsoft Visual C++? 来构建本机 Windows dll。
libheif v1.12.0 =>; dav1d 版本 0.9.2
libheif大师=> dav1d 版本 1.0.0
要构建 x86_64 dll,请使用本机 x64 控制台 https://learn.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line?view=msvc -170
You may refer to Build libdav1d using Microsoft Visual C++? to build the native windows dll.
libheif v1.12.0 => dav1d version 0.9.2
libheif master => dav1d version 1.0.0
To build x86_64 dll, use native x64 console https://learn.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line?view=msvc-170