1. 07 Jul, 2017 6 commits
    • Nathan E. Egge's avatar
      Add VAR_TX_NO_TX_MODE experiment. · a33304f0
      Nathan E. Egge authored
      This experiment removes the tx_mode flag from the uncompressed frame
       header and instead always uses a constant value.
      
      objective-1-fast:
      
      master@2017-06-29T00:51:22.142Z -> no_tx_mode@2017-06-29T01:09:32.392Z
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0103 |  0.0183 | -0.0076 |  -0.0103 | -0.0052 | -0.0208 |     0.0004
      
      Change-Id: I9d49c4d99ed102e52c86e339f20623063886f49d
      a33304f0
    • Lester Lu's avatar
      Signature changes for the LGT experiment · d8b1ddce
      Lester Lu authored
      The input arguments of av1_fht* and av1_iht* functions (and their
      HBD versions) are slightly changed. Input arguments tx_type and
      bd are carried by a struct fwd_txfm_param/inv_txfm_param. This
      struct is meant to later on carry other prediction information,
      such as intra top/left boundaries to the transform level, so
      that the choice of transforms can be more adaptive to the
      prediction mode and local video content.
      
      Change-Id: Ia42544248a51845be64b72855b642ef1fe5910a9
      d8b1ddce
    • Thomas Davies's avatar
      NEW_MULTISYMBOL: adapt remaining INTERINTRA syntax elements. · cff9171e
      Thomas Davies authored
      AWCY, objective-1-fast, High Latency :
      -0.14% all metrics with NEW_MULTISYMBOL on (reference
          with NEW_MULTISYMBOL off).
      
      Change-Id: I7cb3d05977d5e424fd38a40ab558c87c5d811f14
      cff9171e
    • Thomas Davies's avatar
      INTERINTRA : adapt interintra_mode as cdf. · 299ff04f
      Thomas Davies authored
      Use CDFs to code intrainter_mode instead of deprecated
      tree coding.
      
      AWCY, objective-1-fast, High Latency :
      -0.02% all metrics, standard configuration
      
      Change-Id: I839eec7cae9783e28d2018511989b7b56dc948a5
      299ff04f
    • Thomas Davies's avatar
      Adapt the compound_type syntax element. · d8dac22f
      Thomas Davies authored
      This syntax element was encoded using legacy tree encoding, and is
      used in the compound_segment and wedge experiments.
      
      AWCY: -0.01% all metrics (objective-1-fast, High Latency)
      
      Change-Id: I3771ed27e13dd74841c615bec4c2918d39b76093
      d8dac22f
    • Sebastien Alaiwan's avatar
      Encode superframes in front · e4c6fc18
      Sebastien Alaiwan authored
      This moves the superframe index at the beginning of the frame packet.
      There's no change in the superframe index format, and it's still
      optional.
      
      BUG=aomedia:22
      
      Change-Id: I1488429bd114c220ed110be34baee19191ff730e
      e4c6fc18
  2. 06 Jul, 2017 17 commits
    • Kyle Siefring's avatar
      Remove the token state array from optimize_b_greedy. · 627e2fd5
      Kyle Siefring authored
      The token state array was carried over from the old optimize_b.
      With hbd and 64x64 transforms on the array uses 128KB. While the array
      could be changed to only store tokens, this commit opts to remove
      it entirely.
      
      Improves performance on difficult clips at q20 by roughly 2% with
      high-bitdepth enabled. Actual speedup should be higher.
      
      This change has no impact on metrics.
      
      Change-Id: Ib9924092dee30b0f0abcc7850e8bb52d3e891e31
      627e2fd5
    • Wei-Ting Lin's avatar
      [ncobmc]: Supporting var-tx · ba5f1876
      Wei-Ting Lin authored
      Fix the bug in computing rd and reselecting transform
      for ncobmc.
      
      Change-Id: If8d0e311b9ace3fe221d2358a426265063549734
      ba5f1876
    • Wei-Ting Lin's avatar
      Fix compiling bug for ext-inter cdf coding · 99eaa0eb
      Wei-Ting Lin authored
      Change-Id: I1ddc3386d5ed78a8595abfb2fd73d634bc5de03a
      99eaa0eb
    • hui su's avatar
      Re-order intra modes during RD search · 8a516a8f
      hui su authored
      Prioritize modes that are more likely to be picked. Impact on
      compression is neutral. Keyframe encoding speed increases by about 5%.
      
      Change-Id: I57f7481a42b833203e4cfb84806fe755ec37d615
      8a516a8f
    • Luc Trudeau's avatar
      [CFL] Fewer bits for fixed point · 475fc9df
      Luc Trudeau authored
      Since alpha is Q3, we reduce y_average from Q10 to Q3. As such, the
      prediction is reduced from Q13 to Q6. Chroma dc_pred is reduced from Q7
      to Q6 in order to match with the prediction.
      
      Results on Subset1 (compared to 209de2e5b with CfL enabled)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0010 |  0.0176 | -0.0538 |  -0.0043 | 0.0027 | -0.0097 |    -0.0018
      
      Change-Id: Ib7dd3968a764e0380ddc0ad2333ebacf1e9699cd
      475fc9df
    • U-AMR\zlei3's avatar
      fix a bug in update_boundary info function · af7846ec
      U-AMR\zlei3 authored
      the existing code in update_boundary info function always set tile
      boundary. However, the cdef filter only check tile boundary info but
      not the loopfilter_across_tile_boundary_enabled flag. so it always
      disable filtering at the tile boundary no matter what the
      loopfilter_across_tile_boundary_enabled is.
      
      with this fix, tile boundary info is only set when
      the loopfilter_across_tile_boundary_enabled is set to 0. otherwise
      it should be ignored.
      
      Change-Id: I67bda08b217dd862bbeef2fd38b7a444b2edf59b
      af7846ec
    • Luc Trudeau's avatar
      [CFL] Convert dc_pred to fixed point · 2e6cb7e7
      Luc Trudeau authored
      The dc_pred values stored in the CfL context are in Q8.7 (Worst case
      division will be of 1/128).
      
      Results on Subset1 (compared to f9684d222 with CfL enabled)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0118 | -0.0181 | -0.0109 |   0.0086 | 0.0086 |  0.0196 |     0.0018
      
      Change-Id: I0701e04fb76f03eff12ed01fd5fda675fbb15e32
      2e6cb7e7
    • Angie Chiang's avatar
      Fix compiler bug of interintra exp · 64a2fb87
      Angie Chiang authored
      Change-Id: I599b57141d58b62a56bf884d7d50d1b6ebfd8b67
      64a2fb87
    • Thomas Davies's avatar
      EXT_INTER: CDF coding for inter_compound_mode. · 8c08a33a
      Thomas Davies authored
      Replace deprecated tree coding when EC_ADAPT is on.
      
      AWCY: -0.01% all metrics.
      
      Change-Id: I021dbc1e5f2a64fec66da1a427a0bf930cfed292
      8c08a33a
    • Jingning Han's avatar
      Speed up txk search function · 47558170
      Jingning Han authored
      Remove unnecessary quantization and optimization steps.
      
      Change-Id: I5be64b3a0860b553801c3136750e2050d367ec54
      47558170
    • Jingning Han's avatar
      Make var-tx context update support lv-map context sets · 2f42d778
      Jingning Han authored
      Properly update the inter transform block context model used by
      the level-map coding in the recursive transform block partition
      system.
      
      Change-Id: Ib647ead8f6778189b6098bf5e6d691144e899c4b
      2f42d778
    • Jingning Han's avatar
      Fix tx type cost estimate in txk-sel · 1643a0ac
      Jingning Han authored
      Fix repeated tx type cost count in txk-sel when ext-tx is turned
      on.
      
      Change-Id: Ie7a6306883d9aa95342aecfad75644a0f29237a4
      1643a0ac
    • Sebastien Alaiwan's avatar
      Remove #if guard · 2cbf1a20
      Sebastien Alaiwan authored
      The preprocessor symbol is already tested in check_range implementation.
      
      Change-Id: I34079c6450fee2c137d78ad5a8c924f8f6aba7be
      2cbf1a20
    • Wei-Ting Lin's avatar
      ncobmc_adapt_weight: allow the usage of new motion mode · d0f7ba16
      Wei-Ting Lin authored
      The new motion mode "NCOBMC_ADAPT_WEIGHT" cannot be used
      in the motion search loop as it requires all mvs from the
      neighboring blocks. This patch add a wrapper to skip checking
      this mode during mv search.
      
      Change-Id: I3a39954e91101929f26b5479c8c6ae22abdc7bce
      d0f7ba16
    • Luc Trudeau's avatar
      [CFL] Fixed point implementation for tx average · bfe2827b
      Luc Trudeau authored
      This change does not impact the bitstream as no loss is incured by using
      a fixed point value for the transform size average.
      
      For low bit depth, the transform size average is stored using Q8.10
      fixed point format. Worst case, smallest fraction is 1/1024.
      
      Results on Subset1 (Compared to 366b74 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: Ia5b046b92a0e4c40e413b16af3394bdc0a8c8cd9
      bfe2827b
    • Luc Trudeau's avatar
      [CFL] Compute Average Over TX Block Instead of Pred Block · 03678940
      Luc Trudeau authored
      When computing alpha, multiple averages are computed, one for each
      transform block. The CfL prediction now uses the transform block average
      instead of partition block average.
      
      This allows the decoder to build the CfL prediction by using only the
      collocated reconstructed luma values for the current transform size and
      not the entire partition.
      
      Results on Subset 1 (Compared to 0e81b97c with CfL)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0180 |  0.2627 |  0.2274 |   0.0233 | 0.0301 |  0.0312 |     0.1506
      
      A small regression is expected, this change was made to simplify
      hardware implementations.
      
      Change-Id: Ib2ce2a3053b85300c5c62ef0e3270af489568a38
      03678940
    • Luc Trudeau's avatar
      [CFL] clip CFL prediction to avoid overflow · 5c453db2
      Luc Trudeau authored
      The value predicted using CfL is clipped to avoid going out of the
      scope of the uint8. Both overflow and underflow was detected over
      Subtset1.
      
      Results on Subset1 (compared to 7e55571e with CfL enabled)
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0019 |  0.0001 |  0.0009 |   0.0047 | 0.0020 |  0.0023 |     0.0012
      
      Change-Id: Ie1190e2286aa90542eaa68b814cc5cfa031acb73
      5c453db2
  3. 05 Jul, 2017 8 commits
  4. 04 Jul, 2017 1 commit
  5. 03 Jul, 2017 7 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
    • Zoe Liu's avatar
      Fix a bug in block mismatch debugging · f9333f51
      Zoe Liu authored
      Fix a bug in checking the block mode context.
      
      Change-Id: Ia585f30e370f80a6e42bf5a2eb7ace0cf2d1f337
      f9333f51
    • Nathan E. Egge's avatar
      Remove the av1_intra_mode_tree const with EC_ADAPT. · 5694aa7b
      Nathan E. Egge authored
      When EC_ADAPT is enabled, this adds const av1_intra_mode_ind and
       av1_intra_mode_inv arrays and removes the av1_intra_mode_tree const.
      This commit has no effect on metrics.
      
      Change-Id: I1de8f4ea91269adacd7fdadbc8426f641ef866f0
      5694aa7b
    • Nathan E. Egge's avatar
      Use CDFs to compute all intra mode related costs. · 693eedd1
      Nathan E. Egge authored
      When EC_ADAPT is enabled, this patch uses the adapted CDF after
       encoding the entire frame to compute the non-adapted costs that are
       used in RDO decision making when coding the following frame.
      Future patches will update these costs periodically while coding the
       frame to keep them in sync with the actual rates used when coding the
       symbols with the adapted CDF.
      
      master@2017-06-30T01:10:29.197Z -> intra_cdfs@2017-06-30T01:09:41.171Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0168 |  0.0031 | -0.0181 |  -0.0018 | -0.0022 | -0.0209 |    -0.0027
      
      Change-Id: Id9e284b429e4d2a31d418141af6935d7ece1180e
      693eedd1
    • Guillaume Martres's avatar
      Remove Unused UPDATE_RD_COST macro · 858e2388
      Guillaume Martres authored
      It stopped being used after 09302f5a
      
      Change-Id: Ie7d567c787a4120f8b73378b3a82267249a82e3d
      858e2388
    • David Barker's avatar
      Fix typo in error message · 3409c0dd
      David Barker authored
      Change-Id: I0f80836f7d3fdf4c6b74b3972ae4fbf802b1c99e
      3409c0dd
    • Sebastien Alaiwan's avatar
      Fix warning in test code · f7b67565
      Sebastien Alaiwan authored
      And ensure no other warnings will creep in by using
      an 'if' statement instead of a #if.
      
      Change-Id: Ic0ccc481d375de3b3cedc7e3e5530f6f9b011c37
      f7b67565
  6. 30 Jun, 2017 1 commit
    • David Barker's avatar
      Fix bug when cb4x4 is disabled · e3afdd89
      David Barker authored
      When cb4x4 is disabled and global-motion is enabled, the function
      av1_append_sub8x8_mvs_for_idx accidentally fetched
      cm->global_motion[ref] instead of cm->global_motion[rf[0]],
      ie. it used the reference *index* instead of the reference *frame*.
      
      Change-Id: Ieebf60f6b7c0a1cbbc083a70d4451ad799e27fe3
      e3afdd89