1. 25 Nov, 2015 2 commits
  2. 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
  3. 19 Nov, 2015 2 commits
  4. 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
  5. 16 Nov, 2015 1 commit
  6. 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
  7. 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
  8. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  9. 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
  10. 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
  11. 03 Nov, 2015 2 commits
    • 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
  12. 30 Oct, 2015 3 commits
  13. 29 Oct, 2015 2 commits
  14. 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
  15. 27 Oct, 2015 1 commit
  16. 26 Oct, 2015 1 commit
    • Jingning Han's avatar
      Fix lossless coding · f0dee776
      Jingning Han authored
      Use inter_block_yrd as rate-distortion optimization for lossless
      coding. This fixes transform coefficient buffer swap use case and
      resolves the unit test failure related to lossless coding.
      
      Change-Id: I1512dab5ed5760c31f7de21a06e8d9ed1eb081fa
      f0dee776
  17. 23 Oct, 2015 3 commits
    • Jingning Han's avatar
      Properly handle non-420 color format in recursive transform scheme · 79fe7246
      Jingning Han authored
      This commit makes the recursive transform block partitioning properly
      handle the non-420 color format. It resolves an enc/dec mismatch
      issue in that setting when var-tx experiment is turned on.
      
      Change-Id: I48a91de02c11b3153f897d1cca0ae948eec15605
      79fe7246
    • Jingning Han's avatar
      Use explicit block position in foreach_transformed_block · caeb10bf
      Jingning Han authored
      Add the row and column index to the argument list of unit functions
      called by foreach_transformed_block wrapper. This avoids the
      repeated internal parsing according to the block index.
      
      Change-Id: Ie7508acdac0b498487564639bc5cc6378a8a0df7
      caeb10bf
    • Yaowu Xu's avatar
      Fix merge defects · 5a27b3bb
      Yaowu Xu authored
      This commit fixes the merge conflicts between master and nextgenv2 and
      disable early termination in choose_tx_size() to avoid failure in test.
      
      The test failures are pre-existing, some of the issue were fixed in
      masterbase already, so will have another merge to introduce the fixes.
      
      Change-Id: Ib71889661955e73aedbb4db49d8be70425281dcb
      5a27b3bb
  18. 22 Oct, 2015 2 commits
    • Jingning Han's avatar
      Reset tx_type in recursive transform block partitioning · d3e5545f
      Jingning Han authored
      Temporarily reset the transform type in the inter modes when
      recursive transform block partitioning is used. This resolves an
      enc/dec mismatch issue in nextgenv2 codebase when both var-tx and
      ext-tx experiments are turned on.
      
      Change-Id: I2543f0a567243da95b237752d46964b07b669ad9
      d3e5545f
    • Jingning Han's avatar
      Fix compiler error with high bit-depth and var-tx · 20484048
      Jingning Han authored
      Clear the compiler errors when both high bit-depth and recursive
      transform block partition experiments are enabled.
      
      Change-Id: If0b6396851f10c28b4f26350322ccd1ba2fc9aff
      20484048
  19. 16 Oct, 2015 4 commits
    • Ronald S. Bultje's avatar
      vp10: per-segment lossless coding. · 60c58b52
      Ronald S. Bultje authored
      Some more testing of this patch would probably be useful, but I
      think the basics of it should work fine now.
      
      See issue 1035.
      
      Change-Id: I4a36d58f671c5391cb09d564581784a00ed26245
      60c58b52
    • Ronald S. Bultje's avatar
      vp10: add extended-intra prediction edges experiment. · c7dc1d78
      Ronald S. Bultje authored
      This experiment allows using full above/right edges for all transform
      sizes whenever available (for d45/d63), and adds bottom/left edges for
      d207.
      
      See issue 1043.
      
      Change-Id: I5cf7f345e783e8539bb6b6d2c9972fb1d6d0a78b
      c7dc1d78
    • Ronald S. Bultje's avatar
      vp10: merge keyframe/interframe uvintramode/partition probabilities. · d8f3bb18
      Ronald S. Bultje authored
      This has various benefits:
      - simplify implementations because we don't have to switch between
        multiple probability tables depending on frametype
      - allows fw subexp and bw adaptivity for partitions/uvmode in keyframes
      
      See issue 1040 point 5.
      
      Change-Id: Ia566aa2863252d130cee9deedcf123bb2a0d3765
      d8f3bb18
    • hui su's avatar
      VP10: some changes to palette mode · 17c817ad
      hui su authored
      Account for rounding in distortion calculation in k-means;
      carry out rounding before duplicates removal of base colors;
      replace numbers with macros;
      use prefix increment.
      
      Slight coding gain (<0.1%) on screen_content testset.
      
      Change-Id: Ie8bd241266da6b82c7b2874befc3a0c72b4fcd8c
      17c817ad
  20. 15 Oct, 2015 3 commits
  21. 13 Oct, 2015 2 commits