Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
L

libde265

> 编程语言
Open source

Open h.265 video codec implementation.

1.9K stars0 likes1 views
WebsiteGitHub

About

Open h.265 video codec implementation.

libde265 - open h.265 codec implementation

libde265 is an open source implementation of the h.265 video codec. It is written from scratch and has a plain C API to enable a simple integration into other software.

libde265 supports WPP and tile-based multithreading and includes SSE, AVX2 and AVX-512 optimizations. The decoder includes all features of the Main profile, and it supports Main 10 and the Range Extensions: bit depths from 8 to 16 bit (independently for luma and chroma), the 4:2:0, 4:2:2, 4:4:4 and monochrome chroma formats, and the Range Extensions coding tools. It correctly decodes almost all conformance streams (see [wiki page]).

A list of supported features are available in the wiki.

For latest news check our website at http://www.libde265.org

The library comes with two example programs:

  • dec265, a simple player for raw h.265 bitstreams. It serves nicely as an example program how to use libde265.

  • sherlock265, a Qt-based video player with the additional capability to overlay some graphical representations of the h.265 bitstream (like CU-trees, intra-prediction modes).

Example bitstreams can be found, e.g., at this site: ftp://ftp.kw.bbc.co.uk/hevc/hm-10.1-anchors/bitstreams/ra_main/

Approximate performance for WPP, non-tiles streams (measured using the timehevc tool from the GStreamer plugin). The tool plays a Matroska movie to the GStreamer fakesink and measures the average framerate.

Resolution avg. fps CPU usage
720p 284 fps 39 %
1080p 150 fps 45 %
4K 36 fps 56 %

Environment:

  • Intel(R) Core(TM) i7-2700K CPU @ 3.50GHz (4 physical CPU cores)
  • Ubuntu 12.04, 64bit
  • GStreamer 0.10.36

Building

libde265 uses the CMake build system. To compile libde265, run

bash
mkdir build
cd build
cmake ..
make

libde265 has no dependencies on other libraries, but both optional example programs have dependencies on:

  • SDL2 (optional for dec265's YUV overlay output),

  • Qt (required for sherlock265),

  • libswscale (required for sherlock265 if libvideogfx is not available).

  • libvideogfx (required for sherlock265 if libswscale is not available, optional for dec265).

Libvideogfx can be obtained from http://www.dirk-farin.net/software/libvideogfx/index.html or http://github.com/farindk/libvideogfx

Build using cmake

cmake scripts to build libde265 and the sample scripts dec265 and enc265 are included and can be compiled using these commands:

bash
mkdir build
cd build
cmake ..
make

You can disable building of the example programs by running cmake with


  -DENABLE_DECODER=off     Do not build the dec265 decoder program.
  -DENABLE_SHERLOCK265=off Do not build the sherlock265 visual inspection program.

Optimized (non-Debug) builds hide all symbols except the public API, which makes the decoder faster and the shared library smaller. The encoder and the internal development tools need the internal symbols, so enabling them keeps everything exported. To export all symbols even from an optimized decoder-only build, run cmake with


  -DFORCE_FULL_VISIBILITY=on

Additional logging information can be turned on and off using these ./configure flags:


  -DDE265_LOG_LEVEL={error;info;debug;trace}

Building using vcpkg

You can build and install libde265 using the vcpkg dependency manager:

bash
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install libde265

The libde265 port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.

Prebuilt binaries

Binary packages can be obtained from this launchpad site.

Software using libde265

Libde265 has been integrated into these applications:

  • libheif source

  • gstreamer plugin, source, binary packages.

  • VLC plugin source, binary packages.

  • Windows DirectShow filters, https://github.com/strukturag/LAVFilters/releases

  • ffmpeg fork, https://github.com/farindk/ffmpeg

  • ffmpeg decoder source

  • libde265.js JavaScript decoder source, demo.

Packaging status

License

The library libde265 is distributed under the terms of the GNU Lesser General Public License. The sample applications are distributed under the terms of the MIT license.

See COPYING for more details.

The short video clip in the 'testdata' directory is from the movie 'Girl Shy', which is in the public domain.

Copyright (c) 2013-2014 Struktur AG
Copyright (c) 2013-2026 Dirk Farin
Contact: Dirk Farin [email protected]

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言