1. 03 Jul, 2017 2 commits
    • Luc Trudeau's avatar
      [CFL] Adjust Pixel Buffer for Chroma Sub8x8 · 780d249d
      Luc Trudeau authored
      Adjust row and col offset for sub8x8 blocks to allow the CfL prediction
      to use all available reconstructed luma pixels.
      
      Results on Subset 1 (Compared to b03c2f44 with CfL)
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.1355 | -0.8517 | -0.4481 |  -0.0579 | -0.0237 | -0.0203 |    -0.2765
      
      Change-Id: Ia91f0a078f0ff4f28bb2d272b096f579e0d04dac
      780d249d
    • Guillaume Martres's avatar
      Remove Unused UPDATE_RD_COST macro · 858e2388
      Guillaume Martres authored
      It stopped being used after 09302f5a
      
      Change-Id: Ie7d567c787a4120f8b73378b3a82267249a82e3d
      858e2388
  2. 29 Jun, 2017 1 commit
    • Luc Trudeau's avatar
      [CFL] Better encapsulation · 3dc55e0f
      Luc Trudeau authored
      The function cfl_compute_parameters is added and contains the logic
      related to building the CfL context parameters. As such, many cfl
      functions can now be encapsulated inside of cfl.c and not exposed to the
      rest of AV1.
      
      This also allows for supplemental asserts that validate that the CfL
      context is properly built.
      
      Results on Subset1 (compared to 9c6f8547 with CfL)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: I6d14a426416b3af5491bdc145db7281b5e988cae
      3dc55e0f
  3. 28 Jun, 2017 2 commits
  4. 27 Jun, 2017 1 commit
    • Luc Trudeau's avatar
      [CFL] Sum Alpha Distortion Over Transform Block · 8fb4c9e7
      Luc Trudeau authored
      This change does not impact the bitstream, it changes how to distortion
      is summed when evaluating alpha. The sum is still taken over the entire
      partition. However, instead of iterating over the entire surface all at
      once, CfL now iterates over each transform block. This is in light of
      future work to compute alpha over transform blocks and not prediction
      blocks.
      
      Results on Subset1 (compared to 9c6f8547 with CfL)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0000 |  0.0000 |  0.0000 |   0.0000 | 0.0000 |  0.0000 |     0.0000
      
      Change-Id: Ic7b72201d29ad6b2527748e35b212bec515e3bdb
      8fb4c9e7
  5. 24 Jun, 2017 1 commit
    • Angie Chiang's avatar
      Pass mbmi into get_scan() · bd99b38c
      Angie Chiang authored
      This is to facilitate future experiment related to adapt_scan
      
      Change-Id: I51628f3df81bd82db7f8f553d13da0ee5792d7d9
      bd99b38c
  6. 21 Jun, 2017 1 commit
    • Timothy B. Terriberry's avatar
      cb4x4: Move sub-4X4 block sizes behind chroma flags. · 81ec2619
      Timothy B. Terriberry authored
      cb4x4 itself should not require these sizes.
      
      This simplifies compatibility with other experiments, since we can
      first make them work with cb4x4 (which is now on by default), and
      then worry about chroma_sub8x8 and chroma_2x2 (which is not) in
      separate steps.
      
      Encoder and decoder output should remain unchanged.
      
      Change-Id: Iff2a5494cab3b7d96f881e8bd9cd4bf18c817cfa
      81ec2619
  7. 20 Jun, 2017 1 commit
  8. 19 Jun, 2017 1 commit
    • Luc Trudeau's avatar
      [CFL] Compute Luma Average Over Partition Unit · 3e18e4ae
      Luc Trudeau authored
      Extract the compution of the luma reconstructed average out of cfl_load
      and into cfl_compute_average. The reconstructed luma average is stored
      in the CFL_CONTEXT to avoid computing it for each transform block and
      for each plane.
      
      Results on subset1 (compared to 803bea26 with CfL)
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0474 | -0.1486 | -0.2931 |  -0.0358 | -0.0397 | -0.0127 |    -0.1162
      
      Change-Id: I9e34af0fe5961ce8dbe70cb80aea2a16221d0d92
      3e18e4ae
  9. 15 Jun, 2017 2 commits
    • Urvang Joshi's avatar
      Remove 'rddiv' member from various structs. · 70006e46
      Urvang Joshi authored
      This was initialized from a const and never modified. But was still
      passed around and stored in multiple structs.
      
      Removed these 'rddiv' member variables and now RDOPT() and RDOPT_DBL()
      always use the const RDDIV_BITS directly.
      
      Change-Id: I1a8dfd2c8fa857d466ad1207b4f0dd6ec07eafb8
      70006e46
    • Urvang Joshi's avatar
      optimize_b_greedy: Avoid left shift of negative value. · 6eb35eb4
      Urvang Joshi authored
      Before:
      -------
      accu_error was always <= 0:
      - It was initialized to zero, and
      - Became more and more negative through the iterations.
      
      This meant that RDOPT() macro usage on accu_error was causing left shift
      of negative value.
      
      Now:
      ----
      - accu_error is initialized to a large positive value.
      - It becomes smaller on every iteration but remains >= always.
      
      This is functionally equivalent: verified that there's no change in
      output due to this patch.
      
      BUG=aomedia:600
      
      Change-Id: I654572a72234c588c8f332d5b66a5587fc6610b4
      6eb35eb4
  10. 14 Jun, 2017 4 commits
    • Jingning Han's avatar
      Integrate level-map with var-tx · aba246dc
      Jingning Han authored
      Make the level-map and var-tx work together.
      
      Change-Id: I5ff80a3cbc43af64b504934209720f387b89dbd8
      aba246dc
    • Jingning Han's avatar
      Rework get_eob_ctx to support rectangular tx_size · 4cbb3637
      Jingning Han authored
      Explicilty use the transform block size to determine the coeff
      band array. Remove the assumption on square transform block size.
      
      Change-Id: I18e285130465a5eced49304a27a6cb617e297760
      4cbb3637
    • Jingning Han's avatar
      Support rectangular tx_size in level map coding · 48be0e19
      Jingning Han authored
      Map the rectangular transform block size into the bigger square
      transform block size as the context for level map probability
      model.
      
      Change-Id: I20cf2b16daec16172855a78a201b670ff0547bf5
      48be0e19
    • Luc Trudeau's avatar
      [CFL] Fix always use partition size to compute DC_PRED · 803bea26
      Luc Trudeau authored
      plane_bsize is now computed properly. This also includes support for the
      special case of blocks < 4X4
      
      Results on subset1 (compared to 8e689e4b with CfL)
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0218 | -0.2328 | -0.2555 |  -0.0230 | -0.0379 | -0.0723 |    -0.1205
      
      Change-Id: I6ec87d818d8df6a40ecf3bb1b86954e59c952930
      803bea26
  11. 13 Jun, 2017 2 commits
  12. 11 Jun, 2017 1 commit
    • Jingning Han's avatar
      Avoid right shift negative numbers · 32d26bc0
      Jingning Han authored
      This avoids the rounding errors due to the right shift of the
      negative numbers that cause the reconstruction coefficient has
      higher distortion than the source coefficient.
      
      BUG=aomedia:599
      
      Change-Id: I11ed86bf1d41164dda4398545334a7b4e8e10513
      32d26bc0
  13. 09 Jun, 2017 1 commit
    • Urvang Joshi's avatar
      Enable greedy version of av1_optimize_b(). · 09302f5a
      Urvang Joshi authored
      This has been found to be better than the original version in both ways:
      (1) Better compression: lowres -0.229, midres -0.147
      (2) Faster too in my quick test over 5 different clips with 30
      frames: 2.7% to 10.5% faster.
      
      Change-Id: I4d46e0915d6e4b8e7bfc03d0c8b88cbe3351ca20
      09302f5a
  14. 08 Jun, 2017 1 commit
    • Sarah Parker's avatar
      Remove deprecated high-bitdepth functions · 31c66502
      Sarah Parker authored
      This unifies the codepath for high-bitdepth transforms and deletes
      all calls to the old deprecated versions. This required reworking
      the way 1d configurations are combined in order to support rectangular
      transforms.
      
      There is one remaining codepath that calls the deprecated 4x4 hbd
      transform from encoder/encodemb.c. I need to take a closer look
      at what is happening there and will leave that for a followup
      since this change has already gotten so large.
      
      lowres 10 bit: -0.035%
      lowres 12 bit: 0.021%
      
      BUG=aomedia:524
      
      Change-Id: I34cdeaed2461ed7942364147cef10d7d21e3779c
      31c66502
  15. 02 Jun, 2017 2 commits
    • Angie Chiang's avatar
      Use av1_optimize_txb for lv_map experiment · 1c96e82c
      Angie Chiang authored
      Comparing to lv_map experiment using the old av1_optimize_b
      function, This change gives 0.8% gain on lowres and midres
      datasets
      
      Comparing to the baseline with greedy optimize_b, the lv_map
      experiment will have 1.2% on lowres and 1.49% on midres.
      The gains are similar to the one that under the condition of
      turning off av1_optimize_b for baseline and lv_map.
      
      Change-Id: Ie17c4ecbd9ed8418ef657a526d8363e0746b5af5
      1c96e82c
    • Angie Chiang's avatar
      Pass above/left ctx plane_bsize to av1_optimize_b · 3511c37d
      Angie Chiang authored
      This is to facilitate lv_map experiment
      
      Change-Id: Ife779b172c4b81a9b2b4640464163300996e3969
      3511c37d
  16. 25 May, 2017 3 commits
    • Nathan E. Egge's avatar
      Remove the DAALA_EC experiment. · 476c63c1
      Nathan E. Egge authored
      This patch forces DAALA_EC on by default and removes the dkbool coder.
      
      Change-Id: Icd2ff08efd7bf467adf554344111473cb357adf8
      476c63c1
    • David Barker's avatar
      Fix bug in av1_optimize_b when tx64x64 is enabled · c747a78e
      David Barker authored
      In both versions of av1_optimize_b, the code to calculate the
      dequantized coefficient from a modified quantized coefficient
      was not compatible with tx64x64.
      
      Specifically, the new dequantized coefficient was calculated as an
      offset applied to the original coefficient. This had a fixup block
      for 32x32 transforms, but not for 64x64 transforms.
      
      For simplicity, instead of extending the fixup block, we now
      recalculate the dequantized coefficient directly.
      
      BUG=aomedia:537
      
      Change-Id: I86c1c8820f324ad3f6afd6a720ff59f754384a19
      c747a78e
    • Alex Converse's avatar
      var_tx+intrabc: Fix infinite recursion · e16b2665
      Alex Converse authored
      Change-Id: Ibbf0c14934d0bff316cfdf5c252c64b3e68c73e7
      e16b2665
  17. 24 May, 2017 1 commit
  18. 20 May, 2017 2 commits
    • hui su's avatar
      DPCM intra coding experiment · b8a6fd6b
      hui su authored
      Encode a block line by line, horizontally or vertically. In the vertical
      mode, each row is predicted by the reconsturcted row above;
      in the horizontal mode, each column is predicted by the reconstructed
      column to the left.
      
      The DPCM modes are enabled automatically for blocks with horizontal or
      vertical prediction mode, and 1D transform types (ext-tx).
      
      Change-Id: I133ab6b537fa24a6e314ee1ef1d2fe9bd9d56c13
      b8a6fd6b
    • Nathan E. Egge's avatar
      Replace EC_MULTISYMBOL with DAALA_EC || ANS. · cd539518
      Nathan E. Egge authored
      Change-Id: Ia0eb3a3694fdbe9d33548ff4014b704b2f3db86a
      cd539518
  19. 18 May, 2017 2 commits
  20. 16 May, 2017 1 commit
  21. 12 May, 2017 1 commit
  22. 11 May, 2017 1 commit
  23. 10 May, 2017 1 commit
    • Luc Trudeau's avatar
      [CFL] use CDF_SIZE macro · e21c0811
      Luc Trudeau authored
      EC_ADAPT stores the count at the last position. As such, the CDF_SIZE
      macro adds 1 to the array size. This resolves valgrind warnings about
      jumps on uninitialized variables.
      
      Change-Id: I58d607a57756cb166a9ae5c4565537ce202183fd
      e21c0811
  24. 09 May, 2017 1 commit
  25. 08 May, 2017 2 commits
    • Luc Trudeau's avatar
      [CFL] Change cfl_load to use width and height · 30596fb2
      Luc Trudeau authored
      Since the size used with cfl_load can either be based on the transform
      block size and the prediction block size, width and height are used as
      parameters instead of TX_SIZE.
      
      This resolves a problem where cfl_compute_alpha_ind was reading
      uninitialized memory.
      
      Change-Id: I187dbdd5b2e8bd85e82bb77eb74859bee2cd3f1e
      30596fb2
    • Angie Chiang's avatar
      Change plane_rd_mult inter uv param from 5 to 6 · ebcdb25e
      Angie Chiang authored
      This will improve the lowres performance by 0.1%
      No significant change on midres and hdres
      
      Change-Id: I0c6e69bf48596e7e5ad49631ed9f9be73bbf3c9a
      ebcdb25e
  26. 06 May, 2017 1 commit
  27. 05 May, 2017 1 commit
    • Yaowu Xu's avatar
      Change to use correct type for token_cost · 42350322
      Yaowu Xu authored
      The conversion of return value to int64_t appears to be unnecessary.
      
      fixes a number of type conversion warnings for MSVC2015
      
      Change-Id: Ibca24468e73bf22ad07c469ce5d1223635390ecb
      42350322