1. 20 Dec, 2017 3 commits
    • Ryan's avatar
      clean up dead code in deblocking filter · b260f44f
      Ryan authored
      Change-Id: I0ca217b0e94b8b65fb481cda6fe361212280637b
    • Steinar Midtskogen's avatar
      Enable CDEF for chroma for 4:2:2 and 4:4:0 · ab6c9c77
      Steinar Midtskogen authored
      This enables CDEF for chroma when the horizontal and vertical
      subsampling differs.  Since the direction search is only performed in
      luma, the following corrections to the direction index are done for
      chroma to correct the distortion resulting from the subsampling:
      4:2:2:   4:4:0:
      0 -> 7   0 -> 1
      1 -> 0   1 -> 2
      2 -> 2   2 -> 2
      3 -> 4   3 -> 2
      4 -> 5   4 -> 3
      5 -> 6   5 -> 4
      6 -> 6   6 -> 6
      7 -> 6   7 -> 0
      This improves the chroma PSNR BDR by about 2% for 4:2:2 content at
      cpu-used=4, low delay configuration.  4:2:0 and 4:4:4 content is
      Change-Id: Iee92d3697bc5a6fc9b1f340a63243a334935b433
    • Frederic Barbier's avatar
      Remove EXT_PARTITION_TYPES_AB experiment · 3f53da76
      Frederic Barbier authored
      This experiment has been abandonned for AV1.
      Change-Id: Ic706b3533ecf502ab316505ba0a9a8eeeb296612
  2. 19 Dec, 2017 18 commits
    • Zoe Liu's avatar
      Exclude distance-weighted prediction for ext-skip · 5664419e
      Zoe Liu authored
      For ext-skip, the use of distance-weighted prediction has only shown
      a coding gain in the AMCY low delay scenario. It is hence not being
      considered and compound-average is used exlusively.
      Change-Id: I57439eda1246e179d6404bbec366c6c610af3a36
    • Linfeng Zhang's avatar
      Update table av1_nz_map_ctx_offset[] · 0d9e3812
      Linfeng Zhang authored
      When CONFIG_TX64X64 is ON, bwl could be 5 when real width is 64.
      Read width from tx_size_wide[] instead from 1 << bwl.
      Change-Id: If0a97a73f1dc90c3e9425ba20f7609f93eb705b9
    • Debargha Mukherjee's avatar
      Enable 4:1 transforms by default · 4a0463d5
      Debargha Mukherjee authored
      Enables rect-tx-ext and rect-tx-ext-intra flags by default.
      Change-Id: Ibeb08250754b092c89c710d3cb6d149d6bb42602
    • Urvang Joshi's avatar
      Tweak for recode_loop_test_global_motion() func. · 02aade85
      Urvang Joshi authored
      There were two assignments to 'recode' earlier, out of which the 2nd one
      was a no-op.
      Change-Id: Ia181c736177ad9886c2d0dc4a2002d5bc2fb7742
    • Sebastien Alaiwan's avatar
      decodeframe.c: reduce scope of locals · 34a5f0f1
      Sebastien Alaiwan authored
      Change-Id: I4fd5a5c0470f8fc55f590e5e2eb6b745bce1fe73
    • Lei's avatar
      add new experiment loopfiltering_across_tiles_ext · 7bb501d5
      Lei authored
      based on the latest discussion in the HW working group about how loop
      filter should be integrated with tiles, the following decisions have been
      1. two seperated flages should be added for
      loop_filter_across_tiles_enabled for horizontal tile boundary and
      vertical tile boundary.
      2. encoder and decoder should only check these two flags to determine
      whether loop filtering (including deblocking, CDEF and loop restoration)
      should cross tile boundaries (vertical and/or horizontal) or not
      regardless the horitontal depepdent tile flag.
      This change list implemented the support for two seperated
      loop_filter_across_tiles_enabled flags for vertical and horizontal tile
      boundaries. The new experiment is disabled as default before it is
      Change-Id: I814377947517f5419c08b004a3b71b950d01eadd
    • Sebastien Alaiwan's avatar
      av1_fwd_txfm1d_test: simplify tx list · f263044f
      Sebastien Alaiwan authored
      Change-Id: I4f337df8f560f08953b9326525de9143033ad895
    • Yue Chen's avatar
      Remove filter_intra mode info for UV plane · b0571874
      Yue Chen authored
      Change-Id: I92f73b78dfd0e25a61897e8b6e9e28ff210376d5
    • 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
    • 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
      Change-Id: Ifcf1d18e453a83110ca8be794aee26f3e0237605
    • Sebastien Alaiwan's avatar
      Remove ADAPT_SCAN experiment · 23c511e7
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      Change-Id: Ib3bb07d62f2025ce50dc9bc1b3f9fc22488519a7
    • 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.
      Change-Id: I5891039c0666f8a92aa128f3540751d5804a2d9a
    • Steinar Midtskogen's avatar
      Make CDEF only do luma if monochrome · 35e53713
      Steinar Midtskogen authored
      Change-Id: I499fe2be873944e73334f681a0e8138cfccbea29
    • 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 {
        foo {
      Change-Id: Ie9d8c34d3b9fafdac634db5f3647f3cc1611ebee
    • 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
      This patch should have no effect on behaviour.
      Change-Id: Ia9e72f2c89a7f7f7a1d3cb77822ff8db8b5faaf1
    • 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
    • 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
    • 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
  3. 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.
      Change-Id: Idf7fb9736c617fa7dea7364b27d6a5b208634e7c
    • 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
      Change-Id: I79b1d8410f66febdb51b78013375d61a8e52c8c5
    • Urvang Joshi's avatar
      Re-enable TX64X64 by default. · efeafa85
      Urvang Joshi authored
      Incompatibilities with other experiments has been fixed.
      Change-Id: Id8358404c8f452bccf05ce3c1d91a633b215f07d
    • 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
    • Yaowu Xu's avatar
      Add alignment and intialization for an array · 8e3110ff
      Yaowu Xu authored
      Change-Id: Ia869042ec3cc85de077a577814f742578e9ed6af
    • 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
    • Cheng Chen's avatar
      JNT_COMP: add SIMD and interface for high bit-depth · bf3d4964
      Cheng Chen authored
      Add high bit-depth macro definitions:
      Add SIMD functions:
      This patch also solves the seg fault caused by low bit-depth and
      high bit-depth paths
      Change-Id: Iea69f114e81ca226a30d84a540ad846f1b94b8d6
    • 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
    • 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
    • Hui Su's avatar
      Add call to aom_clear_system_state() in pallete RDO · 80668233
      Hui Su authored
      Change-Id: Ia8fb6df1a72bd1ff86c7955b681ec0d99c7a99eb
    • 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
    • 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:
      "Remove PVQ code" on 2017-10-20, which has removed the PVQ code.
      Change-Id: I6b58d0acedb6bf278f35ac6c76a7a0a481cd3edb
    • 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
    • Angie Chiang's avatar
      Restore the best_eob in av1_search_txk_type · 4e16ea64
      Angie Chiang authored
      Change-Id: I679eea672e183a34cdbfeef6eb4f3bd5b549b85d
    • Angie Chiang's avatar
      Fix assertion of txk_type check · 1640bfd4
      Angie Chiang authored
      Change-Id: I6db5563ec4f4992a899090cf15c3f5f5125a0764
    • 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
      Change-Id: I34f370940b3b25d2ab429b8721344133ae6288ad
    • 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
    • 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
  4. 17 Dec, 2017 1 commit
    • 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