1. 08 May, 2017 1 commit
  2. 05 May, 2017 1 commit
  3. 03 May, 2017 1 commit
  4. 01 May, 2017 1 commit
  5. 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
  6. 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
  7. 24 Apr, 2017 1 commit
  8. 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
  9. 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
  10. 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
  11. 12 Apr, 2017 1 commit
  12. 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
  13. 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
  14. 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
  15. 15 Mar, 2017 1 commit
  16. 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
  17. 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
  18. 23 Feb, 2017 3 commits
  19. 15 Feb, 2017 1 commit
  20. 13 Feb, 2017 2 commits
  21. 08 Feb, 2017 1 commit
  22. 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
  23. 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
  24. 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
  25. 18 Jan, 2017 1 commit
  26. 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
  27. 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
  28. 10 Jan, 2017 1 commit
  29. 07 Jan, 2017 1 commit
  30. 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
  31. 15 Dec, 2016 1 commit
  32. 06 Dec, 2016 1 commit
    • David Barker's avatar
      Improve rdopt decisions for ext-inter · ac37fa3d
      David Barker authored
      Relative to previous ext-inter:
      lowres: -0.177%
           or -0.029% (with USE_RECT_INTERINTRA = 0)
      
      * When predicting interintra modes, the previous code did not provide
        the intra predictor with the correct context during rdopt. Add an
        explicit 'ctx' parameter to the relevant functions, to provide this
        context.
        This fixes a nondeterminism bug, which was causing test failures in
        *EncoderThreadTest*
      
      * For rectangular blocks, build_intra_predictors_for_interintra needs
        to overwrite part of the context buffer in order to set up the
        correct context for intra prediction. We now restore the original
        contents afterwards.
      
      * Add a flag to enable/disable rectangular interintra prediction;
        disabling improves encoding speed but reduces BDRATE improvement.
      
      Change-Id: I7458c036c7f94df9ab1ba0c7efa79aeaa7e17118
      ac37fa3d
  33. 01 Dec, 2016 1 commit
  34. 01 Nov, 2016 1 commit