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.
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