1. 04 May, 2016 1 commit
  2. 03 May, 2016 1 commit
  3. 30 Apr, 2016 1 commit
    • Yue Chen's avatar
      Bug fixes for obmc/ext-inter/ext-tile experiment · c1d47384
      Yue Chen authored
      Fix 1: in ext-inter + obmc config, properly identify if the left
      predictor used for obmc is a compound one in the case that the
      neighbor uses wedgeinterinter pred and we will dump the ALTREF part.
      This will fix the seg fault in unit test:
      VP10/AltRefForcedKeyTestLarge.Frame1IsKey/0
      
      Fix 2: in ext-tile + obmc experiment, handle the case that the
      above block does not fit in the same row tile with the current one,
      so as to prevent potential crashes.
      
      Change-Id: I1c177d4f4ad15e10d11d8756e146496437753eea
      c1d47384
  4. 29 Apr, 2016 1 commit
  5. 26 Apr, 2016 1 commit
    • Yue Chen's avatar
      Optimization for EXT_INTER + OBMC · 3ac12aec
      Yue Chen authored
      Remove the restriction that the neighboring predictor cannot be
      used in obmc prediction if it is an interintra or wedgeinterinter
      block. The inter predictor of the interintra block, or the first
      inter predictor(using LAST or GOLDEN frame) of the wedgeinterinter
      block will be exploited in obmc prediction.
      
      Coding gain: 0.248% (2.833%->3.081%) lowres
      
      Change-Id: I4ac0368b9d2f2956f266b30c1ac97db8bafa0742
      3ac12aec
  6. 23 Apr, 2016 1 commit
  7. 18 Apr, 2016 1 commit
    • Yue Chen's avatar
      Remove an unsuccessful adaption of overlap sizes in obmc experiment · c0fd2719
      Yue Chen authored
      We removed this adaption, which intended to reduce the size of
      overlapped region if the neighboring block is a non-skip one. Thus,
      now the width/height of the overlapping region is fixed as a half of
      the current block.
      
      Performance improvement (lowres/midres): 0.111%/0.102%
      
      Change-Id: Ife75dad9d4eb355c78a05178b50cc015c442884f
      c0fd2719
  8. 05 Apr, 2016 1 commit
  9. 31 Mar, 2016 2 commits
    • Yaowu Xu's avatar
      Fix a build issue · a416d5bd
      Yaowu Xu authored
      Change-Id: Ifdb32c487632098496bf59fcc76c518f8f0426d2
      a416d5bd
    • Debargha Mukherjee's avatar
      Fix interpolation values and decouple interintra · 2be211e9
      Debargha Mukherjee authored
      Decouples interintra modes and probability models from regular
      intra modes, to enable creating/optimizing new interintra modes.
      Also, fixes interpolation values for 128x128 interintra and obmc.
      
      Change-Id: I5c2016db49b8f029164e5fe84c6274d4e02ff90e
      2be211e9
  10. 30 Mar, 2016 2 commits
    • Debargha Mukherjee's avatar
      Some fixes/speed-ups on inter-intra part of ext-inter · 8d3a4aa8
      Debargha Mukherjee authored
      Fixes an issue with rectangular inter-intra blocks.
      Includes various other refactoring and cleanups to enable fast mixing
      of inter and intra predictors.
      Uses only the best single inter reference so far for the inter-intra
      search.
      
      About 30% speed-up with a 0.1% hit in performance.
      
      This is part one of overhauling on the ext-inter experiment. To be
      continued in subsequent patches.
      
      Change-Id: Id10ee100c78c6e00009a3a4f930a4435ef403a95
      8d3a4aa8
    • Geza Lore's avatar
      Extend superblock size fo 128x128 pixels. · 552d5cd7
      Geza Lore authored
      If --enable-ext-partition is used at build time, the superblock size
      (sometimes also referred to as coding unit (CU) size) is extended to
      128x128 pixels.
      
      Change-Id: Ie09cec6b7e8d765b7555ff5d80974aab60803f3a
      552d5cd7
  11. 29 Mar, 2016 1 commit
    • Julia Robson's avatar
      Fix for ext_interp experiment · 068e7994
      Julia Robson authored
      Amends previous commit to also handle subsampling correctly.
      Change ID of prev commit: I6b07e6cf9b287ba4b5bd6599af4a7412e50b3bdc
      
      Was causing occassional failures for 422 streams due to accessing
      elements beyond the extent of the bmi array.
      
      Change-Id: I37ebabf4c01ca84bcd1851428172bdf753805d98
      068e7994
  12. 22 Mar, 2016 1 commit
    • Yue Chen's avatar
      Refactor prediction functions of OBMC · 2e3f7731
      Yue Chen authored
      Merge the functions that generate prediction by above/left predictors
      for the encoder and the decoder.
      
      Change-Id: I57e53a8f2eb8d3028c4ed0c9abdcbf00503f95a0
      2e3f7731
  13. 10 Mar, 2016 1 commit
  14. 04 Mar, 2016 1 commit
    • Yue Chen's avatar
      Fix a bug in obmc prediction · 10cdeab4
      Yue Chen authored
      For left side obmc, the input of the mask function is corrected as
      the column coordinate.
      Also, minor fixes for a compiler warning.
      
      Change-Id: Ia981ef443d5b0285a93d73e5c7ab83f8c3a23464
      10cdeab4
  15. 26 Feb, 2016 2 commits
    • Jingning Han's avatar
      Unify frame border extension operation · d1d11fc6
      Jingning Han authored
      This commit unifies the encoder and decoder border extension and
      motion compensated prediction process. Remove the decoder specific
      flow to simplify the development flow.
      
      Change-Id: I9c43bbe6d7c017e6da2db6a62c5bf3d0af7ccfce
      d1d11fc6
    • Geza Lore's avatar
      Port interintra experiment from nextgen. · 7ded038a
      Geza Lore authored
      The interintra experiment, which combines an inter prediction and an
      inter prediction have been ported from the nextgen branch. The
      experiment is merged into ext_inter, so there is no separate configure
      option to enable it.
      
      Change-Id: I0cc20cefd29e9b77ab7bbbb709abc11512320325
      7ded038a
  16. 16 Feb, 2016 1 commit
    • Yue Chen's avatar
      Fixing a bug in obmc prediction in the rd loop · 907f88c4
      Yue Chen authored
      This bug made the rd loop use one-side obmc (compound of the current
      predictor and the predictors of the left mi's, while the above ones
      are ignored by mistake) to determine whether to use obmc. This fix
      improved the compression performance by ~0.6% on different test sets.
      
      Coding gain (%) of obmc experiment on derflr/derfhd/hevcmr/hevchd:
      1.568/TBD/1.628/TBD
      
      Change-Id: I43b239bedf9a8eebfd02315b1b036e140a998140
      907f88c4
  17. 12 Feb, 2016 1 commit
    • 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
  18. 02 Feb, 2016 1 commit
  19. 05 Jan, 2016 1 commit
    • Debargha Mukherjee's avatar
      Super transform - ported from nextgen branch · 3787b174
      Debargha Mukherjee authored
      Various additional changes were made to make the experiment
      compatible with misc_fixes.
      
      derflr: +0.979%
      hevcmr: +0.865%
      
      Speed-wise with --enable-supertx the encoder is only about 10%
      slower than without. Decoding impact is about 30% slowdown.
      
      Note this does not work with ext-tx or var-tx yet. That is
      a TODO.
      
      Change-Id: If25af4241a7a9efbd28f58eda3c4f044c7a7ef4b
      3787b174
  20. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  21. 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
  22. 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
  23. 18 Sep, 2015 1 commit
  24. 16 Sep, 2015 2 commits
    • Ronald S. Bultje's avatar
      vp10: do sub8x8 block reconstruction in full subblocks. · 50f94427
      Ronald S. Bultje authored
      This means that we don't reconstruct in 4x4 dimensions, but in
      blocksize dimensions, e.g. 4x8 or 8x4. This may in some cases lead
      to performance improvements. Also, if we decide to re-introduce
      scalable coding support, this would fix the fact that you need to
      re-scale the MV halfway the block in sub8x8 non-4x4 blocks.
      
      See issue 1013.
      
      Change-Id: If39c890cad20dff96635720d8c75b910cafac495
      50f94427
    • Ronald S. Bultje's avatar
      vp10: fix 4:2:2 chroma MVs for 8x4/4x4 blocks. · ed29c2f9
      Ronald S. Bultje authored
      In vp9, the bottom MV would be the average of the topright and
      bottomleft luma MV (instead of the bottomleft/bottomright luma MV).
      
      See issue 993.
      
      Change-Id: Ic91c0b195950e7b32fc26c84c04788a09321e391
      ed29c2f9
  25. 12 Aug, 2015 2 commits
  26. 10 Aug, 2015 1 commit
  27. 31 Jul, 2015 1 commit
    • Zoe Liu's avatar
      Code refactor on InterpKernel · 7186a2dd
      Zoe Liu authored
      It in essence refactors the code for both the interpolation
      filtering and the convolution. This change includes the moving
      of all the files as well as the changing of the code from vp9_
      prefix to vpx_ prefix accordingly, for underneath architectures:
      (1) x86;
      (2) arm/neon; and
      (3) mips/msa.
      The work on mips/drsp2 will be done in a separate change list.
      
      Change-Id: Ic3ce7fb7f81210db7628b373c73553db68793c46
      7186a2dd
  28. 06 Jul, 2015 1 commit
  29. 26 May, 2015 1 commit
  30. 21 Apr, 2015 1 commit
    • Scott LaVarnway's avatar
      Revert "Remove mi_grid_* structures." · 8b17f7f4
      Scott LaVarnway authored
      (see I3a05cf1610679fed26e0b2eadd315a9ae91afdd6)
      
      For the test clip used, the decoder performance improved by ~2%.
      This is also an intermediate step towards adding back the
      mode_info streams.
      
      Change-Id: Idddc4a3f46e4180fbebddc156c4bbf177d5c2e0d
      8b17f7f4
  31. 01 Apr, 2015 1 commit
  32. 04 Feb, 2015 1 commit
    • Jingning Han's avatar
      Account for chroma component costs in RTC mode decision · 0c6d3a03
      Jingning Han authored
      This commit allows the encoder to account for additional chroma
      plane costs in the mode decision process, if the current block
      potentially contains significant color change. It improves the
      visual quality at very low bit-rates.
      
      The compression performance of dark720p is improved by 12.39% in
      speed 6. For jimred at 150 kbps, the PSNR of V component (red)
      increased by 0.2 dB, at the expense of about 5% increase in
      encoding time. Note that for sequences where the chroma components
      are fairly consistent, the encoding time increase is negligible.
      
      On average the rtc set compression performance is improved by
      1.172% in PSNR and 1.920% in SSIM.
      
      Change-Id: Ia55b24ef23a25304f7ec9958fbf07fd6e658505c
      0c6d3a03
  33. 31 Jan, 2015 1 commit
    • hkuang's avatar
      Try again to merge branch 'frame-parallel' into master branch. · be6aeada
      hkuang authored
      In frame parallel decode, libvpx decoder decodes several frames on all
      cpus in parallel fashion. If not being flushed, it will only return frame
      when all the cpus are busy. If getting flushed, it will return all the
      frames in the decoder. Compare with current serial decode mode in which
      libvpx decoder is idle between decode calls, libvpx decoder is busy
      between decode calls.
      
      Current frame parallel decode will only speed up the decoding for frame
      parallel encoded videos. For non frame parallel encoded videos, frame
      parallel decode is slower than serial decode due to lack of loopfilter
      worker thread.
      
      There are still some known issues that need to be addressed. For example:
      decode frame parallel videos with segmentation enabled is not right sometimes.
      
      * frame-parallel:
        Add error handling for frame parallel decode and unit test for that.
        Fix a bug in frame parallel decode and add a unit test for that.
        Add two test vectors to test frame parallel decode.
        Add key frame seeking to webmdec and webm_video_source.
        Implement frame parallel decode for VP9.
        Increase the thread test range to cover 5, 6, 7, 8 threads.
        Fix a bug in adding frame parallel unit test.
        Add VP9 frame-parallel unit test.
        Manually pick "Make the api behavior conform to api spec." from master branch.
        Move vp9_dec_build_inter_predictors_* to decoder folder.
        Add segmentation map array for current and last frame segmentation.
        Include the right header for VP9 worker thread.
        Move vp9_thread.* to common.
        ctrl_get_reference does not need user_priv.
        Seperate the frame buffers from VP9 encoder/decoder structure.
        Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:"""
       Conflicts:
             test/codec_factory.h
             test/decode_test_driver.cc
             test/decode_test_driver.h
             test/invalid_file_test.cc
             test/test-data.sha1
             test/test.mk
             test/test_vectors.cc
             vp8/vp8_dx_iface.c
             vp9/common/vp9_alloccommon.c
             vp9/common/vp9_entropymode.c
             vp9/common/vp9_loopfilter_thread.c
             vp9/common/vp9_loopfilter_thread.h
             vp9/common/vp9_mvref_common.c
             vp9/common/vp9_onyxc_int.h
             vp9/common/vp9_reconinter.c
             vp9/decoder/vp9_decodeframe.c
             vp9/decoder/vp9_decodeframe.h
             vp9/decoder/vp9_decodemv.c
             vp9/decoder/vp9_decoder.c
             vp9/decoder/vp9_decoder.h
             vp9/encoder/vp9_encoder.c
             vp9/encoder/vp9_pickmode.c
             vp9/encoder/vp9_rdopt.c
             vp9/vp9_cx_iface.c
             vp9/vp9_dx_iface.c
      
      This reverts commit a18da976.
      
      Change-Id: I361442ffec1586d036ea2e0ee97ce4f077585f02
      be6aeada
  34. 23 Jan, 2015 1 commit
  35. 24 Nov, 2014 1 commit