1. 09 May, 2017 2 commits
    • Jingning Han's avatar
      Rework inter prediction process in cb4x4 mode · c44009c1
      Jingning Han authored
      Use 2x2 inter prediction for chroma component. This improves the
      compression performance by 0.6% for lowres.
      
      Change-Id: If9d98e49cee63f40085b179652bfacc31ff462ea
      c44009c1
    • Angie Chiang's avatar
      Make convolve_round work with warped_motion · 05685e9a
      Angie Chiang authored
      Warped_motion doesn't go through inter_predictor() function to
      generate prediction where convolve_round is activated.
      Therefore, we could avoid doing post rounding when the
      warped_motion mode is on.
      
      We use do_post_rounding to indicate whether post rounding is
      needed
      Change-Id: Ib17a0c0d4e6e5232e9682afa8cfdb9576f5cf4c0
      05685e9a
  2. 08 May, 2017 2 commits
  3. 05 May, 2017 1 commit
  4. 03 May, 2017 1 commit
  5. 01 May, 2017 1 commit
  6. 29 Apr, 2017 1 commit
    • Debargha Mukherjee's avatar
      Wedge smoothing function cleanup and improvements · c54594f8
      Debargha Mukherjee authored
      Clarifies in the code that the wedge smoothing
      functions can in fact be generated by shift of three 1-D
      prototypes. Also changes the smoothing function a little
      which gives a slight improvement.
      Also includes some generic cleanups.
      
      Change-Id: I5735e0021d50c36c42509d4fc0939e7220564571
      c54594f8
  7. 26 Apr, 2017 2 commits
    • Debargha Mukherjee's avatar
      Fix separation between ext-inter group of expts. · c5f735f9
      Debargha Mukherjee authored
      Change-Id: I9b6f99768c60e743d2fadfaabc532e7c15dc40f3
      c5f735f9
    • James Zern's avatar
      Revert "Fix separation between ext-inter group of expts." · 1b6ccfcf
      James Zern authored
      This reverts commit 5ca25dfc.
      
      It breaks high-bitdepth builds with:
      --enable-aom-highbitdepth --enable-experimental --enable-dual-filter
      --enable-entropy --enable-ext-inter --enable-ext-intra
      --enable-ext-partition-types --enable-ext-refs --enable-ext-tx
      --enable-filter-intra --enable-loop-restoration
      
      or more simply:
      --enable-aom-highbitdepth --enable-experimental --enable-ext-inter
      
      BUG=aomedia:463
      
      Change-Id: If814131e634e4411569859f7426efafe158b83fd
      1b6ccfcf
  8. 24 Apr, 2017 1 commit
  9. 20 Apr, 2017 1 commit
    • Alex Converse's avatar
      intrabc: Add initial skeleton · 28744309
      Alex Converse authored
      Missing features:
      * RDOPT (Forced on for certain blocks)
      * Any form of border extension
      * Non MI sized right and bottom edges
      * MV prediction
      
      Present features:
      * Force intrabc for some blocks
      * Carry intrabc in the bitstream
      * Validate DV is causal
      * Reconstruct intrabc block assuming border extension is unnecessary
      
      Change-Id: Ib1f6868e89bfacc2a4edfc876485bad1b347263b
      28744309
  10. 14 Apr, 2017 1 commit
    • Sarah Parker's avatar
      Refactor gm/wm/obmc for cleaner warping interactions · 4c10a3c2
      Sarah Parker authored
      This creates a central function which defines when a
      block should be warped. It also refactors the
      WARPED_MOTION code so that all calls to av1_warp_plane
      happen in the same location.
      
      No change in performance.
      
      Change-Id: Icaf9ec7700d34523809258594bb9843bb2975f46
      4c10a3c2
  11. 13 Apr, 2017 1 commit
    • Sarah Parker's avatar
      Disable neighbor warping for gm + obmc · a036d86f
      Sarah Parker authored
      Adds an option to disable warp when obmc is used with a
      global motion neighbor.
      
      Change in BDRATE on cam_lowres
      gm + obmc enabled: 0.035%
      gm + obmc + wm enabled: -0.005%
      
      Change-Id: I1d6de75c7ead325cec31ed3748b5532f3658d8a7
      a036d86f
  12. 12 Apr, 2017 1 commit
  13. 10 Apr, 2017 1 commit
    • Fergus Simpson's avatar
      scaling: Avoid SSSE3 convolution instructions when scaling · fc59389f
      Fergus Simpson authored
      The SSE3 convolve functions do not work when scaling is involved. If
      either x_step_q4 or y_step_q4 is not 16 scaling will occur and an assert
      fails.
      
      This patch creates a C version of av1_convolve, av1_convolve_c. This
      function in turn calls all C versions of what av1_convolve calls. New C
      versions of these called functions have been created where needed and
      the same for the functions they call. This means that when scaling is
      enabled no asserts fail. av1_convolve_c is called instead of
      av1_convolve when x_step_q4 or y_step_q4 is not 16.
      
      Change-Id: I604d2716e034e23a0553fb7004133d3075514a7a
      fc59389f
  14. 07 Apr, 2017 1 commit
    • Debargha Mukherjee's avatar
      Do not warp for warped-motion neighbors with obmc · 604d846a
      Debargha Mukherjee authored
      Adds an option to disable warp when obmc is used with a
      warped motion neighbor.
      This change will reduce the line buffer requirement for
      mode/mv information since the warping parameters no longer
      need to be stored.
      
      Results: 0.05% increase in BDRATE on lowres
      
      Change-Id: I98bd2dcdbbcd47e44f199803ed8996b0f3fd1756
      604d846a
  15. 17 Mar, 2017 1 commit
    • Sarah Parker's avatar
      Macro to disable warped/obmc_causal with global motion · 19234cc2
      Sarah Parker authored
      Enabling SEPARATE_GLOBAL_MOTION will remove the ability for
      a block that uses zeromv with global motion to pick warped_causal
      or obmc_causal as the motion mode. When this is enabled there is:
      
      0.05% drop on lowres for global + warped enabled
      0.15% drop on midres for global + warped enabled
      
      0.12% drop on lowres with global + motion var enabled
      0.07% drop on midres with global + motion var enabled
      No performance change for global, warped, or motion var individually.
      
      Change-Id: Idbfb8dd7a93da14902438504b06a08e5212e48cb
      19234cc2
  16. 15 Mar, 2017 1 commit
  17. 14 Mar, 2017 1 commit
    • Sarah Parker's avatar
      Fix sub8x8 rd costing to include global motion prediction · b3ebed1c
      Sarah Parker authored
      One codepath originally skipped a function which forks between
      gm prediction and regular inter prediction. This change fixes this
      for both high bit depth and regular bit depth.
      
      Change-Id: I741d67a7c89eb6eb0cd35c02219739dc3ddb3841
      b3ebed1c
  18. 03 Mar, 2017 1 commit
    • Yue Chen's avatar
      Restrict the number of neighbors in obmc mode · 5329a2bf
      Yue Chen authored
      Enable obmc mode only when there are <= 2 left neighbors and <=2
      above neighbors. Also disable it when there is no overlappable
      neighbors.
      
      Gain in AWCY test: 1.60%, was 1.64% when there is no restriction
      
      Change-Id: I2d82ef4fb4daa9b0843ac8844f99b9f412c4f379
      5329a2bf
  19. 23 Feb, 2017 3 commits
  20. 15 Feb, 2017 1 commit
  21. 13 Feb, 2017 2 commits
  22. 08 Feb, 2017 1 commit
  23. 06 Feb, 2017 1 commit
    • Angie Chiang's avatar
      Add av1_convolve_2d_facade · 7927a97d
      Angie Chiang authored
      When convolve_round is on, av1_convolve_2d_facade will be used for
      interpolation rather than av1_convolve. Will remove the experiment
      code of convolve_round experiment from av1_convolve in another CL.
      
      So far we use 4-bit rounding in the intermediate stage on top of using
      post rounding for compound mode after the last stage.
      
      This will give us roughly 0.45% gain on lowres , 0.39% on midres and
      roughly 0.6-0.7% on hdres
      Altogether, is 1.15% on lowresm, 0.74% on midres and roughly 1.7-1.8% on
      hdres
      
      Note that there no restriction usage of 12-tap filter in the CL.
      Adding that, we will lose roughly 0.1% again on lowres.
      
      Change-Id: I6332e1d888e28a3b3ddc29711817d66e52cb5cdf
      7927a97d
  24. 31 Jan, 2017 2 commits
    • David Barker's avatar
      Fix ext-inter + compound-segment + supertx · 426a997e
      David Barker authored
      Allow the above combination of experiments to work together
      correctly, fixing an encode/decode mismatch bug when they
      were all enabled.
      
      This change causes build_masked_compound(_highbd) to only
      ever be called if CONFIG_SUPERTX is off, so wrap these functions
      in an '#if !CONFIG_SUPERTX' block.
      
      BUG=aomedia:313
      
      Change-Id: Ic3886bc69ba9624b8fcb0a4c2d71fc64d2c0f22c
      426a997e
    • Sarah Parker's avatar
      Make global_motion work with ext_inter · c2d38715
      Sarah Parker authored
      Change-Id: I2a490e144099d7692296992528192c1f11d2c06f
      c2d38715
  25. 20 Jan, 2017 1 commit
    • Angie Chiang's avatar
      Add CONVOLVE_POST_ROUNDING flag · 117aa0dc
      Angie Chiang authored
      By turning on CONVOLVE_POST_ROUNDING, in the compound inter
      prediction mode, FILTER_BITS rounding is moved after the summation
      of two predictions.
      
      Note that the post rounding is only applied on non-sub8x8 block
      
             PSNR     BDRate
      lowres -0.808%  -0.673%
      
      Change-Id: Ib91304e6122c24d832a582ab9f5757d33eac876c
      117aa0dc
  26. 18 Jan, 2017 1 commit
  27. 17 Jan, 2017 1 commit
    • Debargha Mukherjee's avatar
      Improvements on segment mask · 1edf9a30
      Debargha Mukherjee authored
      Adds a few options to make the compound mask lightly dependent on the
      the two predictors.
      
      Also adds high bit depth support
      
      Change-Id: If57b6e8ddd140e0c00fd9d4738927d37225091cb
      1edf9a30
  28. 13 Jan, 2017 2 commits
    • Yue Chen's avatar
      Add recon functions of non-causal obmc · 86ae7b13
      Yue Chen authored
      Change-Id: Id2537c8826e07ad6605aaa9858ba6d797bcd23a5
      86ae7b13
    • Angie Chiang's avatar
      Add rounding option into av1_convolve · 674bffdc
      Angie Chiang authored
      Use a round flag in ConvolveParams to indicate if the destination buffer
      has the result rounded by FILTER_BITS or not.
      This CL is part of the goal of reducing interpolation rounding error in
      compound prediction mode.
      
      Change-Id: I49e522a89a67a771f5a6e7fbbc609e97923aecb6
      674bffdc
  29. 10 Jan, 2017 1 commit
  30. 07 Jan, 2017 1 commit
  31. 16 Dec, 2016 1 commit
    • Sarah Parker's avatar
      Add temporary dummy mask for compound segmentation · 569eddab
      Sarah Parker authored
      This uses a segmentation mask (which is temporarily computed arbitrarily)
      to blend predictors in compound prediction. The mask will be computed
      using a color segmentation in a followup patch.
      Change-Id: I2d24cf27a8589211f8a70779a5be2d61746406b9
      569eddab
  32. 15 Dec, 2016 1 commit