1. 16 Jan, 2018 5 commits
    • David Barker's avatar
      loop-restoration: Only use upscaled height · 21f43073
      David Barker authored
      The superres upscale process only generates cm->height many rows
      of pixels, but we were previously using cm->mi_rows*MI_SIZE many.
      The latter number are easily available before upscaling, but we
      ideally don't want to have to upscale extra rows. So we switch
      to only using cm->height many rows inside loop-restoration.
      
      While making this change, I found and fixed an issue with
      av1_get_tile_rect() when using horizontal subsampling + horizontal
      superres.
      
      Finally, note that this change does introduce an edge case which
      isn't obvious from the source code. This has been annotated as a
      comment in save_deblock_boundary_lines().
      
      Change-Id: Ide2bd433d45baa0fb1198353d05eb21b9a903157
      21f43073
    • David Barker's avatar
      Harmonize superres + loop-restoration + lf-across-tiles · 1fee28bd
      David Barker authored
      Properly support loopfiltering-across-tiles in combination with
      superres and/or loop-restoration:
      
      Upscale one tile column at a time, rather than doing the whole
      frame at once. This allows us to correctly support the loop filter
      across tiles flag, by temporarily extending the left/right boundaries
      of each tile column to avoid sampling from adjacent tiles.
      
      This code is also reused by striped-loop-restoration, when upscaling the
      deblocked context above/below each stripe. That way, we i) ensure
      that the upscaling is done consistently, and ii) fix the last remaining
      case where loop-restoration didn't respect the loop filter across tiles
      flag.
      
      This also makes it easy to perform extension of the left/right edges
      of the frame "as needed", so we don't need to extend the frame borders
      immediately after deblocking. This should give marginally better CDEF
      filtering for frames using superres.
      
      Change-Id: I28712a177853a20c9eb2993e740da8ba7c95a8cc
      1fee28bd
    • David Michael Barr's avatar
      [CFL] SSSE3/AVX2 versions of cfl_build_prediction_hbd · c363ab76
      David Michael Barr authored
      Includes unit tests for conformance and speed.
      
      SSSE3/CFLPredictHBDTest:
      4x4: C time = 1436 us, SIMD time = 358 us (~4x)
      8x8: C time = 4821 us, SIMD time = 598 us (~8.1x)
      16x16: C time = 18528 us, SIMD time = 1793 us (~10x)
      32x32: C time = 72998 us, SIMD time = 6400 us (~11x)
      
      AVX2/CFLPredictHBDTest:
      4x4: C time = 1436 us, SIMD time = 398 us (~3.6x)
      8x8: C time = 4924 us, SIMD time = 644 us (~7.6x)
      16x16: C time = 18624 us, SIMD time = 1617 us (~12x)
      32x32: C time = 73509 us, SIMD time = 3635 us (~20x)
      
      Change-Id: Icbcfefbf165facdbd77c9b3861af2bbf464254a0
      c363ab76
    • Sebastien Alaiwan's avatar
      decodetxb.c: homogenize types for local 't' · 8cbf9134
      Sebastien Alaiwan authored
      Change-Id: I4b271259a2c29619ac7a066bedb958400187ac20
      8cbf9134
    • Sebastien Alaiwan's avatar
      Clamp dequantized coefficients · c84e32f1
      Sebastien Alaiwan authored
      Change-Id: I30531cc37243c778210e776f93a82e0d078821f1
      c84e32f1
  2. 15 Jan, 2018 9 commits
    • Yaowu Xu's avatar
      Define two intrinsics for early MSVC versions · 7ba35f6c
      Yaowu Xu authored
      BUG=aomedia:1228
      
      Change-Id: Iaa88810426bd7fe059ededf30956ffc57b897d62
      7ba35f6c
    • Yaowu Xu's avatar
      Change to use an unaligned store · 533ac34d
      Yaowu Xu authored
      This fixes a segmentation fault in unit test:
      AVX2/CFLPredictTest.PredictTest/7
      
      Change-Id: I173340965f465a82019167e0964b9901683b60a8
      533ac34d
    • Jingning Han's avatar
      Make inter block coded in 64x64 unit · cdbc47f0
      Jingning Han authored
      When the coding block size is above 64x64, process the YUV planes
      in each 64x64 block unit.
      
      BUG=aomedia:1055
      
      Change-Id: If66f67514cc5de4a6cff94c9f74e335c241c8c9b
      cdbc47f0
    • Sebastien Alaiwan's avatar
      Remove experimental flag of REF_ADAPT · 3558a8c0
      Sebastien Alaiwan authored
      This experiment has been adopted, we can simplify the code
      by dropping the associated preprocessor conditionals.
      
      Change-Id: Ia2100f102de6d9d5a67ba7178a20a50202839636
      3558a8c0
    • Rostislav Pehlivanov's avatar
      Skip writing spatial seg ids on non-keyframes · 2d4322ba
      Rostislav Pehlivanov authored
      Was forgotten when commited.
      Happened only when temporal prediction was on.
      
      Change-Id: I08c3f03f3442d0b0c6c9aa0bb2a3943dcdb303ab
      2d4322ba
    • Sebastien Alaiwan's avatar
      Remove XIPHRC experiment · 41cae6a6
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: Ib83ebbe13e8f50e4151f9de3d0158a5463436177
      41cae6a6
    • Ralph Giles's avatar
      Mark AOM_QM matricies const. · 90243cf9
      Ralph Giles authored
      These large (200 KB) static stables are functionally read-only. Marking
      them const moves them to the read-only section of shared libraries,
      reducing memory footprint when multiple application processes are
      running simultaneously.
      
      Change-Id: I6b66ea8f512147f9762728ae01cea02a0fa71300
      90243cf9
    • Yaowu Xu's avatar
      Remove 4:4:0 source videos · 7d56ad44
      Yaowu Xu authored
      4:4:0 has been removed from AV1 profiles, therefore there is no need
      to have these files for testing.
      
      Change-Id: Iaea1a7bba5f3211f34dfbc5f7975841cde277cf9
      7d56ad44
    • Zoe Liu's avatar
      Turn on ref-adapt by default · 7736239d
      Zoe Liu authored
      This experiment of ref-adapt removes the option of COMPOUND_REFERENCE
      from the frame level reference_mode setup, and hence removes 1 bit
      in the frame header syntax. It now allows only SINGLE_REFERENCE or
      REFERENCE_MODE_SELECT to specify in the frame header.
      
      No noticeable coding performance impact has been observed.
      
      Change-Id: I1bed64f927f31d396e8174a4f0c9119242bf0b5c
      7736239d
  3. 14 Jan, 2018 4 commits
  4. 13 Jan, 2018 7 commits
    • Yaowu Xu's avatar
      Make definitions and declarations consistent · efcf1e91
      Yaowu Xu authored
      This fixes several MSVC warnings.
      
      Change-Id: Id94f509a56d195afb48c3f2fa71986e0d8baafb4
      efcf1e91
    • Yaowu Xu's avatar
      Remove code not in use · 40125caa
      Yaowu Xu authored
      Change-Id: I40f4de4d58cb4958b3f3f48da4bbfc12d34dba8e
      40125caa
    • Hui Su's avatar
      Fix valgrind error in av1_rd_pick_inter_mode_sb() · c05a4aa7
      Hui Su authored
      Initialize the RD_STATS variable to avoid valgrind error of
      "Conditional jump or move depends on uninitialised value(s)".
      
      BUG=aomedia:1219,aomedia:1226
      
      Change-Id: Ie7749c8297b377750f0901d07e2c6024552a10df
      c05a4aa7
    • Debargha Mukherjee's avatar
      Correct profile update checks in aomenc · fc321aac
      Debargha Mukherjee authored
      Update the profile update checks correctly in aomenc to be
      compliant with the new AV1 profiles.
      
      BUG=aomedia:1220
      
      Change-Id: I047313ec282350244986eb5c1be8c5578c2c5de3
      fc321aac
    • Debargha Mukherjee's avatar
      Fix bug in quant parameter assignment for v comp · ab4fd72a
      Debargha Mukherjee authored
      Previously the v component assignment was being skipped.
      This will make a difference with the EXT_QM experiment.
      
      Change-Id: I079d86e98f14f933756b300092246dc800ce4c96
      ab4fd72a
    • Kyle Siefring's avatar
      Add implemented functions to rtcd that were missed · 729d0f5d
      Kyle Siefring authored
      "ext-partition-types: Add 4:1 partitions" added a number SIMD
      functions. The SAD functions introduced in that patch were not
      added to the rtcd file and were not getting called.
      
      Hash of "ext-partition-types: Add 4:1 partitions"
      93c39e91
      
      Change-Id: I47094799e27d66f74311ff0bcff23ecb7eed8a76
      729d0f5d
    • Zoe Liu's avatar
      Turn on frame_sign_bias by default. · d4f22f45
      Zoe Liu authored
      This experiment of frame_sign_bias is to remove the 7 bits in the
      frame header that signal the sign bias value for the 7 reference
      frames. Instead of explicit signaling, this experiment is to use
      the frame_offset value to derive the frame sign bias. It achieves
      -0.08~-0.1% coding gain on average. It has been adopted by AOM.
      
      Change-Id: I543f2641d9a11cabfe822cd4daa8b88b938421d6
      d4f22f45
  5. 12 Jan, 2018 15 commits