1. 19 Dec, 2017 12 commits
    • Sebastien Alaiwan's avatar
      av1_fwd_txfm1d_test: simplify tx list · f263044f
      Sebastien Alaiwan authored
      Change-Id: I4f337df8f560f08953b9326525de9143033ad895
      f263044f
    • Yue Chen's avatar
      Remove filter_intra mode info for UV plane · b0571874
      Yue Chen authored
      Change-Id: I92f73b78dfd0e25a61897e8b6e9e28ff210376d5
      b0571874
    • Dake He's avatar
      [lv_map_multi] BR coding · e2d8f183
      Dake He authored
      1. Use separate contexts for transforms of size 32x32 and above.
      2. Initialize cdf directly
      
      Change-Id: I3373143788e81b2547d99e420e591892ef2641a2
      e2d8f183
    • Jingning Han's avatar
      Conditionally drop cutting tails in lv-map coeff optimization · 8be58fad
      Jingning Han authored
      When the optimized non-zero tail is longer that 2, the likelihood
      that forcing to drop all the tail coefficients would give better
      rate-distortion optimization is much lower. This commit makes the
      encoder to check such conditions and speed up the lv-map/multi
      encoding speed.
      
      Local test clips at high target bit-rate / quality show 20% overall
      encoding speed up. The coding performance change for lowres is
      0.014%.
      
      Change-Id: Ifcf1d18e453a83110ca8be794aee26f3e0237605
      8be58fad
    • Sebastien Alaiwan's avatar
      Remove ADAPT_SCAN experiment · 23c511e7
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: Ib3bb07d62f2025ce50dc9bc1b3f9fc22488519a7
      23c511e7
    • Yaowu Xu's avatar
      Temporarily make obu non-default · b1bf64d5
      Yaowu Xu authored
      This allows nightly tests to detect other failure. This experiment
      will be re-enabled by default once we fix the issue#1143.
      
      BUG=aomedia:1143
      
      Change-Id: I5891039c0666f8a92aa128f3540751d5804a2d9a
      b1bf64d5
    • Steinar Midtskogen's avatar
      Make CDEF only do luma if monochrome · 35e53713
      Steinar Midtskogen authored
      Change-Id: I499fe2be873944e73334f681a0e8138cfccbea29
      35e53713
    • Rupert Swarbrick's avatar
      Match braces in rdopt.c · d16d8ee2
      Rupert Swarbrick authored
      This makes motion by function easier in some editors (such as Emacs or
      vi), which get a bit confused by
      
        #if 1
        foo {
        #else
        foo {
        #endif
          bar;
        }
      
      Change-Id: Ie9d8c34d3b9fafdac634db5f3647f3cc1611ebee
      d16d8ee2
    • Rupert Swarbrick's avatar
      Balance curly braces in encoder.c · a84faf23
      Rupert Swarbrick authored
      This makes code motion a bit easier in editors. To do so, remove some
      copy-paste code in scale_references and rewrite a duplicated loop in
      set_high_precision_mv.
      
      This patch should have no effect on behaviour.
      
      Change-Id: Ia9e72f2c89a7f7f7a1d3cb77822ff8db8b5faaf1
      a84faf23
    • Yue Chen's avatar
      Clean-up abandoned options for filter_intra · 250dd963
      Yue Chen authored
      Code for the following options is removed.
      (1) Disable filter_intra in sub8x8 tx blocks
      (2) Filter intra implementaion based on 1x1, 2x2, and 4x4 unit
      
      Change-Id: Ie898f6e8155709beff030b0ffb876754f14fb173
      250dd963
    • Luc Trudeau's avatar
      [CFL] Cache DC_PRED during CfL-RDO · 467205ac
      Luc Trudeau authored
      By default, the DC_PRED is not cached (this includes
      decoding). During cfl_rd_pick_alpha(), DC_PRED caching
      is enabled, the DC_PRED is cached after the first time it
      is computed (for each plane) and then it is reused when
      testing all the other scaling parameters.
      
      Change-Id: Ie8ba0bb0427c4d9be8de5b44e6330e8a78b9c7d9
      467205ac
    • Luc Trudeau's avatar
      [CleanUp] Wrap intra_mode_to_tx_type_context · 9cea993b
      Luc Trudeau authored
      To avoid using a UV_PREDICTION_MODE with intra_mode_to_tx_type_context,
      a wrapper function is added. Using a UV_PREDICTION_MODE with
      intra_mode_to_tx_type_context is problematic with UV_CFL_PRED which
      needs to be converted to DC_PRED.
      
      Change-Id: I68320e34dd5e616d0f15ca2c1c951440243968cf
      9cea993b
  2. 18 Dec, 2017 18 commits
    • Tom Finegan's avatar
      cmake: Report failure to shell when a test fails. · 7197411d
      Tom Finegan authored
      Exit the CMake script using message(FATAL_ERROR) to ensure test
      failures return a failure code to the controlling shell.
      
      BUG=aomedia:915
      
      Change-Id: Idf7fb9736c617fa7dea7364b27d6a5b208634e7c
      7197411d
    • Urvang Joshi's avatar
      Superres: Bypass superres funcs when scale is 1. · 26177d9e
      Urvang Joshi authored
      When superres experiment is compiled, but the frame is not
      super-resolved, we should use the same code used by full resolution
      frames.
      
      Change-Id: I79b1d8410f66febdb51b78013375d61a8e52c8c5
      26177d9e
    • Urvang Joshi's avatar
      Re-enable TX64X64 by default. · efeafa85
      Urvang Joshi authored
      Incompatibilities with other experiments has been fixed.
      
      BUG=aomedia:1058
      
      Change-Id: Id8358404c8f452bccf05ce3c1d91a633b215f07d
      efeafa85
    • Cheng Chen's avatar
      Bug fix · a70cd7b5
      Cheng Chen authored
      Remove BLOCK_2X2, BLOCK_2X4, BLOCK_4X2, which has been removed
      from codebase.
      
      Change-Id: I1c4ac7d148b7e95b1b104df7b9664cbb31928ddc
      a70cd7b5
    • Yaowu Xu's avatar
      Add alignment and intialization for an array · 8e3110ff
      Yaowu Xu authored
      Change-Id: Ia869042ec3cc85de077a577814f742578e9ed6af
      8e3110ff
    • Cheng Chen's avatar
      LPF_SB: make it work with seg and ext_delta_q · 5dcef7d2
      Cheng Chen authored
      Clean up unused code. Now lpf_sb works as baseline loop filter. It
      is compatible with seg feature and ext_delta_q.
      
      Change-Id: If5deb10d9f35cc3037463e7e8420bcd6b2b0255e
      5dcef7d2
    • Cheng Chen's avatar
      JNT_COMP: add SIMD and interface for high bit-depth · bf3d4964
      Cheng Chen authored
      Add high bit-depth macro definitions:
      highbd_jnt_sad
      highbd_8(10/12)_jnt_sub_pixel_avg.
      
      Add SIMD functions:
      aom_highbd_jnt_comp_avg_pred_sse2
      aom_highbd_jnt_comp_avg_upsampled_pred_sse2
      
      This patch also solves the seg fault caused by low bit-depth and
      high bit-depth paths
      
      BUG=aomedia:967
      BUG=aomedia:944
      
      Change-Id: Iea69f114e81ca226a30d84a540ad846f1b94b8d6
      bf3d4964
    • Cheng Chen's avatar
      JNT_COMP: highbd SIMD implemenation · a50f9f57
      Cheng Chen authored
      Add av1/common/x86/highbd_convolve_2d_sse4.c.
      Specifically, function av1_highbd_jnt_convolve_2d
      
      Change-Id: I1bfe0431c793bd5f78c30bc763aa7691e5d74b04
      a50f9f57
    • Luc Trudeau's avatar
      [CleanUp] Remove block from av1_mode_context_analyzer · 15a18e3d
      Luc Trudeau authored
      av1_mode_context_analyzer is always called with block == -1.
      
      Change-Id: Ibc9e7e87ea95f3651f7505b82674a6fd795ae985
      15a18e3d
    • Hui Su's avatar
      Add call to aom_clear_system_state() in pallete RDO · 80668233
      Hui Su authored
      BUG=aomedia:1144
      
      Change-Id: Ia8fb6df1a72bd1ff86c7955b681ec0d99c7a99eb
      80668233
    • Yushin Cho's avatar
      [dist-8x8] Disable asserts with CFL turned on · d2f281ba
      Yushin Cho authored
      The dist-8x8 has asserts which check whether the sum of distortions of
      sub8x8 partitions exactly match to the distortion directly measured on 8x8 pixels.
      Currently, these asserts fail if CFL is turned on and the reason is unknown.
      Until it is fixed, disable those asserts.
      
      Change-Id: I27ea52f8f6f651360cd1adc740d3964cf4bf9869
      d2f281ba
    • Yushin Cho's avatar
      [PVQ] Delete leftover code · c5c17093
      Yushin Cho authored
      Deletng the code since it is in fact for the PVQ, not for dist-8x8.
      
      The relavant code removal for PVQ is commit:
      d0b77ac7
      "Remove PVQ code" on 2017-10-20, which has removed the PVQ code.
      
      Change-Id: I6b58d0acedb6bf278f35ac6c76a7a0a481cd3edb
      c5c17093
    • Debargha Mukherjee's avatar
      Make lv-map work with 64x16/16x64 transforms · 695abd72
      Debargha Mukherjee authored
      Some refactoring done to enable reuse of code.
      
      Change-Id: I28cea413a1bf7e6b8ce82ee50c5b5603e8185a2a
      695abd72
    • Angie Chiang's avatar
      Restore the best_eob in av1_search_txk_type · 4e16ea64
      Angie Chiang authored
      Change-Id: I679eea672e183a34cdbfeef6eb4f3bd5b549b85d
      4e16ea64
    • Angie Chiang's avatar
      Fix assertion of txk_type check · 1640bfd4
      Angie Chiang authored
      Change-Id: I6db5563ec4f4992a899090cf15c3f5f5125a0764
      1640bfd4
    • Zoe Liu's avatar
      Expand skip mode support for all comp frames · 4b847e19
      Zoe Liu authored
      All compound predicted frames now have the choice to either turn on
      or off the use of the skip mode. The current encoder design only
      turns on the use of skip mode when the temporal distances of the two
      reference frames to the current frame are only different by 1.
      
      This patch also includes a fix on the calculating of the temporal
      distance between the two reference frames to the current frame for
      skip mode.
      
      Performance wise, this patch does not have noticeable impact as the
      encoder stays with the same choice with the frame-level skip mode
      flag.
      
      Change-Id: I34f370940b3b25d2ab429b8721344133ae6288ad
      4b847e19
    • Cheng Chen's avatar
      LPF_SB: cleanup unused functions and code path · 76224b0e
      Cheng Chen authored
      Since we've decided to use guess filter levels for lpf_sb, I remove
      unused searching functions and coding paths to make codebase clean
      and easy to manage.
      
      Change-Id: I3497add59fc1eaf36acdd0acb85e3bcb6486d01d
      76224b0e
    • Cheng Chen's avatar
      Speed up by dropping some ref frames in compound search · c683bf9b
      Cheng Chen authored
      Record distortion for each single ref in rd. Rank according to their
      distortions. Then in compound search, drop the combination of ref
      frames of the largest and second largest distortions
      
      This patch shows neutral performance on google test using lowres
      with 20 frame.
      
      Local tests show ~5% speed up over baseline.
      
      Change-Id: I722fe66a0551f5f8a044c57c55caa74e46db7ee8
      c683bf9b
  3. 17 Dec, 2017 4 commits
    • Nathan E. Egge's avatar
      daala_tx: Flip the names on od_rotate kernels. · a25c0300
      Nathan E. Egge authored
      The od_rotate kernels were named after the trailing operation (where
       od_rotate_sub() meant that the last operation was a subtraction)
       which became less intuitive after we folded leading addition operation
       into the kernel.
      This patch simply swaps the operations and kernel labels and has no
       change to the actual transform outputs.
      
      Change-Id: I3d23f1d4aa9e47c78c849dcc6497f099ddcb3574
      a25c0300
    • Nathan E. Egge's avatar
      daala_tx: Fold the addition into od_rotate kernel. · a0bec9d1
      Nathan E. Egge authored
      Move the od_add() and od_sub() calls into the od_rotate_sub() and
       od_rotate_add() kernels respectively as suggested by Frank Bossen.
      The number of kernels is reduced by introducing a flag to indicate which
       of the two versions it is (addition or subtraction).
      Additional named flags are added for the slight kernel variations such
       as the averaging or shifting steps which should be correctly inlined by
       the compiler.
      Extra defines are used to add human readable names for the kernel types.
      The named SHIFT parameter is still passed so that the orthonormal and
       asymmetric DST kernels can be combined in a later patch.
      This patch has no change to metrics.
      
      Change-Id: I11383b11a5e898b519fcb89d5c23bcf7934d94a2
      a0bec9d1
    • Nathan E. Egge's avatar
      daala_tx: Unify the asym and ortho DST designs. · b2f82ebd
      Nathan E. Egge authored
      This patch refactors the DST transforms so that the orthonormal and
       asymmetric transforms are now nearly identical (up to multiplicaiton
       constants and an extra set of shifts).
      This means that the DST designs are now embeddable for every level
       and should address hardware concerns about gate area.
      
      In addition, minor changes were made to improve transform accuracy:
      
       - all of the transforms now have perfect reconstruction for those
          computations outside the rotations, i.e., all +/- butterfly steps
          are exactly invertible
       - two multiplication constants were reduced below < 1.0 (better for
          SIMD and gives slightly improved accuracy)
       - the averaging bias is removed which saves an extra addition for each
          of the averaging steps
      
      Additional averaging steps can be removed from the 8-point Type-IV DST
       giving a 68% reduction in MSE for the 32-point DCT, but has not been
       done in the event we use it in place of the 8-point Type-VII DST.
      
      subset-1:
      
      master-daala_tx@2017-12-10T22:38:19.651Z ->
       new-daala_tx@2017-12-10T22:37:50.844Z
      
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      0.0057 | -0.0210 | -0.1821 |   0.0085 | -0.0002 |  0.0147 |    -0.0674
      
      Change-Id: Ib124eebf6f2e4b3c51c078d4e8f229fc5ec26171
      b2f82ebd
    • Frederic Barbier's avatar
      Remove experimental flag of PALETTE_DELTA_ENCODING · e6579113
      Frederic Barbier authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: Idec45a597398ff4fddc6a040c3d7cb3a3c0029d6
      e6579113
  4. 16 Dec, 2017 6 commits