1. 19 Oct, 2016 5 commits
  2. 18 Oct, 2016 7 commits
    • Sarah Parker's avatar
      Adjust gm costing so GLOBAL_ZERO is treated as regular zeromv · ae51dd82
      Sarah Parker authored
      Change-Id: I1b41146ae844c985566f5f9fdaeb5d4a4a5927b6
      ae51dd82
    • Guillaume Martres's avatar
      Remove rd_variance_adjustment · 470efbcf
      Guillaume Martres authored
      This function is called after `super_block_yrd` and assumes that the dst
      buffer is correct but that is no longer always the case after
      daf841b4 since we don't call
      `txfm_rd_in_plane` after the RDO loop in `choose_tx_size_from_rd`.
      We could fix this by always saving and restoring the dst buffer but
      removing `rd_variance_adjustment` is a better solution:
      - Getting the dst buffer always right is tricky as demonstrated by the
        fact that it is wrong now, even if we fix it now we could break it later
        and not notice
      - Perceptual weighting is a good idea but `rd_variance_adjustment` is the
        wrong approach as it weights both the rate and the distortion:
        to get meaningful units you should only weight the distortion,
        weighting rate means that we pretend some bits cost less than other
        bits, this is not the case. The distortion weighting approach is
        implemented by Daala in `od_compute_dist` and we plan to experiment
        with this in AV1 too.
      - Removing `rd_variance_adjustment` improves coding efficiency on all
        metrics, here are the results for objective-1-fast using the Low
        Latency settings:
      
            PSNR Y:     -0.14%
           PSNRHVS:     -0.17%
              SSIM:     -0.12%
            MSSSIM:     -0.12%
         CIEDE2000:     -0.07%
      
      Change-Id: I74b26b568ee65f56521646b8f30dd53bcd29fce3
      470efbcf
    • Hui Su's avatar
      Skip 4x4 transform if maximum possible transform is 32x32 · eafb2e62
      Hui Su authored
      On average no compression performance changes. Encoding speed is
      increased by 10~20% on some test clips in the derf set.
      
      Change-Id: I9856caaa260303f6f6259686671bed7d51012277
      eafb2e62
    • Jingning Han's avatar
      Take out some early termination speed features · 3f16725f
      Jingning Han authored
      Drop some speed features used in speed 2 and above, during the
      algorithm development process. This helps simplify the codebase.
      
      Change-Id: I3b2f5560d90b00d2d8fd57c2cb36f6ddd3f228e4
      3f16725f
    • Yaowu Xu's avatar
      Move a statement to match order in aom/master · ee775b13
      Yaowu Xu authored
      Change-Id: Ic11eae36c9c62a20699197847aa3ef9562d4ad7e
      ee775b13
    • Peter de Rivaz's avatar
      Fix for var_tx entropy context with rect_tx · 46fcb05f
      Peter de Rivaz authored
      This computation should match the code in encode_block
      to increase the accuracy of the rd optimization.
      
      Change-Id: Ibc9d9ab6d88d0c0f3af62e9cc233216aba48a57e
      46fcb05f
    • Peter de Rivaz's avatar
      Correction to costing rect_tx · b85a5a7e
      Peter de Rivaz authored
      When built with var_tx and ext_tx, select_tx_size_fix_type is used
      to compute the cost for using a particular tx_type.
      The code indexes the array inter_tx_type_costs at the wrong location
      resulting in a zero cost for signalling tx_type for rect_tx blocks.
      
      Change-Id: Iba38be3a0d822109f778f0600b242dfb40359766
      b85a5a7e
  3. 17 Oct, 2016 2 commits
    • Yue Chen's avatar
      Refactor motion estimation in MOTION_VAR experiment · e9638ccf
      Yue Chen authored
      To get ready for pulling AV1 to nextgenv2. Refactoring is done to
      make the code structures similar, especially for the motion search
      part.
      
      Change-Id: I5d7636394408d97de55394d668540f5627827983
      e9638ccf
    • Yushin Cho's avatar
      Bug fix in super_block_uvrd(). · 09de28b4
      Yushin Cho authored
      In super_block_uvrd(),if is_cost_valid == 0, all return parameters,
      i.e. rate, distortion, skippable, and sse, are reset.
      So, should not call txfm_rd_in_plane() if is_cost_valid == 0.
      Also, the bug causes av1_xform_quant() to see invalid diff signal
      since av1_subtract_plane() is not called in super_block_uvrd().
      
      Change-Id: Iaa06061e2e9aa8876b4611a54f4ae6b8d499332b
      09de28b4
  4. 14 Oct, 2016 1 commit
    • Urvang Joshi's avatar
      Wrap palette code inside CONFIG_PALETTE flag. · b100db7c
      Urvang Joshi authored
      This flag was already added to aomedia/master, so bringing it back to
      webm/nextgenv2, as part of an effort to get the two codebases in sync.
      
      Change-Id: I2b933a6a160e4210d1411a9e7978149eb8553205
      b100db7c
  5. 13 Oct, 2016 1 commit
    • Yue Chen's avatar
      Renamings for OBMC experiment · cb60b185
      Yue Chen authored
      To get ready for pulling AV1 to nextgenv2
      Replace the experimental flag by MOTION_VAR. Rename major variables.
      
      Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205
      cb60b185
  6. 11 Oct, 2016 1 commit
    • Debargha Mukherjee's avatar
      Refactor expand dry_run types to return coef rate · ceebb701
      Debargha Mukherjee authored
      Adds the functionality to return the rate cost due to
      coefficients without doing full search of all modes.
      This will be subsequently used in various experiments,
      including in new_quant experiment to search quantization
      profiles at the superblock level without repeating the
      full mode/partition search.
      
      Change-Id: I4aad3f3f0c8b8dfdea38f8f4f094a98283f47f08
      ceebb701
  7. 06 Oct, 2016 2 commits
    • Yi Luo's avatar
      Hybrid forward transforms 16x16 AVX2 optimization · e8e8cd8f
      Yi Luo authored
      - Unit tests are added for AVX2 SIMD.
      - Encoder speed improvement:
        AV1 baseline and EXT_TX, three 1080p sequences at bitrate:
        800 Kbps, 2 Mbps, 6 Mbps, on i7-6700 CPU, average
        user level time reduction: 3.86%.
      
      Change-Id: Ibbd7837ee3a831c6b1e4e471bf6c8d3fa3a19ff4
      e8e8cd8f
    • Debargha Mukherjee's avatar
      A bug fix for var-tx · 28d924b7
      Debargha Mukherjee authored
      Fixes a crash with supertx, ext-tx and rect-tx
      
      Change-Id: I6b5f4cfd6e209558541a791be685b55156aa0138
      28d924b7
  8. 04 Oct, 2016 2 commits
  9. 30 Sep, 2016 1 commit
  10. 29 Sep, 2016 2 commits
    • Yaowu Xu's avatar
      more ref_mv changes from aom/master · 4306b6e5
      Yaowu Xu authored
      Change-Id: I9152f898dfacdf3877ed719f193bb1e0dbee0a1a
      4306b6e5
    • Yue Chen's avatar
      Fix unit test failure for RECT_TX + VAR_TX · 49587a77
      Yue Chen authored
      Disable rect_tx because we only support 4x4 Walsh-Hadamard transform
      in lossless mode.
      
      Fixes failure in ./test_libaom --gtest_filter=*Large*ScreencastQ0/1
      Configuration: --enable-experimental --enable-var-tx --enable-rect-tx
       --enable-ref-mv --enable-ext_intra --enable-ext_tx --enable-debug
       --disable-optimizations
      
      Change-Id: Ib6b3494c7dcf7182f1cab9b138388d054851a23d
      49587a77
  11. 26 Sep, 2016 1 commit
  12. 15 Sep, 2016 1 commit
  13. 09 Sep, 2016 2 commits
    • Jingning Han's avatar
      Sort header files · 1aab8184
      Jingning Han authored
      cherry-picked #ecd07473 from aom/master
      
      Change-Id: Id8f45d9c11406fc301b39801c5228ccd6aa2d5d6
      1aab8184
    • James Zern's avatar
      s/INTERP_FILTER/InterpFilter/ · 7b9407a8
      James Zern authored
      this matches style guidelines and stabilizes successive runs of
      clang-format across the tree. remaining types should be address in
      successive commits.
      
      Change-Id: I6ad3f69cf0a22cb9a9b895b272195f891f71170f
      7b9407a8
  14. 08 Sep, 2016 2 commits
  15. 06 Sep, 2016 2 commits
  16. 05 Sep, 2016 1 commit
    • Debargha Mukherjee's avatar
      Enable rectangular transforms for UV · 2f12340f
      Debargha Mukherjee authored
      Uses an array to map block sizes, y tx sizes, and subsampling
      factors to various transform sizes for UV.
      
      Results improve by 0.1-0.2%
      
      Change-Id: Icb58fd96bc7c01a72cbf1332fe2be4d55a0feedc
      2f12340f
  17. 02 Sep, 2016 2 commits
    • Yaowu Xu's avatar
      Change to use AOM copyright notice · 2ab7ff05
      Yaowu Xu authored
      Change-Id: I2b2b70e756b7eb9611b7b33b7d5f19b3b30e0a50
      2ab7ff05
    • Sarah Parker's avatar
      Add global motion experiment to rdopt · e5299865
      Sarah Parker authored
      This patch completes the global motion experiment
      implementation. It modifies the format of the motion
      parameters to use the mv union to facilitate faster
      copying and checks for parameters equal to 0 that occur
      frequently in rdopt. The rd decisions for the global motion experiment
      have also been added to rdopt.
      Change-Id: Idfb9f0c6d23e538221763881099c5a2a3891f5a9
      e5299865
  18. 01 Sep, 2016 2 commits
  19. 31 Aug, 2016 1 commit
    • Zoe Liu's avatar
      Fix a bug in calculating the compound ref frame cost · 03a11f6c
      Zoe Liu authored
      The previous ext-refs experiment did not consider the cost of the 2nd
      reference frame on mode decision in the compound mode. With the fix,
      using Overall PSNR, compared to the previous ext-refs RD performance
      before the bug fix, all against the baseline, the improvements are:
      
      "ext-refs" before fix: lowres -5.665%  midres: -4.833%
      "ext-refs" after fix:  lowres -5.776%  midres: -5.000%
      Improvement by the fix: lowres -0.111%  midres: -0.167%
      
      Change-Id: I2eceedf2d4046b169514e049fd01baaf0bbb50c6
      03a11f6c
  20. 26 Aug, 2016 1 commit
    • Geza Lore's avatar
      Use rectangular transforms for >= 8x8 blocks · d21982c8
      Geza Lore authored
      For rectangular blocks between 8x8 and 32x32, we can now code the
      transform size as one bigger than the largest square that fits in
      the block (eg, for 16x8, we can code a transform size of 16x16
      rather than the previous maximum of 8x8), when this oversized
      transform is coded in the bitstream, the codec will use the full
      size rectangular transform for that block (eg 16x8 transform in
      the above example).
      
      Also fixes a scaling bug in 16x8/8x16 transforms.
      
      Change-Id: I62ce75f1b01c46fe2fbc727ce4abef695f4fcd43
      d21982c8
  21. 25 Aug, 2016 1 commit