1. 09 Mar, 2016 1 commit
  2. 01 Mar, 2016 1 commit
  3. 29 Feb, 2016 1 commit
    • Yunqing Wang's avatar
      Do sub-pixel motion search in up-sampled reference frames · 342a368f
      Yunqing Wang authored
      Up-sampled the reference frames to 8 times in each dimension using
      the 8-tap interpolation filter. In sub-pixel motion search, use the
      up-sampled reference frames to find the best matching blocks. This
      largely improved the motion search precision, and thus, improved
      the compression quality. There was no change in decoder side.
      
      Borg test and speed test results:
      1. On derflr set,
      Overall PSNR gain: 1.306%, and SSIM gain: 1.512%.
      Average speed loss on derf set was 6.0%.
      2. On stdhd set,
      Overall PSNR gain: 0.754%, and SSIM gain: 0.814%.
      On hevchd set,
      Overall PSNR gain: 0.465%, and SSIM gain: 0.527%.
      Speed loss on HD clips was 3.5%.
      
      Change-Id: I300ebaafff57e88914f3dedc8784cb21d316b04f
      342a368f
  4. 20 Feb, 2016 1 commit
  5. 17 Feb, 2016 1 commit
  6. 12 Feb, 2016 2 commits
    • Yue Chen's avatar
      Overlapped block motion compensation experiment · d1cad9c3
      Yue Chen authored
      In this experiment, an obmc inter prediction mode is enabled for
      >= 8X8 inter blocks. When the obmc flag is on, the regular block-
      based motion compensation will be refined by using predictors of
      the above and left blocks.
      Fixed some compatibility issues with vp9_highbitdepth, supertx,
      ref_mv, and ext_interp.
      
      Coding gain (%) on derflr/hevcmr/hevchd
      OBMC:
      1.047/1.022/0.708
      OBMC + SUPERTX:
      1.652/1.616/1.137
      SUPERTX:
      0.862/0.779/0.630
      
      Change-Id: I5d8d3c4729c6d3ccb03ec7034563107893103b7f
      d1cad9c3
    • Yaowu Xu's avatar
      Refactor internal stats code · 1a69cb28
      Yaowu Xu authored
      Also removed the use of postprocessing in computing internal stats.
      
      Change-Id: Ib8fdbdfe7b7ca05cd1a034a373aa7762fa44323c
      1a69cb28
  7. 09 Feb, 2016 1 commit
    • Jingning Han's avatar
      Entropy coding for dynamic ref mv modes · 4958987b
      Jingning Han authored
      This commit enables entropy coding for dynamic reference motion
      vector modes. The probability model is contexted on the ranking
      categories of the reference motion vector candidates.
      
      Change-Id: I09b58d98a409d63ec1a407331e29f8945b7ef17d
      4958987b
  8. 08 Feb, 2016 1 commit
  9. 03 Feb, 2016 1 commit
    • hui su's avatar
      Add 8-tap interpolation filter options for intra prediction · 3b1c7668
      hui su authored
      BD-rate performance improvement (on top of ext-intra):
      derflr  0.22%
      hevclr  0.36%
      hevcmr  0.48%
      hevchr  0.37%
      stdhd   0.19%
      
      Average speed impact on some derf clips is about 40% slower (on
      top of ext-intra). Speed improvment is a to-do.
      
      Change-Id: I8fe3fe8c5e4f60d0462778adbcc15c84dfbe7a25
      3b1c7668
  10. 22 Jan, 2016 1 commit
    • Yue Chen's avatar
      Adding new compound modes to EXT_INTER experiment · 968bbc7b
      Yue Chen authored
      Combinations of different mv modes for two reference frames
      are allowed in compound inter modes. 9 options are enabled,
      including NEAREST_NEARESTMV, NEAREST_NEARMV, NEAR_NEARESTMV,
      NEAREST_NEWMV, NEW_NEARESTMV, NEAR_NEWMV, NEW_NEARMV, ZERO_ZEROMV,
      and NEW_NEWMV.
      This experiment is mostly deported from the nextgen branch.
      It is made compatible with other experiments
      
      Coding gain of EXT_INTER(derflr/hevcmr/hevchd): 0.533%/0.728%/0.639%
      
      Change-Id: Id47e97284e6481b186870afbad33204b7a33dbb0
      968bbc7b
  11. 21 Jan, 2016 1 commit
    • Debargha Mukherjee's avatar
      Loop restoration filter · 84ca7a9f
      Debargha Mukherjee authored
      Current implementation is a bilateral filter whose
      parameters are transmitted in the bitstream.
      
      derflr: -0.647% BDRATE
      hevcmr: -0.794% BDRATE
      
      This is a prelimary patch. Various other variations are to
      be investigated next, that will hopefully be less expensive
      on the decoder side.
      
      Change-Id: I50634ae8f5014ad0bf7432306348908a349d81e1
      84ca7a9f
  12. 15 Jan, 2016 1 commit
    • Yue Chen's avatar
      EXT_INTER experiment · 1ac85879
      Yue Chen authored
      NEW2MV is enabled, representing a new motion vector predicted from
      NEARMV. It is mostly ported from nextgen, where it was named
      NEW_INTER.
      A few fixes are done for sub8x8 RDO to correct some misused
      mv references in the original patch.
      A 'bug-fix' for encoding complexity is done, reducing the additional
      encoding time from 50% to 20%. In sub8x8 case, the old patch
      did motion search for every interpolation filter (vp9 only
      searches once). This fix also slightly improves the coding gain.
      This experiment has been made compatible with REF_MV and EXT_REFS.
      
      Coding gain (derflr/hevcmr/hevchd): 0.267%/0.542%/0.257%
      
      Change-Id: I9a94c5f292e7454492a877f65072e8aedba087d4
      1ac85879
  13. 08 Jan, 2016 2 commits
  14. 04 Jan, 2016 1 commit
  15. 18 Dec, 2015 1 commit
    • Zoe Liu's avatar
      Restore the flexibility for the new 3 references · ec36a2b0
      Zoe Liu authored
      For the experiment of EXT_REFS, removed the previous special handling
      on the new last 3 references, i.e. LAST2_FRAME, LAST3_FRAME, and
      LAST4_FRAME, at the decoder, so that these new last references are
      treated the same way as the other 3 references (LAST_FRAME,
      GOLDEN_FRAME, and ALTREF_FRAME). Encoder changes have been made
      accordingly to realize this flexibility.
      
      Change-Id: Ic6546f9443b4377bb7e7b101bfa3e70a8b8d1c65
      ec36a2b0
  16. 10 Dec, 2015 1 commit
  17. 08 Dec, 2015 2 commits
    • paulwilkins's avatar
      Changes to exhaustive motion search. · 4e692bbe
      paulwilkins authored
      This change has been imported from VP9 and
      alters the nature and use of exhaustive motion search.
      
      Firstly any exhaustive search is preceded by a normal step search.
      The exhaustive search is only carried out if the distortion resulting
      from the step search is above a threshold value.
      
      Secondly the simple +/- 64 exhaustive search is replaced by a
      multi stage mesh based search where each stage has a range
      and step/interval size. Subsequent stages use the best position from
      the previous stage as the center of the search but use a reduced range
      and interval size.
      
      For example:
        stage 1: Range +/- 64 interval 4
        stage 2: Range +/- 32 interval 2
        stage 3: Range +/- 15 interval 1
      
      This process, especially when it follows on from a normal step
      search, has shown itself to be almost as effective as a full range
      exhaustive search with step 1 but greatly lowers the computational
      complexity such that it can be used in some cases for speeds 0-2.
      
      This patch also removes a double exhaustive search for sub 8x8 blocks
      which also contained  a bug (the two searches used different distortion
      metrics).
      
      For best quality in my test animation sequence this patch has almost
      no impact on quality but improves encode speed by more than 5X.
      
      Restricted use in good quality speeds 0-2 yields significant quality gains
      on the animation test of 0.2 - 0.5 db with only a small impact on encode
      speed. On most natural video clips, however, where the step search
      is performing well, the quality gain and speed impact are small.
      
      Change-Id: Iac24152ae239f42a246f39ee5f00fe62d193cb98
      4e692bbe
    • hui su's avatar
      Bring palette back to nextgenv2 · c93e5cc3
      hui su authored
      It was removed by the master branch merge.
      
      Change-Id: I4b2a524c9e052e41063359afcb4ba22bf78344cf
      c93e5cc3
  18. 03 Dec, 2015 1 commit
    • hui su's avatar
      Remove palette from VP10 · 5d3327e8
      hui su authored
      Store it in nextgenv2 for now.
      
      Change-Id: Iab0af0e15246758e3b6e8bde4a74b13c410576fc
      5d3327e8
  19. 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
  20. 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
  21. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  22. 06 Nov, 2015 1 commit
  23. 29 Oct, 2015 1 commit
  24. 16 Oct, 2015 3 commits
    • 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
  25. 12 Oct, 2015 2 commits
    • Ronald S. Bultje's avatar
      vp10: update assertion/allocation for tokens. · 2e45ce14
      Ronald S. Bultje authored
      We only write EOSB tokens if we write tokens (i.e. not for skip blocks),
      and we write EOSB tokens per-plane instead of per block.
      
      Change-Id: I8d7ee99f8ec50eb7ae809f9f9282c1c91dbf6537
      2e45ce14
    • hui su's avatar
      VP10: Add palette mode part 1 · 5d011cb2
      hui su authored
      Add palette mode for keyframe luma channel. Palette mode is enabled
      when using "--tune-content=screen" in encoding config parameters.
      
      on screen_content testset:  +6.89%
      on derlr                 :  +0.00%
      
      Design doc (WIP):
      https://goo.gl/lD4yJw
      
      Change-Id: Ib368b216bfd3ea21c6c27436934ad87afdaa6f88
      5d011cb2
  26. 02 Oct, 2015 2 commits
  27. 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
  28. 26 Sep, 2015 1 commit
    • Ronald S. Bultje's avatar
      vp9/10: improve support for render_width/height. · 812945a8
      Ronald S. Bultje authored
      In the decoder, map this to the output variable vpx_image_t.r_w/h.
      This is intended as an improved version of VP9D_GET_DISPLAY_SIZE,
      which doesn't work with parallel frame decoding. In the encoder,
      map this to a codec control func (VP9E_SET_RENDER_SIZE) that takes
      a w/h pair argument in a int[2] (identical to VP9D_GET_DISPLAY_SIZE).
      
      Also add render_size to the encoder_param_get_to_decoder unit test.
      
      See issue 1030.
      
      Change-Id: I12124c13602d832bf4c44090db08c1009c94c7e8
      812945a8
  29. 16 Sep, 2015 1 commit
    • Ronald S. Bultje's avatar
      Add support for color-range. · eeb5ef0a
      Ronald S. Bultje authored
      In decoder, export (eventually) into vpx_image_t.range field. In
      encoder, use oxcf->color_range to set it (same way as for
      color_space).
      
      See issue 1059.
      
      Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
      eeb5ef0a
  30. 09 Sep, 2015 1 commit
  31. 28 Aug, 2015 1 commit
    • Yunqing Wang's avatar
      vp10 cleanup: remove svc code · c147c4d6
      Yunqing Wang authored
      Spatial/temporal svc code was removed. Verified using Borg test,
      and the results before and after the change are matching.
      
      Change-Id: I4c2ee5cd560428e3e50be02e57e5871ef4246390
      c147c4d6
  32. 20 Aug, 2015 1 commit
  33. 17 Aug, 2015 1 commit