1. 30 Jul, 2012 1 commit
    • Deb Mukherjee's avatar
      Adds support for switchable interpolation filters. · 52597441
      Deb Mukherjee authored
      Allows for swtiching/setting interpolation filters at the MB
      level. A frame level flag indicates whether to use a specifc
      filter for the entire frame or to signal the interpolation
      filter for each MB. When switchable filters are used, the
      encoder chooses between 8-tap and 8-tap sharp filters. The
      code currently has options to explore other variations as well,
      which will be cleaned up subsequently.
      
      One issue with the framework is that encoding is slow. I
      tried to do some tricks to speed things up but it is still slow.
      Decoding speed should not be affected since the number of
      filter taps remain unchanged.
      
      With the current version, we are up 0.5% on derf on average but
      some videos city/mobile improve by close to 4 and 2% respectively.
      If we did a full-search by turning the SEARCH_BEST_FILTER flag
      on, the results are somewhat better.
      
      The framework can be combined with filtered prediction, and I
      seek feedback regarding that.
      
      Rebased.
      
      Change-Id: I8f632cb2c111e76284140a2bd480945d6d42b77a
      52597441
  2. 27 Jul, 2012 3 commits
  3. 26 Jul, 2012 1 commit
  4. 25 Jul, 2012 2 commits
  5. 24 Jul, 2012 5 commits
  6. 23 Jul, 2012 2 commits
  7. 19 Jul, 2012 2 commits
    • Yaowu Xu's avatar
      fixed a compiling issue · 6f685683
      Yaowu Xu authored
      Change-Id: I9ccbea76eaeb81ce7b833dd92216734725796e84
      6f685683
    • Jingning Han's avatar
      Adds hybrid transform · 9824230f
      Jingning Han authored
      Adds ADST/DCT hybrid transform coding for Intra4x4 mode.
      The ADST is applied to directions in which the boundary
      pixels are used for prediction, while DCT applied to
      directions without corresponding boundary prediction.
      
      Adds enum TX_TYPE in b_mode_infor to indicate the transform
      type used.
      
      Make coding style consistent with google style.
      Fixed the commented issues.
      
      Experimental results in terms of bit-rate reduction:
      derf:   0.731%
      yt:     0.982%
      std-hd: 0.459%
      hd:     0.725%
      
      Will be looking at 8x8 transforms next.
      
      Change-Id: I46dbd7b80dbb3e8856e9c34fbc58cb3764a12fcf
      9824230f
  8. 18 Jul, 2012 5 commits
  9. 17 Jul, 2012 4 commits
  10. 16 Jul, 2012 5 commits
  11. 12 Jul, 2012 2 commits
  12. 09 Jul, 2012 1 commit
    • Yaowu Xu's avatar
      change to enable encoder to clamp UV motion vector · a81baae7
      Yaowu Xu authored
      This is to avoid a rare encoder/decoder mismatch for MB using SPLITMV
      mode. In decoder, the UV mv can be determined to need clamp, but the
      flag is never set in encoder motion vector selection process, and the
      clamp is not done in encoding in encoder.
      
      Change-Id: I60520d3f790354c7855dadf03f0978ea9b77e2c0
      a81baae7
  13. 30 Jun, 2012 1 commit
  14. 29 Jun, 2012 4 commits
    • Christian Duvivier's avatar
      Get rid of some cast. · 5a5ced3e
      Christian Duvivier authored
      Change-Id: Iff5ccf2400bcb7b78c7b70f289ea65c982efddd5
      5a5ced3e
    • Christian Duvivier's avatar
      Fix warnings. · c5b70370
      Christian Duvivier authored
      Change-Id: I6dd27a0ea661e6f10a55d7841021b66ae4fc72ae
      c5b70370
    • Daniel Kang's avatar
      Add 8x8 fDCT unit test. · 26641c74
      Daniel Kang authored
      Also factorize ACMRandom to acm_random.h.
      
      Change-Id: I3b6eeb36fcbf7ae6dd3d2892bc40348f5c17982b
      26641c74
    • Hui Su's avatar
      Add lossless compression mode. · e44ee38a
      Hui Su authored
      This commit adds lossless compression capability to the experimental
      branch. The lossless experiment can be enabled using --enable-lossless
      in configure. When the experiment is enabled, the encoder will use
      lossless compression mode by command line option --lossless, and the
      decoder automatically recognizes a losslessly encoded clip and decodes
      accordingly.
      
      To achieve the lossless coding, this commit has changed the following:
          1. To encode at lossless mode, encoder forces the use of unit
      quantizer, i.e, Q 0, where effective quantization is 1. Encoder also
      disables the usage of 8x8 transform and allows only 4x4 transform;
          2. At Q 0, the first order 4x4  DCT/IDCT have been switched over
      to a pair of forward and inverse Walsh-Hadamard Transform
      (http://goo.gl/EIsfy),  with proper scaling applied to match the range
      of the original 4x4 DCT/IDCT pair;
          3. At Q 0, the second order remains to use the previous
      walsh-hadamard transform pair. However, to maintain the reversibility
      in second order transform at Q 0, scaling down is applied to first
      order DC coefficients prior to forward transform, and scaling up is
      applied to the second order output prior to quantization. Symmetric
      upscaling and downscaling are added around inverse second order
      transform;
          4. At lossless mode, encoder also disables a number of minor
      features to ensure no loss is introduced, these features includes:
              a. Trellis quantization optimization
              b. Loop filtering
              c. Aggressive zero-binning, rounding and zero-bin boosting
              d. Mode based zero-bin boosting
      
      Lossless coding test was performed on all clips within the derf set,
      to verify that the commit has achieved lossless compression for all
      clips. The average compression ratio is around 2.57 to 1.
      (http://goo.gl/dEShs)
      
      Change-Id: Ia3aba7dd09df40dd590f93b9aba134defbc64e34
      e44ee38a
  15. 28 Jun, 2012 2 commits