1. 25 Nov, 2015 1 commit
    • 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
  2. 19 Nov, 2015 1 commit
  3. 17 Nov, 2015 1 commit
    • 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
  4. 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
  5. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  6. 06 Nov, 2015 1 commit
    • 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
  7. 04 Nov, 2015 1 commit
    • 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
  8. 02 Nov, 2015 1 commit
  9. 30 Oct, 2015 1 commit
  10. 29 Oct, 2015 2 commits
  11. 28 Oct, 2015 1 commit
    • 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
  12. 21 Oct, 2015 1 commit
  13. 20 Oct, 2015 1 commit
  14. 19 Oct, 2015 1 commit
  15. 16 Oct, 2015 5 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: allow forward updates for keyframe y intra mode probabilities. · 1eb51a20
      Ronald S. Bultje authored
      See issue 1040 point 5.
      
      Change-Id: I51a70b9eade39efba392a1457bd70a3c515525cb
      1eb51a20
    • 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
    • Ronald S. Bultje's avatar
      vp10: make segmentation probs use generic probability model. · 6e5a1165
      Ronald S. Bultje authored
      Locate them (code-wise) in frame_context, and have them be updated
      as any other probability using the subexp forward and adaptive bw
      updates.
      
      See issue 1040 point 1.
      
      TODOs:
      - real-world default probabilities
      - why is counts sometimes NULL in the decoder? Does that mean bw
        adaptivity updates only work on some frames? (I haven't looked
        very closely yet, maybe this is a red herring.)
      
      Change-Id: I23b57b4e5e7574b75f16eb64823b29c22fbab42e
      6e5a1165
    • 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
  16. 15 Oct, 2015 1 commit
  17. 13 Oct, 2015 1 commit
  18. 12 Oct, 2015 3 commits
  19. 08 Oct, 2015 2 commits
  20. 06 Oct, 2015 3 commits
    • Ronald S. Bultje's avatar
      vp10: skip unreachable cat6 token extrabits. · 3461e8ce
      Ronald S. Bultje authored
      We have historically added new bits to cat6 whenever we added a new
      transform size (or bitdepth, for that matter). However, we have
      always coded these new bits regardless of the actual transform size,
      which means that for smaller transforms, we code bits that cannot
      possibly be set. The coding (quality) impact of this is negligible,
      but the bigger issue is that this allows creating bitstreams with
      coefficient values that are nonsensible and can cause int overflows,
      which then de facto become part of the bitstream spec. By not coding
      these bits, we remove this possibility.
      
      See issue 1065.
      
      Change-Id: Ib3186eca2df6a7a15ddc60c8b55af182aadd964d
      3461e8ce
    • Ronald S. Bultje's avatar
      vp10: use superframe marker index/size mechanism for tile size. · 7460798b
      Ronald S. Bultje authored
      See issue 1042. Should provide slight bitstream savings in most cases
      where tiles are being used.
      
      Change-Id: Ie2808cf8ef30b3efe50804396900c4d63a3fa026
      7460798b
    • Ronald S. Bultje's avatar
      vp10: extend range for delta Q values. · 612104bb
      Ronald S. Bultje authored
      See issue 1051. 6 bits is fairly arbitrary but at least allows writing
      delta Q values that are fairly normal in other codecs. I can extend to
      8 if people want full range, although I personally don't have any need
      for that.
      
      Change-Id: I0a5a7c3d9b8eb3de4418430ab0e925d4a08cd7a0
      612104bb
  21. 02 Oct, 2015 3 commits
  22. 01 Oct, 2015 1 commit
  23. 29 Sep, 2015 1 commit
    • Yaowu Xu's avatar
      Merged branch 'master' into nextgenv2 · 7c514e2d
      Yaowu Xu authored
      Resolved Conflicts in the following files:
              configure
              vp10/common/idct.c
              vp10/encoder/dct.c
              vp10/encoder/encodemb.c
              vp10/encoder/rdopt.c
      
      Change-Id: I4cb3986b0b80de65c722ca29d53a0a57f5a94316
      7c514e2d
  24. 26 Sep, 2015 2 commits
    • Ronald S. Bultje's avatar
      Rename display_{size,width,height} to render_*. · 36ffe644
      Ronald S. Bultje authored
      The name "display_*" (or "d_*") is used for non-compatible information
      (that is, the cropped frame dimensions in pixels, as opposed to the
      intended screen rendering surface size). Therefore, continuing to use
      display_* would be confusing to end users. Instead, rename the field
      to render_*, so that struct vpx_image can include it.
      
      Change-Id: Iab8d2eae96492b71c4ea60c4bce8121cb2a1fe2d
      36ffe644
    • Ronald S. Bultje's avatar
      vp10: code reference_mode in uncompressed header. · 8979e9e3
      Ronald S. Bultje authored
      See issue 1041 point 2.
      
      Change-Id: I6fc6427b1a0edff828e39d43428e3271491f8ac5
      8979e9e3
  25. 17 Sep, 2015 1 commit
    • Jingning Han's avatar
      Refactor mbmi_ext structure · c3bf8375
      Jingning Han authored
      This commit removes mbmi_ext_base pointer from MACROBLOCK struct.
      Its use case can be fully covered by cpi->mbmi_ext_base pointer.
      
      Change-Id: I155351609336cf5b6145ed13c21b105052727f30
      c3bf8375
  26. 16 Sep, 2015 2 commits