1. 06 Oct, 2016 1 commit
    • Yue Chen's avatar
      Fix border check in MOTION_VAR · 79d8a07d
      Yue Chen authored
      Correct distance to right and bottom edge when predicting the overlapping
      region using neighbor predictors. The distance is more than that for the
      whole block, so the condition in clamp_mv will be looser.
      
      Change-Id: I40dfdd9c0a2a5e854cac12195b282493981e9d93
      79d8a07d
  2. 26 Jul, 2016 1 commit
    • Yue Chen's avatar
      Port SIMD optimization for obmc blending functions to av1 · 2478bed5
      Yue Chen authored
      SIMD optimization for 1d blending functions in obmc mode, and some
      code refactoring and cleanup.
      
      (ped_1080p25.y4m, 150 frame, 2000 tb)
      Encoding time overhead: +18.8% -> +18.1%
      Decoding time overhead: +21.3% -> +8.7%
      Change-Id: I9d856c32136e7e0e6e24ab5520ef901d7b1ee9c8
      2478bed5
  3. 13 Jul, 2016 1 commit
  4. 24 Jun, 2016 1 commit
    • Jingning Han's avatar
      Sub8x8 block chroma component inter prediction · be329033
      Jingning Han authored
      Handle the sub8x8 chroma component at the unit of 2x2/4x2/2x4 level
      and use the motion vector inherited from the luma component. This
      improves the coding performance:
      
      lowres 0.4%
      midres 0.25%
      hdres  0.15%
      
      Change-Id: I34dff4218cfa3e5d55e7ed0341f36f4719389f7e
      be329033
  5. 16 Jun, 2016 1 commit
    • Yue Chen's avatar
      Add RDO and recon of MOTION_VAR experiment · 04812eb3
      Yue Chen authored
      The decision framework in enc (without obmc mv refinement) and
      reconstruction at both sides is implemented.
      
      Performance gain: 2.229/2.000/1.915% lowres/midres/hdres
      Encodinig time: +13%
      
      Change-Id: I5ab634c17d7050f15ecf5d4145626d0eaa425058
      04812eb3
  6. 15 Jun, 2016 1 commit
    • Yue Chen's avatar
      Add overlapped block prediction functions · 2a764519
      Yue Chen authored
      Including functions that generates predictions using neighbor
      predictors, and the function that combines them with the base
      prediction.
      
      Change-Id: Iec6a2fbd6494a5bb335a7b36ec31a66799499b6f
      2a764519
  7. 09 Jun, 2016 1 commit
  8. 10 May, 2016 1 commit
    • clang-format's avatar
      apply clang-format · a2dc61c7
      clang-format authored
      .c files were missed in the previous change
      
      Change-Id: I9d22cd83e1f87472bfb09e6a38284396b2fcd860
      a2dc61c7
  9. 25 Mar, 2016 2 commits
  10. 24 Mar, 2016 1 commit
  11. 22 Mar, 2016 2 commits
    • Yaowu Xu's avatar
      vp10/ -> av1/ · cfea7dd7
      Yaowu Xu authored
      Change-Id: Ia055d03656ad1580447eced8687949583fdf4089
      cfea7dd7
    • Yaowu Xu's avatar
      Rename vpx to aom · bf4202ed
      Yaowu Xu authored
      Change-Id: Ibc7933fba85feeb30ef9b14b302d932aff19f54e
      bf4202ed
  12. 28 Jan, 2016 1 commit
  13. 21 Jan, 2016 1 commit
  14. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  15. 18 Sep, 2015 1 commit
  16. 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
  17. 12 Aug, 2015 2 commits
  18. 10 Aug, 2015 1 commit
  19. 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
  20. 06 Jul, 2015 1 commit
  21. 26 May, 2015 1 commit
  22. 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
  23. 01 Apr, 2015 1 commit
  24. 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
  25. 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
  26. 23 Jan, 2015 1 commit
  27. 24 Nov, 2014 1 commit
  28. 09 Oct, 2014 1 commit
  29. 29 Sep, 2014 1 commit
  30. 25 Sep, 2014 2 commits
    • hkuang's avatar
      Avoid calling vp9_is_scaled two times in a function. · c53a95ad
      hkuang authored
      Use a local variable to hold the result of vp9_is_scaled.
      
      Change-Id: I5e203909805923e20eefef596bc84424da47dbe2
      c53a95ad
    • Yaowu Xu's avatar
      Fix a couple of comments · 845d4f33
      Yaowu Xu authored
      The first comment is obselete given the way is now normative in VP9
      bitstream. The second comment line was too long.
      
      Change-Id: I6546585babf60d466485ddcf2daa6d2fa79e999a
      845d4f33
  31. 24 Sep, 2014 1 commit
    • Yaowu Xu's avatar
      Correct the condition for border extension · d237d483
      Yaowu Xu authored
      As reported in issue #850, the condition for border extension was not
      complete. This commit added the case when the scaling is enabled.
      
      This fixes issue #850.
      
      Change-Id: I67768b23f0dcc4ac9a9aa0a0825b0fe8cb85a72e
      d237d483
  32. 20 Sep, 2014 1 commit
    • hkuang's avatar
      Remove mi_grid_* structures. · c70cea97
      hkuang authored
      mi_grid_* are arrays of pointer to pointer. They save the pointers that point
      to the MIs in cm->mi. But they are unnecessary and complicated. The original
      goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
      inside MODE_INFO_t, same goal could be achieved.
      
      This commit totally removes the mi_grid_* structures. But there are still
      many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
      will do on-demand MODE_INFO_t allocation in order to save these memories.
      
      Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
      c70cea97
  33. 18 Sep, 2014 1 commit
  34. 15 Sep, 2014 1 commit
    • Alexander Voronov's avatar
      Fix invalid memory access on 2x downscale. · 29071a41
      Alexander Voronov authored
      The issue was discovered on bitstream with 2x vertical downscale. For
      zero MVs, y_pad is set to 1 only when vertical convolution is
      required. The original code assumes that for y_step_q4 == 32 we don't
      perform vertical convolution. But vp9_setup_scale_factors_for_frame()
      sets convolve functions so that when x_step and y_step are both not
      equal to 16, convolve in both directions is performed. And convolve()
      unconditionally subtracts one stride from source pointer when calls
      convolve_horiz(). This leads to invalid memory access.
      
      Change-Id: I882dfa6081a58e172b5ffa55842bfcd6727f10bf
      29071a41
  35. 28 Jul, 2014 1 commit