1. 17 Jan, 2018 2 commits
  2. 16 Jan, 2018 17 commits
    • Debargha Mukherjee's avatar
      Add option to use fp quant when new-quant is used · 6cf2b467
      Debargha Mukherjee authored
      Change-Id: I861ccc09454606ce4172db02a52550f9b7a7800c
    • Cheng Chen's avatar
      Minor refactor · f9cf5b65
      Cheng Chen authored
      Static local functions.
      Remove av1_ prefix for local functions.
      Change-Id: I91cda7b6a1e09683ed70cd74e724db88ddf124dc
    • David Michael Barr's avatar
      [CFL] separate uv_mode CDFs, split on is_cfl_allowed · cb3a8ef5
      David Michael Barr authored
      This is to exclude coding CFL for block sizes where it is normatively
      not allowed.
      Reuse the alternate CDFs from the --disable-cfl path.
      This yields some improvement on subset1:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0113 | -0.2630 | -0.2138 |   0.0021 | -0.0110 | -0.0157 |    -0.0511
      Change-Id: I1e5f23ef7f2debcf8edce788bfa63ec95db4a679
    • Debargha Mukherjee's avatar
      A small fix for the new-quant b_quantizer · a855cefc
      Debargha Mukherjee authored
      Change-Id: I3698acb824afc5d0f66c2d4a099403f07a373c86
    • Debargha Mukherjee's avatar
      Rearrange the colorspace/mono deocde logic a bit · e5267697
      Debargha Mukherjee authored
      Change-Id: I0d76adba7c5ea387a9c58076369d1eba89b0fbfe
    • Linfeng Zhang's avatar
      Add av1_convolve_2d_copy_sr_sse2() · 5f0485b4
      Linfeng Zhang authored
      Change-Id: I7776ccaecb6933af47253a15fa8ed8a53346fac1
    • Johann's avatar
      remove configure and Makefiles · e07a675f
      Johann authored
      Change-Id: I32b2ce4839c359891841385467cf532b1ebe4a59
    • Yunqing Wang's avatar
      Store and use single_newmv correctly · 5f4f738e
      Yunqing Wang authored
      The motion vector search result at single reference frame mode is stored
      for later use. There are some issues in current implementation.
      1. single_newmv is only stored for 1st ref_mv, but not for other ref_mv
      values tested.
      2. If single reference mode is skipped and not tested, single_newmv is
      not available.
      3. Interintra mode always use single_newmv as its MV, which may not be
      available as mentioned above.
      To fix it, we store single_newmv for every ref_mv tested. In interintra
      mode, if single_newmv is not available, do motion search to find a MV.
      This was revealed by a motion vector unit test failure.
      Change-Id: I3e690587644d4c8c31337f37380b796a3d71a3f6
    • Linfeng Zhang's avatar
      Update convolve 2d unit testing code · a3e9c506
      Linfeng Zhang authored
      Test all possible sizes.
      Change-Id: I042c7eef6d7af149885606c1085fac76f913671e
    • Yushin Cho's avatar
      Don't disable segment with delta_q=0 for aq_mode=1 · 625dfac7
      Yushin Cho authored
      Because spatial_segmewntation uses segfeature_active() for all the
      segments regardless of its delta_q value.
      Change-Id: Ibcb7b6e42f703fa02d7cb95143c56f8078a9d475
    • Rostislav Pehlivanov's avatar
      Avoid crosstile dependency on coding spat. segid · 3874cb50
      Rostislav Pehlivanov authored
      Change-Id: Idc2d732e2574b61b5970d3fe9aa3723790a2be36
    • Frederic Barbier's avatar
      Cleanup dead table · a77c871e
      Frederic Barbier authored
      Change-Id: I545f126f6ba724ff4e41294353c4f11a47c6e853
    • 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
      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
    • 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
      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
    • 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.
      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)
      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
    • Sebastien Alaiwan's avatar
      decodetxb.c: homogenize types for local 't' · 8cbf9134
      Sebastien Alaiwan authored
      Change-Id: I4b271259a2c29619ac7a066bedb958400187ac20
    • Sebastien Alaiwan's avatar
      Clamp dequantized coefficients · c84e32f1
      Sebastien Alaiwan authored
      Change-Id: I30531cc37243c778210e776f93a82e0d078821f1
  3. 15 Jan, 2018 9 commits
    • Yaowu Xu's avatar
      Define two intrinsics for early MSVC versions · 7ba35f6c
      Yaowu Xu authored
      Change-Id: Iaa88810426bd7fe059ededf30956ffc57b897d62
    • Yaowu Xu's avatar
      Change to use an unaligned store · 533ac34d
      Yaowu Xu authored
      This fixes a segmentation fault in unit test:
      Change-Id: I173340965f465a82019167e0964b9901683b60a8
    • 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.
      Change-Id: If66f67514cc5de4a6cff94c9f74e335c241c8c9b
    • 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
    • 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
    • Sebastien Alaiwan's avatar
      Remove XIPHRC experiment · 41cae6a6
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      Change-Id: Ib83ebbe13e8f50e4151f9de3d0158a5463436177
    • 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
    • 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
    • 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
  4. 14 Jan, 2018 4 commits
  5. 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
    • Yaowu Xu's avatar
      Remove code not in use · 40125caa
      Yaowu Xu authored
      Change-Id: I40f4de4d58cb4958b3f3f48da4bbfc12d34dba8e
    • 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)".
      Change-Id: Ie7749c8297b377750f0901d07e2c6024552a10df
    • 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.
      Change-Id: I047313ec282350244986eb5c1be8c5578c2c5de3
    • 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
    • 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"
      Change-Id: I47094799e27d66f74311ff0bcff23ecb7eed8a76
    • 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
  6. 12 Jan, 2018 1 commit
    • Yue Chen's avatar
      Refactor and speed-up interintra RDO · b8aa399a
      Yue Chen authored
      Interintra RDO is moved into motion_mode_rd instead of calling
      handle_inter_mode() separately. This will save time on interp
      filter and new mv search, also skips interintra modes if the base
      inter predictors are not good enough.
      Speedup: LL ~20% HL < 1%
      Tiny performnace improvements (<0.05%).
      Change-Id: If5b1ad22396df7590fbc1060e26b61734a205830