1. 05 Jul, 2017 1 commit
    • Nathan E. Egge's avatar
      Remove the intra probs when EC_ADAPT enabled. · 788ed89f
      Nathan E. Egge authored
      When EC_ADAPT is enabled, this patch removes all probability tables
       associated with coding intra tokens.
      This commit has no change to metrics.
      
      Change-Id: Ie74dd330984fd97b283ef8f8f2c053379f037d9f
      788ed89f
  2. 04 Jul, 2017 1 commit
  3. 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
  4. 30 Jun, 2017 3 commits
  5. 29 Jun, 2017 3 commits
    • Luc Trudeau's avatar
      [CFL] Compute DC_PRED until end of frame · e7f9e16a
      Luc Trudeau authored
      When computing CFL's prediction block level DC_PRED,
      We can't assume that the neighbor will use the same
      transform size. As such, we don't know what pixels
      are available outside of the frame. A simple
      solution is to stop computing DC_PRED at the block
      boundary.
      
      Results on Subset 1 ( Compared to 9c6f8547 with CfL enabled)
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0015 | -0.0026 | -0.0025 |  -0.0034 | -0.0008 | -0.0044 |     0.0019
      
      Change-Id: I00ed4114e5c5871fdc7222fa2000474eb11d33e0
      e7f9e16a
    • 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
    • Frederic Barbier's avatar
      Cleanup dead inv-txfm functions in HBD data path · 24d565b4
      Frederic Barbier authored
      Cleanup related unit-tests.
      
      Change-Id: Ic756e6bbad80f5b9947ca1cdd55cdef77b985f81
      24d565b4
  6. 28 Jun, 2017 9 commits
  7. 27 Jun, 2017 10 commits
    • Wei-Ting Lin's avatar
      ncobmc_adapt_weight: Add bitstream syntax · 85a8f70c
      Wei-Ting Lin authored
      Define the syntax and entropy coding templates for
      NCOBMC_ADAPT_WEIGHT. The actual values of the default
      probabilities and the index tree structure need to
      be fine tuned.
      
      In this experiment all mv's in a superblock are sent
      first as in the ncobmc case.
      
      Change-Id: I68d50d3d27346c2847ea449a1168c6a99fbb4d3d
      85a8f70c
    • Todd Nguyen's avatar
      Add experiment bgsprite · 302d0970
      Todd Nguyen authored
      Work in progress to generate ARF with stitched background image.
      
      Change-Id: I2fea75bbe5ac6f713f53eb5825776dadfc1d98c5
      302d0970
    • 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
    • Debargha Mukherjee's avatar
      Reduce multiplier precision for warp least squares · f053cba2
      Debargha Mukherjee authored
      Includes reordering and other clamping changes, as well as
      changes to reduce multiplier precision.
      
      cam_lowres (60 frames): -0.092% BDRATE improvement in
      --disable-cdef --disable-global-motion --disable-ext-tx
      configuation.
      
      Change-Id: I0660c45b44fcd5a193534d8dadd1aa1ae5c5e27a
      f053cba2
    • Yi Luo's avatar
      Fix inv txfm low/high bitdepth selection logic · 51281095
      Yi Luo authored
      We are going to have several commits to setup new low/high
      bitdepth data path selection logic. This patch is for inverse
      transform. Let me summarize the ideas as following.
      
      - For low/high bitdepth selection, encoder depends on
        input configuration, e.g., video sequence bitdepth,
        profile. Decoder depends on input bitstream. This has
        nothing to do with compiler/build  configuration.
      
      - Typical encoder usage for sampling format 4:2:0.
        1) 8-bit video sequence:
         a) --profile=0
         Fastest encoding/decoding pipeline on speedup.
      
         b) --profile=2 --bit-depth=10
         Image pixels are left shifted by 2 bits. It
         employs 16-bit reference frame buffer and has high
         calculation precision. It usually enjoys higher
         compression performance.
      
        2) 10/12-bit video sequence (HDR):
         --profile=2 --bit-depth=10/12
      
      - Transform coefficient type:
        Lowbitdepth:  int16_t
        Highbitdepth: int32_t
      
      - The type, tran_low_t is still used in codebase,
        Which is int32_t, defining the data path capacity.
        Naturally, it is high bitdepth.
      
      Eventually we shall remove the configuration flags,
      CONFIG_HIGHBITDEPTH/CONFIG_LOWBITDEPTH, and seperate
      low and high bitdepth data path. Two data paths co-exist
      in the same build environment.
      
      Change-Id: I35c06d4d4f19ebf80d909168fdddbae57c3cc884
      51281095
    • Sarah Parker's avatar
      Remove redundant checks in read/write_tx_type · 784596d5
      Sarah Parker authored
      Change-Id: I348dfd1f8b555306a3fb625bf2303f9cd2649e07
      784596d5
    • Rupert Swarbrick's avatar
      supertx: Read and write transforms with CDF in decode_partition · 580943a7
      Rupert Swarbrick authored
      Patch b1bedf5f converted the three writes in bitstream.c that
      specify an extended transform from using av1_write_token (encoded with
      probability trees) to aom_write_symbol (encoded with CDFs).
      
      That patch fixed up the two reads in decodemv.c but didn't fix up the
      corresponding read in decodeframe.c. This patch does so.
      
      The patch also fixes up a write of a (non-extended) transform when not
      CONFIG_EXT_TX and the corresponding read.
      
      Change-Id: Ibf5dcfcf3e7122f08dd0ef8616fb0ecddb95d99a
      580943a7
    • Jingning Han's avatar
      Rework recursive transform block partition search · e3b81bcf
      Jingning Han authored
      Support transform block level kernel selection in the recursive
      transform block partitioning search.
      
      Change-Id: I511c39705ee636b0c9fabbe4720fe5a9764b964a
      e3b81bcf
    • Jingning Han's avatar
      Re-organize the block index in decode_reconstruct_tx · a65f3051
      Jingning Han authored
      Make the block index use cases consistent in the recursive
      transform block partition.
      
      Change-Id: I57778acfab73c786a1db8c8b9110d56ce6df4854
      a65f3051
    • Wei-Ting Lin's avatar
      Fix token-encoding errors in NCOBMC · 1d46d903
      Wei-Ting Lin authored
      mi[0] is not set properly when encoding all mvs in a
      super-block first. After this patch NCOBMC can function
      properly.
      
      Change-Id: I149a50184c4823c0d3b82b6b21c7608e639668e6
      1d46d903
  8. 26 Jun, 2017 5 commits
    • Yushin Cho's avatar
      daala-dist: high bit depth support · 8ab875d6
      Yushin Cho authored
      Change-Id: Idafef140d3425a9a9f66cb8864a804c4d2a89a70
      8ab875d6
    • Adrian Grange's avatar
      Remove redundant code line · 0d6ab64e
      Adrian Grange authored
      Change-Id: Iaf9e8192905ea24946d6e2831be5739eaa564fae
      0d6ab64e
    • Yushin Cho's avatar
      Fix daala-dist for var-tx · 0474912c
      Yushin Cho authored
      The var-tx has its own suite of tx size/type RD search functions,
      which recursively split the partition into square tx blocks.
      
      The Daala-dist requires access to 8x8 pixels (both decoded and predicted)
      since it measures the distortion for multiple of a 8x8 pixels.
      Thus, if tx block is smaller than 8x8, it waits until all of sub8x8 blocks
      are RD searched (with MSE) then replaces the MSE of 8x8 pixels with
      daala-dist's calculated distortion for 8x8 pixels.
      
      It is also applied to luma pixels only.
      
      Change-Id: Ic4891e89b4ef05cf880aa26781d2d06ccf3142de
      0474912c
    • Lester Lu's avatar
      New experiment: LGT · ad8290b8
      Lester Lu authored
      In previous ADSTs, DST-7 and DST-4 are used for length 4 and length
      8/16/32, respectively. In this LGT experiment we explore transforms
      between DST-4 and DST-7. When CONFIG_LGT flag is on, adst4 and adst8
      are replaced by lgt4 and lgt8, the intermediate transforms with
      pre-chosen parameters.
      
      The LGTs applied here are lgt4_160 and lgt8_170, where the numbers
      mean the self-loop weights times 100. The associated values for DST-7
      and DST-4 are 100 and 200.
      
      ovr_psnr:
      lowres: -0.140
      midres: -0.131
      hdres: -0.078
      
      These changes are not applied to the highbd scenario in the
      current version.
      
      Change-Id: I20600456da8766528b2b6b11aa28801e70af498e
      ad8290b8
    • Yushin Cho's avatar
      Fix daala_dist to handle visible pixels only · 75b01004
      Yushin Cho authored
      - If invisible pixels, av1_daala_dist() simply use source pixles for dst.
      - Added av1_daala_dist_diff() which inputs diff signal instead of dst.
      
      - Refactored daala_dist code so that av1_daala_dist() and _diff()
      is called inside av1's distortion calculation functions, pixel_sse() and
      sum_squares_visible().
      
      Change-Id: Id857db52fe19856d92c46a9e84ac2962c01ae045
      75b01004
  9. 24 Jun, 2017 1 commit