1. 13 Feb, 2016 1 commit
  2. 12 Feb, 2016 17 commits
  3. 11 Feb, 2016 14 commits
  4. 10 Feb, 2016 8 commits
    • Timothy Gu's avatar
      x86/vf_blend: Add SSE2 optimization for screen · 74f8d9aa
      Timothy Gu authored
      10x faster than C.
      Reviewed-by: 's avatarPaul B Mahol <onemda@gmail.com>
      74f8d9aa
    • Timothy Gu's avatar
      x86/vf_blend: Move multiplying to a macro · c8b1612a
      Timothy Gu authored
      Reviewed-by: 's avatarPaul B Mahol <onemda@gmail.com>
      c8b1612a
    • Paul B Mahol's avatar
      avfilter/dualinput: use pts provided by framesync · 5486d7fa
      Paul B Mahol authored
      This fixes stalled output pts when main stream ends.
      Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
      5486d7fa
    • Michael Niedermayer's avatar
      avformat/hlsenc: Fix filename and options · a73b23e3
      Michael Niedermayer authored
      Regression since bc9a5965Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
      a73b23e3
    • Rostislav Pehlivanov's avatar
      vc2enc: use project-standard inclusion guards · 5669aa2a
      Rostislav Pehlivanov authored
      This was first reported on the mailing list in an earlier revision of this
      encoder but was forgotten from the final commit.
      Signed-off-by: 's avatarRostislav Pehlivanov <atomnuker@gmail.com>
      5669aa2a
    • Rostislav Pehlivanov's avatar
    • 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
    • Rostislav Pehlivanov's avatar
      options_table: update maximum bitrate limit · 4701be71
      Rostislav Pehlivanov authored
      The type of the option has been changed but the limit was apparently forgotten.
      Some video codes can handle bitrates of over ~2.2 Gbps (like VC-2).
      Signed-off-by: 's avatarRostislav Pehlivanov <atomnuker@gmail.com>
      4701be71