-
Notifications
You must be signed in to change notification settings - Fork 364
External Decoders
YUView is programmed in a way so one can easily extend the input sources. One example how this can be used is the de265File extension. This extension uses QLibrary to open the libde265 library into YUView. Using this library one can directly open h.265/HEVC encoded files in YUView. Just use file:Open. If the file extension is .hevc, YUView will try to use libde265 to open the file.
The only natively supported file format is the h.265/HEVC Annex B raw file format. In this raw file format, each NAL unit starts with a predefined start code (0x00 0x00 0x00 0x01) followed by the NAL unit header and the NAL unit payload data. There is no header of the file and no support for multiple streams / audio etc. This is the file format that the HEVC reference test model software (HM software) outputs. Also x265 can output this format and ffmpeg can extract HEVC streams into this format:
ffmpeg.exe -i input.mkv -c:v copy -bsf hevc_mp4toannexb -f rawvideo out.hevc
The bitstream filter (hevc_mp4toannexb) takes care of converting the NAL units to the correct Annex B file format.
This is a quite fast open source HEVC decoder library under the GNU LGPL. The source code can be found here. There also is a fork of this which supports the advanced analytics framework of YUView and can show details like motion vectors, predictions modes and much more. Pre-built libraries can be found here.
The HM reference decoder can also be used for decoding. It is much slower but works. You can find pre-built library versions of this decoder here.
I also put together a library version of the VVC reference decoder (VTM) which can be plugged in. Unfortunately the adaption of VVC parameter parsing is not 100% finished yet and also the pre-build libraries are not available yet. The libVTM project can be found here.
Also the dav1d AV1 decoder works. The pre-built libraries can be found here.