Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

Video Codec Libraries

The goal of this list is to list the potential encoders and decoders that are available to use, and review what the potential licensing and/or patent issues there might be with each of them. We will be focusing only on codecs that may be suitable for review. The hope is to identify what could be included in precompiled applications without requiring any licensing costs, or side effects (like GPL).

Patent encumbered libraries

The libraries below fall into several patent pools.

CodecLicenseNotes
h264AVC/H.264 License Fees - ViaLa (via-la.com)Mentions first 100000 units per year being free. 
h265HEVC License Fees - ViaLa (via-la.com)Mentions first 100000 units per year being free. 
DNxHDhttps://www.avid.com/ja/legal/avid-dnxhd-list-of-patent-rightsThis is a list of patent's. I have not found anywhere with information about licensing those patents.
ProReshttps://support.apple.com/en-us/HT200321

Related to the above software patents, its interesting to note the videolan FAQ - https://www.videolan.org/legal.html - which mentions "Neither French law nor European conventions recognize software as patentable. Therefore, software patents licenses do not apply on VideoLAN software."


AV1 (more limited hardware support, Software License Agreement — nvJPEG2000 0.6.0 documentation (nvidia.com)
PrioritySourceCodecsEncoderDecoderPatent GroupDescriptionLicense
1https://developer.nvidia.com/nvidia-video-codec-sdkh264 /h265(See patent licenses)xxH264Hardware see Video Encode and Decode GPU Support Matrix | NVIDIA Developer DesignWorks_SDKs_Samples_Tools_License_distrib_use_rights_2017_06_13.pdf
4https://developer.nvidia.com/nvidia-video-codec-sdkh265 (See patent licenses)xxH265Hardware see Video Encode and Decode GPU Support Matrix | NVIDIA Developer 
1x264, the best H.264/AVC encoder - VideoLANh264 (See patent licenses)xxH264softwareGPL - 
4x265, the free H.265/HEVC encoder - VideoLANh265 (See patent licenses)nvJPEG2000 Documentation — nvJPEG2000 0.6.0 documentation (nvidia.com)jpeg-2000xHardware - see Accelerating JPEG 2000 Decoding for Digital Pathology and Satellite Images Using the nvJPEG2000 Library | NVIDIA Technical Blog - see also Karleener/FreeDcpPlayer: Free Dcp Player Nvidia GPU based for independent filmmakers (github.com)xxH265softwareGPL - 
1https://developer.apple.com/documentation/videotoolboxh264/h265/Prores  (See patent licenses)xxH264 / H265 (ProresHardware support Mac only?
4Intel® Media SDKh264, h265xx
hardware windows and linux libraries.End User License Agreements (intel.com) - note this still may not cover the licensing.
2ffmpeg DNxHD encoder/decoderDNxHD DNxHRxxDNxHDThis seems to be the only open-source library for DNxHD.lgpl - FFmpeg/dnxhdenc.c at master · FFmpeg/FFmpeg (github.com)  - this was developed as part of ffmpeg, with sponsorship by BBC Research. See also: ⚓ T91 Help evaluate/understand Avid DNxHD codec situation (apertus.org)
3ffmpeg Prores_ks



Part of ffmpeg -

https://github.com/FFmpeg/FFmpeg/blob/a18ccbfaeb16523458b15bdbfc482eb5a14f61a7/libavcodec/proresenc_kostya.c#L172




Open Source Libraries


Note, there is a patent pool for vp9 and av1 - although it seems like they were not involved with the development of those codecs.


appledocumentation/videotoolboxh264, h265, VP9lgpl - FFmpeg/dnxhdenc.c at master · FFmpeg/FFmpeg (github.com)  - this was developed as part of ffmpeg, with sponsorship by BBC Research. See also: ⚓ T91 Help evaluate/understand Avid DNxHD codec situation (apertus.org)
PrioritySourceCodecsEncoderDecoderDescriptionLicense
1https://developer.nvidia.com/nvidia-video-codec-sdk vp8, vp9 and av1xxHardware see Video Encode and Decode GPU Support Matrix | NVIDIA Developer https://developer.download.nvidia.com/h264/h265/ProresxxHardware support Mac only?designworks/DesignWorks_SDKs_Samples_Tools_License_distrib_use_rights_2017_06_13.pdf?t=eyJscyI6ImdzZW8iLCJsc2QiOiJodHRwczovL3d3dy5nb29nbGUuY29tLyJ9
1https://chromium.googlesource.com/webm/libvpx/vp8 and vp9xxsoftware

https://chromium.googlesource.com/webm/libvpx/+/refs/heads/main/LICENSE

https://chromium.googlesource.com/webm/libvpx/+/refs/heads/main/PATENTS

2SVT-AV1AV1xxSoftware

https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/LICENSE.md?ref_type=heads

https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/PATENTS.md?ref_type=heads

1xiph/rav1e: The fastest and safest AV1 encoder. (github.com)AV1x
rust based encoderBSD
1https://github.com/videolan/dav1dAV1
xSoftware
2Intel® Media SDK VP9, VC-1, MVC, and Motion JPEG (MJPEG)xxhardware windows and linux libraries.End User License Agreements (intel.com) - note this still may not cover the licensing.
2Intel® Media SDKAV1 - on ARC series GPU
xffmpeg DNxHD encoder/decoderDNxHD DNxHRxxThis seems to be the only open-source library for DNxHD.

3

nvJPEG2000 Documentation — nvJPEG2000 0.6.0 documentation (nvidia.com)



jpeg-2000
xHardware - see Accelerating JPEG 2000 Decoding for Digital Pathology and Satellite Images Using the nvJPEG2000 Library | NVIDIA Technical Blog - see also Karleener/FreeDcpPlayer: Free Dcp Player Nvidia GPU based for independent filmmakers (github.com)Software License Agreement — nvJPEG2000 0.6.0 documentation (nvidia.com)



Audio Codecs

TODO - 


Other External Libraries