1. 11 Dec, 2017 7 commits
    • Sebastien Alaiwan's avatar
      Cleanup remnants of NCOBMC · a0bba1b2
      Sebastien Alaiwan authored
      Change-Id: I1e71848e9d6bc592a6d4a12051d513eb07b4acd1
    • Debargha Mukherjee's avatar
      Fix set_txfm_context · 7b63755a
      Debargha Mukherjee authored
      Change-Id: I09b7e06ab678b4e3158525c299a8a3d4bce0bd37
    • Luc Trudeau's avatar
      Fix redefinition of typedef 'Accounting' · bb871f34
      Luc Trudeau authored
      Fix for the following warning:
      redefinition of typedef 'Accounting' is a C11 feature
      Change-Id: I1ac074e2f0bb1694d4069a20defaed4706c89c5c
    • Yunqing Wang's avatar
      Add 1 condition in CDEF checking · dad63d45
      Yunqing Wang authored
      Added "cm->cdef_strengths[0] == 0" in CDEF checking.
      Change-Id: I5a63b4b9835665cc90966ad1ade8c3e16f0a2d79
    • Cheng Chen's avatar
      LPF_SB: two options for filter level · a734551e
      Cheng Chen authored
      (1) USE_GUESS_LEVEL = 0: each superblock search and apply best
      deblocking filter level. Filter level is transmitted each superblock.
      (2) USE_GUESS_LEVEL = 1: use q to guess a filter level for the whole
      frame. Only one filter level is transmitted.
      Change-Id: I585f6ca0621f5c88fc9d0d95c4fc671114b384c4
    • Debargha Mukherjee's avatar
      Fix Rd cost for skip overrides · 644e966d
      Debargha Mukherjee authored
      I had done only a partial fix before. But updating the costs seems to
      make an even bigger improvement to the baseline.
      Change-Id: Id427819507143c05b4dc3d4c05e6b2a66d17899f
    • Nathan E. Egge's avatar
      Add new 8-point Type-VII DST implementation. · 16d1cacb
      Nathan E. Egge authored
      new_dct8@2017-11-27T23:57:04.520Z -> new_dst8@2017-11-29T13:49:40.011Z
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0034 |  0.0257 |  0.0831 |   0.0270 | 0.0023 |  0.0135 |    -0.0235
      Change-Id: Ia4873465e7c70e9a0e663d4185cba3ae619c77a0
  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
      Change-Id: I6399d0eef3e17cacc9ec6467480a7959c85d419b
    • 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
    • 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
    • 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
    • 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
    • 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.
      Change-Id: I7f3f2ddfe5414ed1b4b6aafb5e28ae61df2cb79e
    • Hui Su's avatar
      TX block hash: record the eob value · 8c2b913b
      Hui Su authored
      Change-Id: I0871c67d9a2ddc6aa9d3084f645305f6b74a999f
  3. 09 Dec, 2017 14 commits
  4. 08 Dec, 2017 12 commits
    • Yushin Cho's avatar
      Remove unused variables in blockd.h · b72bc718
      Yushin Cho authored
      Change-Id: I687453ab28d72412e49b4cc2676b70425b80848b
    • Yaowu Xu's avatar
      Add support of separte delta Qs for chroma channels · 6fc47e5f
      Yaowu Xu authored
      Change-Id: Iae7c054def0c0d5b5af52263f0c4d2e1e346282d
    • 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
      Change-Id: I53e32589cabac9e2a4e580808fdd39ac878fe8c6
    • 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
    • Sebastien Alaiwan's avatar
      Avoid memset when possible · 8a3d80eb
      Sebastien Alaiwan authored
      Also, reduce scope of one local.
      Change-Id: I41cb53528d4b7bc88eb343d8c943ed241230af82
    • 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
      Change-Id: I63e8ba414383a24f820bad4a6c607f222ec40ec2
    • Zoe Liu's avatar
      Enable single/comp ref mode for all qualified inter frames · 9ad440f5
      Zoe Liu authored
      Change-Id: I72ae23a60f79256b207753c429c3fecf4db6bd38
    • 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
    • Nathan E. Egge's avatar
      daala_tx: New flattened 16-point Type-IV DST. · 37131cfd
      Nathan E. Egge authored
      Change-Id: Ic741f269d0bd5e5e295b55f95bfef05050bc31e5
    • 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.
      Change-Id: I9532b6b0e8ae29efbb4f059a0c67a73d7c7828ce
    • Nathan E. Egge's avatar
      daala_tx: New flattened 32-point Type-II DCT. · b9e16f2f
      Nathan E. Egge authored
      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
    • Jingning Han's avatar
      Constrain hash table access within tile boundary · 3de5353c
      Jingning Han authored
      Limit the prediction residual hash table access within the same
      tile. This resolves a data race issue across tiles in multi-threading
      encoding that triggers instable encoding results.
      Change-Id: Ia4a415a0750bd60ee8ac4e56aa1cd39ec99e19c7