1. 06 May, 2016 1 commit
  2. 01 May, 2016 1 commit
  3. 21 Apr, 2016 1 commit
  4. 13 Apr, 2016 1 commit
  5. 05 Apr, 2016 1 commit
  6. 02 Apr, 2016 1 commit
    • Rodger Combs's avatar
      lavc/audiotoolboxdec: add eac3 decoder · b4daa2c4
      Rodger Combs authored
      This is added in 10.11, so we add a #define when building against older SDKs.
      
      The decoder actually supports 7.1-channel eac3, but since the parser only
      reports 6 channels, we end up decoding the 5.1 downmix (same as the internal
      decoder) for now.
      b4daa2c4
  7. 28 Mar, 2016 6 commits
  8. 27 Mar, 2016 1 commit
  9. 25 Mar, 2016 1 commit
  10. 22 Mar, 2016 2 commits
  11. 20 Mar, 2016 1 commit
  12. 13 Mar, 2016 1 commit
  13. 11 Mar, 2016 1 commit
  14. 07 Mar, 2016 2 commits
  15. 02 Mar, 2016 1 commit
  16. 29 Feb, 2016 1 commit
  17. 27 Feb, 2016 1 commit
  18. 26 Feb, 2016 1 commit
  19. 19 Feb, 2016 3 commits
  20. 18 Feb, 2016 5 commits
  21. 13 Feb, 2016 1 commit
  22. 10 Feb, 2016 1 commit
    • Rostislav Pehlivanov's avatar
      avcodec: add a native SMPTE VC-2 HQ encoder · ec9e87c9
      Rostislav Pehlivanov authored
      This commit adds a new encoder capable of creating BBC/SMPTE Dirac/VC-2 HQ
      profile files.
      
      Dirac is a wavelet based codec created by the BBC a little more than 10
      years ago. Since then, wavelets have mostly gone out of style as they
      did not provide adequate encoding gains at lower bitrates. Dirac was a
      fully featured video codec equipped with perceptual masking, support for
      most popular pixel formats, interlacing, overlapped-block motion
      compensation, and other features. It found new life after being stripped
      of various features and standardized as the VC-2 codec by the SMPTE with
      an extra profile, the HQ profile that this encoder supports, added.
      
      The HQ profile was based off of the Low-Delay profile previously
      existing in Dirac. The profile forbids DC prediction and arithmetic
      coding to focus on high performance and low delay at higher bitrates.
      The standard bitrates for this profile vary but generally 1:4
      compression is expected (~525 Mbps vs the 2200 Mbps for uncompressed
      1080p50). The codec only supports I-frames, hence the high bitrates.
      
      The structure of this encoder is simple: do a DWT transform on the
      entire image, split it into multiple slices (specified by the user) and
      encode them in parallel. All of the slices are of the same size, making
      rate control and threading very trivial. Although only in C, this encoder
      is capable of 30 frames per second on an 4 core 8 threads Ivy Bridge.
      A lookup table is used to encode most of the coefficients.
      
      No code was used from the GSoC encoder from 2007 except for the 2
      transform functions in diracenc_transforms.c. All other code was written
      from scratch.
      
      This encoder outperforms any other encoders in quality, usability and in
      features. Other existing implementations do not support 4 level
      transforms or 64x64 blocks (slices), which greatly increase compression.
      
      As previously said, the codec is meant for broadcasting, hence support
      for non-broadcasting image widths, heights, bit depths, aspect ratios,
      etc. are limited by the "level". Although this codec supports a few
      chroma subsamplings (420, 422, 444), signalling those is generally
      outside the specifications of the level used (3) and the reference
      decoder will outright refuse to read any image with such a flag
      signalled (it only supports 1920x1080 yuv422p10). However, most
      implementations will happily read files with alternate dimensions,
      framerates and formats signalled.
      
      Therefore, in order to encode files other than 1080p50 yuv422p10le, you
      need to provide an "-strict -2" argument to the command line. The FFmpeg
      decoder will happily read any files made with non-standard parameters,
      dimensions and subsamplings, and so will other implementations. IMO this
      should be "-strict -1", but I'll leave that up for discussion.
      
      There are still plenty of stuff to implement, for instance 5 more
      wavelet transforms are still in the specs and supported by the decoder.
      
      The encoder can be lossless, given a high enough bitrate.
      Signed-off-by: 's avatarRostislav Pehlivanov <atomnuker@gmail.com>
      ec9e87c9
  23. 09 Feb, 2016 1 commit
  24. 03 Feb, 2016 1 commit
  25. 31 Jan, 2016 2 commits
  26. 30 Jan, 2016 1 commit
    • Kieran Kunhya's avatar
      avcodec: Cineform HD Decoder · 3485332b
      Kieran Kunhya authored
      Decodes YUV 4:2:2 10-bit and RGB 12-bit files.
      Older files with more subbands, skips, Bayer, alpha not supported.
      Alpha requires addition of GBRAP12 pixel format.
      3485332b