1. 11 Dec, 2017 8 commits
  2. 10 Dec, 2017 7 commits
    • Yushin Cho's avatar
      [dist-8x8] Fix for other chroma formats than 4:2:0 · ecab98b5
      Yushin Cho authored
      Instead of applying different offsets for each of quadri-split, horizontal split,
      vertical split, store the start addresses of src and dst 8x8 blocks in each of
      YUV palnes then pass it to distortion compute function for dist-8x8, dist_8x8_yuv().
      
      Also, don't save decoded pixels for 8x8 block in additinal buffer but directly
      access the xd->dst buffer. Thus removed the decoded-8x8[8x8] buffer in struct macroblock.
      
      However, this patch does NOT fix the case where dist-8x8's assert fails with
      CfL enabled.
      
      Fix part of issue (i.e. 4:4:4 chroma iput) in
      BUG=aomedia:1094
      
      Change-Id: I6399d0eef3e17cacc9ec6467480a7959c85d419b
      ecab98b5
    • Zoe Liu's avatar
      Enable skip mode work with JNT_COMP · 50c810d5
      Zoe Liu authored
      This patch updates also the default cdfs for skip mode. It also remove
      the unneeded checking on whether the best obtained RD mode aligned
      with the skip mode.
      
      For 30 frames, on both AWCY and Google lowres/midres test sets, with
      the following config, the coding gain ranges from ~-0.15% to -0.23%:
      
      --disable-ext-partition --disable-ext-partition-types --disable-txmg
      --enable-jnt-comp --enable-mfmv
      
      Change-Id: I39aeeb9e7b27ca679c1b3f9c0eea67b5e1f694e2
      50c810d5
    • Debargha Mukherjee's avatar
      Make set_txfm_ctx aware of 4:1 transforms · 59eaa51d
      Debargha Mukherjee authored
      This change was missing before.
      
      Change-Id: Ie8aecb8d51284b32a02d76f6f3de5f1c77a5f692
      59eaa51d
    • Debargha Mukherjee's avatar
      Refine/clean up scan orders · df117ee0
      Debargha Mukherjee authored
      Inter scan orders for 4x4, 8x8, 16x16 are modified to use
      row/col scans for DCT_ADST combinations.
      New 4:1 transforms 4x16/16x4 use row col scans
      for DCT_ADST combinations.
      The h2, v2, qtr scans are removed for 32x32, since they are
      not used.
      
      Change-Id: I4dab6b111858e14b3c5b92b5c46124c69e06808d
      df117ee0
    • Imdad Sardharwalla's avatar
      Monochrome control now in colorspace header · 317002fb
      Imdad Sardharwalla authored
      The monochrome bit has been removed from the end
      of the sequence header.
      Monochrome is now coded as a type of colorspace.
      
      Encode in monochrome by using
        aomenc --color-space=monochrome ...
      
      Change-Id: I9550de58eb3d67dae0eb651697cb63dc8b137931
      317002fb
    • Steinar Midtskogen's avatar
      CDEF: Add an early exit test at the decoder · 0687d3e9
      Steinar Midtskogen authored
      This should give a slight speed-up for streams with CDEF disabled,
      since it avoids having to test the same for every filter block.
      
      BUG=aomedia:1108
      
      Change-Id: I7f3f2ddfe5414ed1b4b6aafb5e28ae61df2cb79e
      0687d3e9
    • Hui Su's avatar
      TX block hash: record the eob value · 8c2b913b
      Hui Su authored
      BUG=aomedia:1093
      
      Change-Id: I0871c67d9a2ddc6aa9d3084f645305f6b74a999f
      8c2b913b
  3. 09 Dec, 2017 14 commits
  4. 08 Dec, 2017 11 commits
    • Yushin Cho's avatar
      Remove unused variables in blockd.h · b72bc718
      Yushin Cho authored
      Change-Id: I687453ab28d72412e49b4cc2676b70425b80848b
      b72bc718
    • Yaowu Xu's avatar
      Add support of separte delta Qs for chroma channels · 6fc47e5f
      Yaowu Xu authored
      Change-Id: Iae7c054def0c0d5b5af52263f0c4d2e1e346282d
      6fc47e5f
    • Cheng Chen's avatar
      LPF_SB: select filter level and apply for superblock · ebcee0b6
      Cheng Chen authored
      For each superblock, select the best deblocking filter level and apply
      filtering. The filter level is signaled to decoder using a delta based
      scheme.
      
      Change-Id: I53e32589cabac9e2a4e580808fdd39ac878fe8c6
      ebcee0b6
    • Sarah Parker's avatar
      Remove bands from new-quant profiles · 6b56e99c
      Sarah Parker authored
      Rather than having a set of parameters for each of the 6
      COEF_BANDS, we have 1 for DC and 1 for AC coefficients.
      No change in performance since all of the bands had the
      same parameters.
      
      Change-Id: I3665e7c1b21f117be776f371d87d64b097715735
      6b56e99c
    • Sebastien Alaiwan's avatar
      Avoid memset when possible · 8a3d80eb
      Sebastien Alaiwan authored
      Also, reduce scope of one local.
      
      Change-Id: I41cb53528d4b7bc88eb343d8c943ed241230af82
      8a3d80eb
    • Cheng Chen's avatar
      Optimize av1_jnt_convolve_2d_copy function · 3f2b57d8
      Cheng Chen authored
      With shift, convolve copy no longer needs 32-bit multiplication of
      two 8-bit numbers. Thus we can implement it with sse2 instead of
      sse4.
      
      Change-Id: I63e8ba414383a24f820bad4a6c607f222ec40ec2
      3f2b57d8
    • Zoe Liu's avatar
      Enable single/comp ref mode for all qualified inter frames · 9ad440f5
      Zoe Liu authored
      Change-Id: I72ae23a60f79256b207753c429c3fecf4db6bd38
      9ad440f5
    • Debargha Mukherjee's avatar
      Misc refactors to support 4:1->2:1->1:1 tx splits · 0fa057f8
      Debargha Mukherjee authored
      Currently 4:1 transforms have max 2 split levels:
      4:1 -> 1:1 -> 0.5:0.5.
      
      This refactor enables split levels:
      4:1 -> 2:1 -> 1:1,
      
      by simply changing the tables in common_data.h.
      
      The actual switch will be made in a subsequent patch.
      
      Change-Id: I33f8d9ca5159ba3e7d02ced449ddf6f804a8f12a
      0fa057f8
    • Nathan E. Egge's avatar
      daala_tx: New flattened 16-point Type-IV DST. · 37131cfd
      Nathan E. Egge authored
      Change-Id: Ic741f269d0bd5e5e295b55f95bfef05050bc31e5
      37131cfd
    • David Barker's avatar
      no-frame-context-signaling + q-adapt-probs: Fix interaction · 11eac7bf
      David Barker authored
      Slightly change the way we save and reload frame contexts during
      frame setup. For "normal" frames everything is the same, but for
      error-resilient and/or intra-only frames, we now:
      
      * Reset the frame context using setup_past_independence()
        (+ extra code if q-adapt-probs is enabled), as usual
      * Store this frame context into a special slot in cm->frame_contexts
      * Use that slot to fill in cm->pre_fc
      
      The main difference from before is that (for error-resilient/intra-only
      frames which are not key frames) we used to throw away the frame
      context after setting it up, and would re-use whatever was set up
      at the last keyframe.
      This was fine when q_adapt_probs is disabled, but it caused an
      inconsistency when combined with q_adapt_probs. See the attached
      bug report for more details on that.
      
      BUG=aomedia:1104
      
      Change-Id: I9532b6b0e8ae29efbb4f059a0c67a73d7c7828ce
      11eac7bf
    • Nathan E. Egge's avatar
      daala_tx: New flattened 32-point Type-II DCT. · b9e16f2f
      Nathan E. Egge authored
      subset-1:
      
      daala_tx@2017-12-07T22:33:52.954Z -> new_dct32@2017-12-07T22:34:37.310Z
      
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0073 | -0.0284 | -0.1499 |  -0.0561 | -0.0128 | -0.0279 |    -0.0386
      
      Change-Id: Ib01f21aa9fc3c95f9d820331b43e70410de99958
      b9e16f2f