1. 03 Dec, 2015 1 commit
    • Angie Chiang's avatar
      Refactor vp10_xform_quant · 88cae8b4
      Angie Chiang authored
      1) Add facade to quantize b/fp/dc version so that their interface
         are the same.
      2) Merge vp10_xform_quant b/fp/dc version to one function so that
         the code flow in encodemb.c is clear
      
      Change-Id: Ib62d6215438fc2d07f4e7e72393f964832d6746f
      88cae8b4
  2. 25 Nov, 2015 4 commits
    • Angie Chiang's avatar
      Add facade to inverse txfm · a245d9f8
      Angie Chiang authored
      Add inv_txfm and highbd_inv_txfm as facades of inverse transform
      such that the code flow in encodemb.c can be simpler
      
      Change-Id: Iea45fd22dd8b173f8eb3919ca6502636f7bcfcf7
      a245d9f8
    • Angie Chiang's avatar
      Create hybrid_fwd_txfm.c · 96baa73e
      Angie Chiang authored
      Move txfm functions from encodemb to hybrid_twd_txfm.c
      to make encodemb's code flow clear
      
      Change-Id: If174d8ddb490d149c103e5127d30ef19adfbed13
      96baa73e
    • Angie Chiang's avatar
      merge txfm_#x#_1 into txfm_#x# · 30e325a9
      Angie Chiang authored
      Change-Id: I9f539491fe676898246976c91d5ac4804a155803
      30e325a9
    • Jingning Han's avatar
      Refactor tokenization coding tree · 2ec5ed25
      Jingning Han authored
      Expand the tokenization tree writing to support per transform block
      type coding in next CLs.
      
      Change-Id: I3560e658f89cc500eb49603f95dd2b4e99045f5b
      2ec5ed25
  3. 23 Nov, 2015 1 commit
    • Debargha Mukherjee's avatar
      Reduce transform options for ext-tx experiment · 56ab215d
      Debargha Mukherjee authored
      Reduces the transform optons for INTRA as well as INTER when
      transform size is 16x16 to not use any of the DSTs.
      Thus, a total of 10 options are used for 16x16, while 4x4
      and 8x8 still uses 17 options.
      
      derflr/hevchd actually improves a little, while hevcmr drops
      a little.
      
      About 10% speed improvement.
      
      Change-Id: I920a182231e052cdd622f8bb67085c16c572cb1e
      56ab215d
  4. 21 Nov, 2015 1 commit
    • Zoe Liu's avatar
      Added 3 more reference frames for inter prediction. · 3ec1601e
      Zoe Liu authored
      Under the experiment of EXT_REFS: LAST2_FRAME, LAST3_FRAME, and
      LAST4_FRAME.
      
      Coding efficiency: derflr +1.601%; hevchr +1.895%
      Speed: Encoder slowed down by ~75%
      
      Change-Id: Ifeee5f049c2c1f7cb29bc897622ef88897082ecf
      3ec1601e
  5. 19 Nov, 2015 2 commits
  6. 17 Nov, 2015 2 commits
    • hui su's avatar
      Merge MISC_FIXES · 66f2f65e
      hui su authored
      Remove MISC_FIXES flags except for the changes on MV precision, which
      has a 0.1% performance drop.
      
      On derflr, the impact is -0.012%.
      
      Change-Id: I0a74e5a212dd0cb827192a318c92a714c9681e45
      66f2f65e
    • hui su's avatar
      Fix some unused variable warnings · af084fbe
      hui su authored
      Change-Id: Ia7680ddf00dd50dd66bbb5753bae30b937988800
      af084fbe
  7. 16 Nov, 2015 1 commit
  8. 13 Nov, 2015 1 commit
    • hui su's avatar
      refactor ext-intra · 4aa50c17
      hui su authored
      Coding gain remains about the same, while overall speed is
      substantially increased.
      
      Change-Id: I2989bebcfd21092cd6a02653d4df4a3bf6780874
      4aa50c17
  9. 12 Nov, 2015 1 commit
    • Jingning Han's avatar
      Alternate reference frame · 140182b9
      Jingning Han authored
      This commit re-designs the alternate reference frame generation
      process. It employs non-local mean approach to produce more stable
      pixel estimation for alternate reference frame. It improves the
      compression performance gains:
      derf   0.5%
      hevcmr 0.8%
      stdhd  1.3%
      hevchr 1.0%
      
      The encoding time at speed 0 is not affected.
      
      Change-Id: Iaa757f0da189ce93812d69617a81bf630d449848
      140182b9
  10. 11 Nov, 2015 1 commit
    • Jingning Han's avatar
      Fix an encoding failure case when speed features are on · 35b3bd3e
      Jingning Han authored
      This commit fixes an encoding failure case triggered when early
      termination feature is turned on for transform block size search.
      It resolves the corresponding enc/dec mismatch issue.
      
      Change-Id: I2c5b7d8b1efe25fe3810e6ed307f4b1865dede49
      35b3bd3e
  11. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  12. 06 Nov, 2015 2 commits
    • hui su's avatar
      Use accurate bit cost for uv_mode in UV intra mode RD selection · 6ab6ac45
      hui su authored
      On derflr, +0.1% for VP10; however, -0.03% on VP9.
      
      Change-Id: I09c724232ede74254043d61d3cadc506256af0af
      6ab6ac45
    • Debargha Mukherjee's avatar
      New interpolation experiment · 85514c40
      Debargha Mukherjee authored
      Adds a new interpolation experiment.
      
      Improves entropy coding to send the filter type only if
      the motion vectors have subpel components.
      Adds one new 8-tap smooth filter, and tweaks the others.
      
      derflr: +0.695%
      hevcmr: +0.305%
      
      About 5% encode slowdown. No visible impact for decoding.
      
      Also makes the interpolation framework flexible to support both
      strictly interpolating filters as well as non-interpolating
      filters that filter integer offsets. This is mainly for
      further experimentation and if not found useful the code will
      be removed.
      
      Change-Id: I8db9cde56ca916be771fe54a130d608bf10786e6
      85514c40
  13. 04 Nov, 2015 2 commits
    • Jingning Han's avatar
      Simplify txfm rate-distortion optimization · 493d0234
      Jingning Han authored
      This commit refactors the rate-distortion optimization scheme for
      transform block coding. When both ext-tx and var-tx experiments
      are turned on, the encoding time for bus_cif at 1000 kbps goes down
      from 706377 ms to 666503 ms (5.6% speed-up). The coding statics
      remain unchanged.
      
      Change-Id: I20835db573725580aad79c16220f799ce01f2093
      493d0234
    • hui su's avatar
      ext-intra experiment · be3559ba
      hui su authored
      Currently there are two parts in this experiment: extra directional intra
      prediction modes and the filter intra modes migrated from the nextgen branch.
      
      Several macros are defined in "blockd.h" to provide controls of the experiment
      settings. Setting "DR_ONLY" as 1 (default is 0) means we only use directional
      modes, and skip the filter-intra modes; "EXT_INTRA_ANGLES" (default is 128)
      defines the number of different angles we want to support; setting
      "ANGLE_FAST_SEARCH" as 1 (default is 1) means we use fast sub-optimal search
      for the best prediction angle, instead of exhaustive search. The fast search
      is about 6 times faster than the exhaustive search, while preserving about
      60% of the coding gains.
      
      With extra directional prediction modes (fast search), we observe the following
      code gains (number in parentheses is for all-key-frame setting):
      derflr +0.42%  (+1.79%)
      hevclr +0.78%  (+2.19%)
      hevcmr +1.20%  (+3.49%)
      stdhd  +0.56%
      Speed-wise, about 110% slower for key frames, and 30% slower overall.
      
      The gains of filter intra modes mostly add up with the gains of directional
      modes. The overall coding gain of this experiment:
      derflr +0.94%
      hevclr +1.46%
      hevcmr +1.94%
      stdhd  +1.58%
      
      Change-Id: Ida9ad00cdb33aff422d06eb42b4f4e5f25df8a2a
      be3559ba
  14. 03 Nov, 2015 4 commits
    • Geza Lore's avatar
      Eliminate copying for FLIPADST in fwd transforms. · 01bb4a31
      Geza Lore authored
      This patch eliminates the copying of data when using FLIPADST forward
      transforms, by incorporating the necessary data flipping into the
      load_buffer_* functions of the SSE2 optimized forward transforms. The
      load_buffer_* functions are normally inlined, so the overhead of copying
      the data is removed and the overhead of flipping is minimized. Left to
      right flipping is still not free, as the columns need to be shuffled in
      registers.
      
      To preserve identity between the C and SSE2 implementations, the
      appropriate C implementations now also do the data flipping as part of
      the transform, rather than relying on the caller for flipping the input.
      
      Overall speedup is about 1.5-2% in encode on my tests. Note that these
      are only the forward transforms. Inverse transforms to come in a later
      patch.
      
      There are also a few code hygiene changes:
      - Fixed some indents of switch statements.
      - DCT_DCT transform now always use vp10_fht* functions, which dispatch
        to vpx_fdct* for DCT_DCT (some of them used to call vpx_fdct*
        directly, some of them used to call vp10_fht*).
      
      Change-Id: I93439257dc5cd104ac6129cfed45af142fb64574
      01bb4a31
    • Geza Lore's avatar
      Fix transform tables in C implementations. · 2b39bcec
      Geza Lore authored
      These tables were out of sync with the indexing enum since the
      refactoring in commit 4f16f119 (change 303389), due to the removal
      of the ext_tx_to_txtype lookup table. This patch just puts them
      back in order.
      
      Change-Id: Ieb7d57654f61b99b511d54c9ba09abbd5e8d0d14
      2b39bcec
    • Jingning Han's avatar
      Re-work rate-distortion optimization scheme for transform coding · 696ee004
      Jingning Han authored
      This commit re-works the rate-distortion optimization scheme for
      transform coding. It improves the overall compression performance.
      For derf set, the ext-tx experiment provides 2.27% coding gains,
      and the new scheme that integrates multiple transform type selection
      and recursive transform block partitioning provides a total of 3.24%
      coding gains.
      
      Change-Id: Ia1887c4c44b73dfb915d091d96660a99f09d5cc3
      696ee004
    • Jingning Han's avatar
      Incorporate flexible tx type and tx partition in RD scheme · 4b594d3d
      Jingning Han authored
      This commit hooks up the rate-distortion optimization system to
      fully exploit recursive transform block partition and multiple
      transform type. The compression performance of the two experiments
      largely adds up. For derf set, ext-tx provides additional 2.1%
      coding gains on top of the gains due to recursive transform block
      partition (0.69%).
      
      Change-Id: I1091fb9545f74e489a6a2489dc3c12f5abd05043
      4b594d3d
  15. 02 Nov, 2015 1 commit
  16. 30 Oct, 2015 5 commits
  17. 29 Oct, 2015 3 commits
  18. 28 Oct, 2015 2 commits
    • Jingning Han's avatar
      Use precise distortion metric · 71c15607
      Jingning Han authored
      Rework the rate distortion optimization pipeline. Use precise
      distortion metric that accounts for the forward and inverse
      transform rounding effect.
      
      Change-Id: Ibe19ce9791ec3547739294cc3012dd9e11f4ea49
      71c15607
    • Jingning Han's avatar
      Account for variable txfm sizes in coeff token packing · 4bfed0b3
      Jingning Han authored
      This commit makes the coefficient token packtization process account
      for variable transform block sizes supported in a single processing
      block. It fixes an enc/dec mismatch issue when var-tx, ext-tx, and
      misc-fixes experiments are all turned on.
      
      Change-Id: I2e8946e6f72de567603a568debbadad11196430c
      4bfed0b3
  19. 27 Oct, 2015 5 commits