1

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.

O.T.Vinta
  • 217
  • 1
  • 4

1 Answers1

0

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

Miller Cy Chan
  • 897
  • 9
  • 19