1. 23 Jan, 2017 2 commits
    • Fangwen Fu's avatar
      enable explicit temp mv prediction signaling · 8d164de2
      Fangwen Fu authored
      Change-Id: Ieb2922c3df4ef4f8514b8a6df6f9a8fc45ef3cf4
      8d164de2
    • Yushin Cho's avatar
      Add a new experiment, DAALA_DIST · 7a428ba2
      Yushin Cho authored
      This commit adds a new experiment, Daala's distortion function,
      which is designed to better approximate perceptual distortion
      in 8x8 pixel blocks.
      
      This experiment is expected to work best with PVQ.
      
      It measures the variance of overlapped 4x4 regions in the 8x8 area,
      then uses these variances to scale the MSE of weighted frequency domain
      distortion of 8x8 block.
      
      Since AV1 calculates distortion in blocks as small as 4x4, it is not possible to
      directly replace the existing distortion functions of AV1,
      such as dist_block() and block_rd_txf().
      Hence, there has been substantial changes in order to apply
      Daala's 8x8 distortion function.
      The daala distortion function is applied
      after all 4x4 tx blocks in a 8x8 block are encoded (during RDO),
      as in below two cases:
      1) intra/inter sub8x8 predictions and
      2) 4x4 transform with prediction size >= 8.
      
      To enable this experiment, add '--enable-daala-dist' with configure.
      
      TODO: Significant tuning of parameters is required since the function has
      originally came from Daala thus most parameters would not work
      correctly outside Daala.
      The fact that chroma distortion is added to the distortion of AV1's RDO is
      also critical since Daala's distortion function is applied to luma only
      and chroma continues to use MSE.
      
      Change-Id: If35fdd3aec7efe401f351ba1c99891ad57a3d957
      7a428ba2
  2. 21 Jan, 2017 1 commit
    • Jingning Han's avatar
      Make adapt-scan support rectangular transform block sizes · 758b2ceb
      Jingning Han authored
      This commit enables the adaptive scan order system support
      rectangular trnasform block sizes. It resolves the coding failure
      when rect-tx or var-tx are enabled.
      
      BUG=aomedia:143
      
      Change-Id: Ic565284e811e3f7e0ebf2e08fb3748257ce8a049
      758b2ceb
  3. 20 Jan, 2017 2 commits
  4. 19 Jan, 2017 4 commits
  5. 18 Jan, 2017 3 commits
    • Yue Chen's avatar
      Add rd loop of NCOBMC · f27b1605
      Yue Chen authored
      At the final round of encoding of each superblock, will go through
      each prediction block to check if ncobmc mode is better than non-
      overlapped prediction. Note that causal obmc mode is dumped here.
      
      PSNR gain (MOTION_VAR + NCOBMC): -2.845% lowres
      
      Change-Id: Ibe504f7f1882446a08ba426e1e9824bca73bf655
      f27b1605
    • Urvang Joshi's avatar
      Enable rectangular transforms for Intra also. · feb925fe
      Urvang Joshi authored
      These are under EXT_TX + RECT_TX experiment combo.
      
      Results
      =======
      
      Derf Set:
      --------
      All Intra frames: 1.8% avg improvement (and 1.78% BD-rate improvement)
      Video: 0.230% avg improvement (and 0.262% BD-rate improvement)
      
      Objective-1-fast set
      --------------------
      Video: 0.52 PSNR improvement
      
      Change-Id: I1893465929858e38419f327752dc61c19b96b997
      feb925fe
    • Alex Converse's avatar
      Add unpoison_partition_ctx experiment · 55c6bdeb
      Alex Converse authored
      At the edges of the picture only a subset of partitions are legal. Add
      new contexts for these borders so they don't distort the probabilities of
      the interior of the image where all partitions are legal.
      
      Only include one context for each block size of each border direction
      because so few blocks fall into these contexts to begin with.
      
      objective-1-fast:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0294 | -0.0911 | -0.2382 |  -0.0481 | -0.0441 | -0.0450 |    -0.0454
      
      derf144: -0.135
      lowres: -0.124
      midres: -0.076
      hdres: -0.078
      
      Change-Id: I909b98eebb7e49273cde90154c8408febe334158
      55c6bdeb
  6. 13 Jan, 2017 1 commit
    • Yue Chen's avatar
      Separate mbmi coding and coeff coding+recon at sb level in NCOBMC · 9ab6d71f
      Yue Chen authored
      In order to use mvs from a future block in obmc, we first send mbmi
      info for the entire superblock, and then call another recursion to
      handle the coeffs and recon.
      
      Note: this change is currently not compatible with SUPERTX, later I
      will move detoken and recon for supertx to a proper place
      
      Change-Id: I19ab77fa137f53a370e68ea777f70d0306e3e303
      9ab6d71f
  7. 12 Jan, 2017 1 commit
    • Yue Chen's avatar
      Refactor write_modes_b() and decode_block() · 64550b6a
      Yue Chen authored
      In order to reduce the code complexity for handling parameter
      coding and recon separately for each 64x64 in non-causal obmc
      experiment, we break them down to two steps calling separate
      functions, one for params, the other dealing with coefficients
      and recon(decoder side).
      Note: actually the non-causal prediction can use the original
      syntax, but right now in the decoder coeff detoken and recon are
      heavily nested.
      
      Change-Id: I72d9c42ab8f38b57850d6b0481551893f1702822
      64550b6a
  8. 11 Jan, 2017 1 commit
  9. 10 Jan, 2017 1 commit
    • Nathan E. Egge's avatar
      Use aom_reader with od_decode_cdf_adapt(). · f25bae44
      Nathan E. Egge authored
      Change the od_decode_cdf_adapt() function to take an aom_reader
       struct instead of an od_ec_dec struct.
      Rename od_decode_cdf_adapt() to aom_decode_cdf_adapt().
      
      Change-Id: I0713d2f56acfea3f67f1b4087c0feee77c2e25cb
      f25bae44
  10. 09 Jan, 2017 2 commits
  11. 06 Jan, 2017 2 commits
    • Jingning Han's avatar
      Refactor var-tx pipeline to support cb4x4 mode · 9ca05b7e
      Jingning Han authored
      Replace hard coded 4x4 transform block step size assumption with
      scalable table access.
      
      Change-Id: Ib1cc555c2641e5634acdd91ca33217f00aeb0b89
      9ca05b7e
    • Debargha Mukherjee's avatar
      Add UV wiener loop restoration · a43a2d98
      Debargha Mukherjee authored
      Enables Wiener based loop restoration only for the UV
      frames. The selfguided and domaintranform filters do not
      work very well for UV components, hence they are disabled.
      For each UV frame a single set of wiener parameters are
      sent. They are applied tile-wise, but all tiles use the
      same parameters.
      
      BDRATE (Global PSNR) results:
      -----------------------------
      lowres: -1.266% (up from -0.666%, good improvement)
      midres: -1.815% (up from -1.792%, tiny improvement)
      
      Tiling on UV components will be explored subsequently.
      
      Change-Id: Ib5be93121c4e88e05edf3c36c46488df3cfcd1e2
      a43a2d98
  12. 05 Jan, 2017 3 commits
  13. 04 Jan, 2017 3 commits
    • Angie Chiang's avatar
      Remove fwd_txfm_opt · 2cc057cf
      Angie Chiang authored
      This CL aims at simplify transform code.
      
      Change-Id: Ibaf1dd8607e37d44a0f77788a72e344583f81fa0
      2cc057cf
    • Angie Chiang's avatar
      Remove speed feature use_lp32x32fdct · 8fd2d7aa
      Angie Chiang authored
      Change-Id: I6ce654b582f2a9d45a40bf22ba597b47d418a0be
      8fd2d7aa
    • Ryan Lei's avatar
      Add an experiment to disable lpf on tile boundaries · 7386eda0
      Ryan Lei authored
      This commit adds a new experiment to allow disabling of loop filtering
      on tile boundaries. It is implemented by adding a syntax field
      "loopfilter_across_tiles_enabled" into the uncompressed frame header. 
      If it is set to 0, decoder and encoder will disables loop filtering for
      block edges that are also tile boundaries.
      
      Change-Id: Ib80bfd82d49c74f1ba46ae18ceedb30704ac8aa5
      7386eda0
  14. 03 Jan, 2017 1 commit
  15. 28 Dec, 2016 5 commits
    • Jingning Han's avatar
      Support sub8x8 chroma component prediction · 9e0976a4
      Jingning Han authored
      This commit allows the sub8x8 blocks to compose and filter their
      chroma components for supertx in cb4x4 mode. The coding gains of
      supertx and cb4x4 are largely additive:
      
                supertx      cb4x4       cb4x4 + supertx
      lowres     -1.0%       -2.7%        -3.64%
      midres     -0.8%       -1.3%        -2.10%
      
      Change-Id: Ie7d09f6fceb36ce375e56773728f05dd628786fe
      9e0976a4
    • Jingning Han's avatar
      Rework spatial filter process in supertx · 24f24a54
      Jingning Han authored
      This makes the cb4x4 mode support supertx experiment. It resolves
      the enc/dec mismatch issue when both experiments are turned on.
      
      Change-Id: If3f70fb26862b4ea95d73f7030f86a399051e21e
      24f24a54
    • Jingning Han's avatar
      Refactor supertx decoding context · 2511c661
      Jingning Han authored
      Use table access to replace integer to enum conversion.
      
      Change-Id: Idb3e7e2e3267bccf322cffbe4bfaa969e9018296
      2511c661
    • Jingning Han's avatar
      Make cb4x4 mode support supertx · feb517c8
      Jingning Han authored
      This commit makes the cb4x4 mode support supertx operation.
      
      Change-Id: I1a713b2268c1029aebeb43aa6aeb0fa37b16810f
      feb517c8
    • Jingning Han's avatar
      Clean up supertx functions · 5b7706a7
      Jingning Han authored
      Avoid comparing values from different enums.
      
      Change-Id: I405f87942a64e86bda899b84a142c4d64414dd81
      5b7706a7
  16. 27 Dec, 2016 1 commit
  17. 23 Dec, 2016 1 commit
  18. 21 Dec, 2016 2 commits
  19. 19 Dec, 2016 1 commit
  20. 17 Dec, 2016 1 commit
  21. 16 Dec, 2016 2 commits