libde265

libde265 is an open source implementation of the H.265 video codec.
It is written from scratch for simplicity and efficiency. Its simple
API makes it easy to integrate it into other software.

Refresh
Refresh
Source Files
Filename Size Changed Actions
baselibs.conf 0000000011 11 Bytes almost 9 years
libde265-1.1.3.tar.gz 0000324452 317 KB 9 days
libde265.changes 0000013427 13.1 KB 9 days
libde265.spec 0000002770 2.71 KB 9 days
Latest Revision
manfred-h manfred-h accepted request 6594 1 day ago (revision 14)
- Update to version 1.1.3:
  + This release completes high bit depth decoding (up to 16 bit)
    and repairs cross-component prediction, which had corrupted
    4:4:4 Range Extensions streams since v1.0.17. It is ABI- and
    API-compatible with v1.1.2 and a drop-in replacement; no
    functions or enum values were added.
  + High bit depth decoding:
    - Inter prediction above 12 bit was wrong from the first P/B
      picture on. The fractional sample interpolation used shift1 =
      BitDepth-8 instead of the Range Extensions' Min(4,
      BitDepth-8), and the intermediate prediction samples were
      kept in int16_t although they need max(14, BitDepth+2) bits.
      The 16-bit kernels are now templated on the intermediate
      sample type and use int32_t above 12 bit; 8- to 12-bit
      streams are unaffected and keep their SSE paths. Explicit
      weighted bi-prediction was broken in a second way: the
      shortcut for identical motion vectors checked
      weighted_pred_flag, which governs P slices, instead of
      weighted_bipred_flag.
    - Together with the fixes in v1.1.1 and v1.1.2 this completes
      high bit depth support. Output is bit-exact against the HM 18
      reference decoder at 10, 12, 13, 14 and 16 bit, for mixed
      luma/chroma bit depths and for 4:2:2, 4:4:4 and 4:0:0. Above
      12 bit motion compensation runs the scalar kernels; 8-bit
      performance is unchanged.
  + Range Extensions:
    - Cross-component prediction corrupted every chroma block it
      was applied to, a regression since v1.0.17. A cast added to
      silence undefined behaviour on a left shift turned the
      following arithmetic shift into a logical one, so every
      negative luma residual became a large positive value. This
      affects 4:4:4 streams only, but at every bit depth including
      8 bit.
    - cabac_bypass_alignment_enabled_flag was parsed and then
      ignored, so a stream using it desynchronized CABAC and
      decoded to garbage without any diagnostic. It is now
      implemented as specified in 9.3.4.3.6, and was the last Range
      Extensions tool still missing. Both fixes are bit-exact
      against HM 18.
Comments for libde265 0