1. 25 Aug, 2017 3 commits
    • David Barker's avatar
      Fix tile boundary calculation · 5c06a646
      David Barker authored
      Fix a rare case in which the tile boundary information was not
      set up properly in the decoder when using LOOPFILTERING_ACROSS_TILES
      
      The situation was:
      * One frame uses loop filtering across tiles. Then its tile
        boundary information is not needed, so is not calculated.
      * The next frame (in decode order) has the same size and the
        same tile layout, but doesn't use loop filtering across tiles.
      * Now the tile boundary information *is* needed, but we weren't
        recalculating it. This resulted in the loop filter being
        applied across tile boundaries even though we signalled not to.
      
      Since the conditions on when we can reuse the previous frame's
      boundary information are complex, and the overhead of calculating
      the tile boundaries is low, we avoid this issue by simply
      recalculating the boundary information each frame.
      
      Change-Id: I1f3cbb0537535bf38faaed4c21c07142e747f962
      5c06a646
    • Tom Finegan's avatar
      Silence misleading indentation warning. · eac51a94
      Tom Finegan authored
      third_party/fastfeat/fast_9.c: In function ‘fast9_score’:
      ‘for’ clause does not guard... [-Wmisleading-indentation]
           for(n=0; n < num_corners; n++)
           ^~~
      third_party/fastfeat/fast_9.c:2972:2: note: ...this statement, but the
      latter is misleadingly indented as if it is guarded by the ‘for’
        return scores;
        ^~~~~~
      
      Change-Id: Ie35cedd8a647a699c97066b930efd261d6906162
      eac51a94
    • Tom Finegan's avatar
      Silence unused function warning in subtract_test.cc. · b8dcfc5a
      Tom Finegan authored
      Change-Id: I65f2f5d797ac11a0e270ac44146bba78b2e8e569
      b8dcfc5a
  2. 24 Aug, 2017 6 commits
    • Todd Nguyen's avatar
      Turn off bgsprite depending on firstpass metrics. · 71efd848
      Todd Nguyen authored
      Changes:
      - Add block size define.
      - Set default to mean filtering.
      - Add flag in AV1_COMP for bgsprite.
      - Determine to use bgsprite or not based on firstpass metrics in
      define_gf_group.
      - Add outlier removal for bgsprite mean blending (off by default)
      
      Results:
      lowres: -0.009 avg_psnr, -0.029 ovr_psnr, -0.102 ssim
      
      Clips with maximum gain:
      - brdige_far_cif: -2.071 avg_psnr, -2.409 ovr_psnr, -1.977 ssim
      - deadline_cif: -0.148 avg_psnr, -0.137 ovr_psnr, -0.113 ssim
      - brdige_close_cif: +1.741 avg_psnr, -0.258 ovr_psnr, -2.534 ssim
      
      Change-Id: I809406020f7786e49cc80329511e22d25379d7a2
      71efd848
    • Yue Chen's avatar
      Update cdf and mode rate per superblock in RDO · b855b8e8
      Yue Chen authored
      Update cdf after each superblock being finalized, and re-compute
      symbol costs. Affected symbols include prediction parameters,
      tx type, and new motion vector.
      BDRate: -0.121% lowres, -0.089% midres
      
      Change-Id: I005ef382762d6e3423f933cca0a0b7b40288e8bf
      b855b8e8
    • Zoe Liu's avatar
      Fix a compiling warning on ext-comp-refs · ec50d6ba
      Zoe Liu authored
      Change-Id: I3259fbec7167e311f0bd12e309a227d9643bc86f
      ec50d6ba
    • Urvang Joshi's avatar
      get_sqr_tx_size(): fix for tx64x64 · dd3206fc
      Urvang Joshi authored
      When 64x64 transforms are enabled, it should return TX_64x64.
      
      Midres set:
      Small PSNR improvement overall (-0.061%),
      But 3 clips have large gains (-1.0% to -0.4% range)
      
      Change-Id: Ic2a1f0213449f81213219479c6b6aa0acfaac2e7
      dd3206fc
    • Rupert Swarbrick's avatar
      Correct apparent typo in fix for bug 693 · 17a61d4e
      Rupert Swarbrick authored
      Patch 323d535d fixes the reported bug but doesn't correctly read a
      global transformation of type TRANSLATION or AFFINE. Fortunately,
      clang gives a warning about the ignored expression.
      
      Change-Id: I1127d5d5b809bf016872a3ba97903599869d5357
      17a61d4e
    • Zoe Liu's avatar
      Add encoder support for ext-comp-refs + altref2 · ac889707
      Zoe Liu authored
      Change-Id: I9d26f288657a15e3d0ec4c5a11e80aecc1a829ad
      ac889707
  3. 23 Aug, 2017 11 commits
  4. 22 Aug, 2017 18 commits
    • Sarah Parker's avatar
      Refactor palette functions to write a general color map · 0cf4d9f1
      Sarah Parker authored
      This will allow the mrc-tx experiment to pass in its own color map
      and set of probabilities to the tokenize and bit packing functions.
      The corresponding change on the decoder side will come in a followup
      shortly.
      
      No change in performance.
      
      Change-Id: I1872b7f1b1cf5b102e6289388ce1ae449e67cb4d
      0cf4d9f1
    • Rupert Swarbrick's avatar
      Refactor iteration over neighbours for OBMC · c0cea7f3
      Rupert Swarbrick authored
      There are six pieces of code in reconinter.c and two in rdopt.c which
      iterate over the blocks along the top or left edge of the current
      block for OBMC. Before this patch, each bit of code has its own
      implementation of the iteration, which is reasonably finicky to get
      right.
      
      This patch factors out that logic into a pair of helpers
      (foreach_overlappable_nb_above and foreach_overlappable_nb_left). The
      functions take a "fun" parameter, which contains the loop body. Note
      that the iteration is too complicated for us to be able to define a
      macro that could be used like
      
        FOREACH_NB_ABOVE(rel_pos, nb_size, nb_mi) { ... }
      
      While C's syntax doesn't seem to let you do that, once the compiler's
      optimisation pass is done inlining everything, the results are
      essentially the same.
      
      The iteration logic is also slightly generalised: the old code checked
      whether a block was shorter or narrower than 8 pixels by comparing a
      block size with BLOCK_8X8. This doesn't work when you have a 4x16 or
      16x4 block because e.g. BLOCK_16X4 is not less than BLOCK_8X8. This
      generalisation is (unsurprisingly) needed in order to to support 16x4
      or 4x16 blocks.
      
      This patch doesn't address the CONFIG_NCOBMC functions in reconinter.c
      that do prediction from right and bottom edges.
      
      This patch shouldn't affect the generated bitstream in any way: the
      code is supposed to be equivalent.
      
      Change-Id: I9e5a116b012c18645604a7d98fb98be99697d363
      c0cea7f3
    • Sebastien Alaiwan's avatar
      av1_txfm_test.cc: factorize 'dct_matrix' · bdb7e9cd
      Sebastien Alaiwan authored
      Make it explicit that:
      - forward tx is using the matrix
      - inverse tx is using the transposed matrix
      
      Change-Id: Ia9507f4f68397b07b6fd1868bb421bb9d5dd817d
      bdb7e9cd
    • David Barker's avatar
      Fix ASan errors in SSE4.1 selfguided filter tests · 67a5e148
      David Barker authored
      The selfguided filter code was sometimes fetching 8 bytes of data
      when it only needed 4. This was normally fine, but lead to problems
      in the selfguided filter test when compiling for x86-32, where we
      accidentally read off the end of the input buffer.
      
      Fix this by only reading the amount of data we actually need.
      
      BUG=aomedia:700
      
      Change-Id: I2448b7b0d9cb2f9292a092675a66da64c89f913c
      67a5e148
    • Yaowu Xu's avatar
      Revert "Prevent access of array using -1 index" · 03dc6799
      Yaowu Xu authored
      This reverts commit 38cdce8e.
      
      Reason for revert: <INSERT REASONING HERE>
      
      It is reported that this introduced a segment fault, revert now to investigate. 
      
      Change-Id: I229dcdc09462ae4eb9cf2a3da4ce59aa9eafe65e
      03dc6799
    • Cheng Chen's avatar
      Silence warnings when warped_motion is disabled · 811bba79
      Cheng Chen authored
      Change-Id: I5da893be07b3b9aa4351b5bb1af987f4992370ef
      811bba79
    • Sebastien Alaiwan's avatar
      idct.c: fix left shift of negative value · 77323261
      Sebastien Alaiwan authored
      This is undefined behaviour in C and might confuse the optimizer, leading to incorrect code.
      
      Change-Id: Ia4bb60478068da678f013bdd6ab6a49814d89ebe
      77323261
    • Debargha Mukherjee's avatar
      Change 4-tap filter to be smoother · 6ec3d6e4
      Debargha Mukherjee authored
      Improves reconstruction performance.
      
      Change-Id: Ia30a345e1f5d4e450138c1dd3a7b700119c7de31
      6ec3d6e4
    • Lester Lu's avatar
      Refactor lgt · 918fe698
      Lester Lu authored
      Change get_lgt in order to integrate a later experiment
      lgt_from_pred with lgt. There are two main changes.
      
      The main purpose for this change is to unify get_fwd_lgt and
      get_inv_lgt functions into a get_lgt function so the lgt basis
      functions can always be selected through the same function in
      both forward and inverse transform paths. The structure of those
      functions will also be consistent with the get_lgt_from_pred
      functions that will be added in the lgt-from-pred experiment.
      
      These changes have no impact on the bitstream.
      
      Change-Id: Ifd3dfc1a9e1a250495830ddbf42c201e80aa913e
      918fe698
    • Jingning Han's avatar
      Account for cdf model update in lv-map coding · 8f661605
      Jingning Han authored
      Make the lv-map rate-distortion optimization account for the
      per symbol cdf update. This improves the level map coding
      performance by 0.4%.
      
      Change-Id: I1cbecafbad4e6642abc3782c9741636d92d87eb7
      8f661605
    • Jingning Han's avatar
      Add jnt_comp experimental flag · dca9818c
      Jingning Han authored
      Change-Id: Icdce2ac2203bacdcbbbf17d1fc3308dc1ed15974
      dca9818c
    • Jingning Han's avatar
      Add mfmv experiment flag · c4fcd626
      Jingning Han authored
      Change-Id: Ife4e7e4f62b217fd55db1ec3ef69c243f1651777
      c4fcd626
    • Jingning Han's avatar
      Support per symbol cdf update in lv-map encoding · 24b0cf96
      Jingning Han authored
      Allow per symbol cdf probability model update in the lv-map
      encoding process.
      
      Change-Id: Id0c4a659c04ffa981d8f04537eda2f1304d1682a
      24b0cf96
    • Jingning Han's avatar
      Make lv-map decoding support per symbol cdf update · bb72cafa
      Jingning Han authored
      Support the per symbol cdf update at the level map syntax element
      decoding process.
      
      Change-Id: Id58bf86fb1c7c72dd14ddaa3781caaa27f446ef7
      bb72cafa
    • Jingning Han's avatar
      Initialize lv-map syntax probability model · fdaa55ed
      Jingning Han authored
      Initialize the cdf model for level map syntax elements.
      
      Change-Id: I3865e07c126eb4c856803c12485b05782dea6526
      fdaa55ed
    • Debargha Mukherjee's avatar
      Simple upscaler w/ frame superres + loop-rest · 3897e2df
      Debargha Mukherjee authored
      When frame-superres is used with loop-restoration use a 4-tap
      upscaler to reduce complexity.
      
      Change-Id: Idf5712b9a006763c4000e264176b04aa8331b12f
      3897e2df
    • James Zern's avatar
      rdopt: make ADST_FLIP_SVM array static · 67932797
      James Zern authored
      Change-Id: Iec280ba1e314849ac027085f61e62a48dd224be4
      67932797
    • Debargha Mukherjee's avatar
      Adds the option to use 5x5 Wiener for chroma · 1cb757cb
      Debargha Mukherjee authored
      Change-Id: I1b789acc18f1e69fb5db069ccd8bd17815938e9d
      1cb757cb
  5. 21 Aug, 2017 2 commits