1. 13 Feb, 2018 9 commits
  2. 12 Feb, 2018 15 commits
    • Luc Trudeau's avatar
      Use PLANE_TYPE to index angle_delta · 7bb3a4f0
      Luc Trudeau authored
      This is important because only one angle delta
      is used for both chroma planes. Using PLANE_TYPE
      increases readability and reduces the chance of
      people trying to access the angle_delta for
      AOM_PLANE_V (i.e. 2).
      Change-Id: I26f452e6fcee8bd7fd1e670e73f457d6937e0da9
    • Jingning Han's avatar
      Remove deprecated macros for inter mode context · 59b1263e
      Jingning Han authored
      This will not cause coding stats change.
      Change-Id: I0c527a8906f99170cf66d2360654bf65af81c7e0
    • Urvang Joshi's avatar
      s/use_upsampled_ref/use_accurate_subpel_search/ · d2159ea8
      Urvang Joshi authored
      The speed feature use_upsampled_ref was re-implemented in
      and so its name was a misnomer.
      Hence, change the name to a more appropriate one.
      Change-Id: Id66fe76d6fcf720e98d01e4ea530ef52e79d063d
    • Urvang Joshi's avatar
      Remove resolution limit for using upsampled refs. · ab409408
      Urvang Joshi authored
      The behavior of this feature was recently changed to do
      upscaling/convolve on the fly as needed -- instead of upsampling the
      references. So, the name was a misnomer.
      Also, as this doesn't require additional memory now, we can always use
      it -- irrespective of --cpu_used / frame resolution.
      Compression performance:
      Overall: -0.15
      Netflix_TunnelFlag:          -1.14
      Netflix_Aerial:	             -0.66
      touchdown_pass:              -0.49
      Netflix_SquareAndTimelapse:  -0.40
      Change-Id: Ic3d08fbff645121b2f95b279b8053cad130dab93
    • Angie Chiang's avatar
      [Normative lv_map] Use default scan for 2d txfms · 1635f17a
      Angie Chiang authored
      Change-Id: Ic3a6922e8a380883b429515ea5f73d31093385e1
    • Angie Chiang's avatar
      [Normative lv_map] Merge intra/inter scan order · e4e61b29
      Angie Chiang authored
      Key-frame-only performance
      lowres 0.084% gain
      midres 0.14% gain
      hdres 0.147% gain
      Change-Id: Ic7e09583720730f81e87fc5f83b794cc5ce5fb98
    • Angie Chiang's avatar
      [Normative lv_map ]Let default scan be zig-zag · 28ba7fc7
      Angie Chiang authored
      The PSNR change is neutral.
      Change-Id: Iade17a19580eed788338d5933423ea0235316952
    • Hui Su's avatar
      [NORMATIVE]Turn off palette mode for 4X4, 4X8 and 8X4 blocks · 0f9dafb8
      Hui Su authored
      Compression loss on screen_content testset keyframes: 0.3%
      Change-Id: Ifb5dd0d5b6362ec3cb29f43bdb6a8af6f38f6fe5
    • Jingning Han's avatar
      Clean up unneeded ref mv search funcation calls · 87d070b6
      Jingning Han authored
      Remove unneeded reference motion vector search function calls.
      This does not change the coding stats.
      Change-Id: Idbd43634f714e2f18d6e5f0a187721ed8ea35d52
    • David Barker's avatar
      [non-normative, cfl] Fix build with cfl disabled · 01faff97
      David Barker authored
      As of commit 2d276b39, reconintra.c cannot compile with CfL disabled,
      since the UV_* versions of the intra modes are not defined.
      Fix this by moving the UV_PREDICTION_MODE enum outside of its
      enclosing #if CONFIG_CFL block. This requires a couple of minor
      adjustments elsewhere in the code.
      Change-Id: Id8d10ebfa627d8528719b557933929719d863a87
    • Jonathan Matthews's avatar
      Bug fix read_palette_mode_info() for mono video · 7eedd6e8
      Jonathan Matthews authored
      read_palette_mode_info() shouldn't read luma palette info in monochrome mode.
      Change-Id: I86f479beac41a3b8725926086f3d21605a003088
    • Imdad Sardharwalla's avatar
      Make AMVR parameters consistent for enc and dec · 1a3dd3bc
      Imdad Sardharwalla authored
      On the encoder side (encoder.c):
      * seq_force_integer_mv is initialised to 2 (and never changed)
      * if allow_screen_content_tools == 0, cur_frame_force_integer_mv is set to 0
      * if allow_screen_content_tools == 1, then
        - if seq_force_integer_mv == 2, cur_frame_force_integer_mv = is_integer_mv(..)
        - otherwise cur_frame_force_integer_mv = seq_force_integer_mv
      This behaviour is now reflected in the functions that read/write the
      uncompressed header, with suitable asserts on the encoder side to ensure that
      this is in fact what is occurring.
      Change-Id: Ic508a9b2188002c6ea26501c142ed58cce98be6a
    • Cheng Chen's avatar
      Add frame_offset to mismatch debug tool · bb87c66d
      Cheng Chen authored
      Use frame_offset to locate the location of mismatch.
      Change-Id: I17ceb60febf5f30041a1d8e35556ae7034d095cd
    • Peng Bin's avatar
      Add inv txfm2d sse2 for sizes with 4 · 18976fa5
      Peng Bin authored
      Implement av1_lowbd_inv_txfm2d_add_4x4_sse2
      Implement av1_lowbd_inv_txfm2d_add_4x8_sse2
      Implement av1_lowbd_inv_txfm2d_add_8x4_sse2
      Implement av1_lowbd_inv_txfm2d_add_4x16_sse2
      Implement av1_lowbd_inv_txfm2d_add_16x4_sse2
      A brief speed test shows that using the included SSE2 functions
      completed by this CL, for speed1 lowbitdepth encoder speeds up >9%
      and lowbitdepth decoder speeds up >25%, comparing to the highbitdepth
      implementation in the baseline.
      Change-Id: I0576a2a146c0b1a7b483c9d35c3d21d979e263cd
    • Zoe Liu's avatar
      [NORMATIVE] Unify comp ref context design · 4917295b
      Zoe Liu authored
      This patch uses the neighboring ref counts to design the contexts
      for the coding of the first reference frame of a reference pair for
      the compound prediction. This aligns the context design with that
      for the second reference frame of a reference pair for the
      compound prediction.
      The new designed contexts are much simpler than that in the baseline.
      The number of contexts for each binary symbol is reduced from 5 to
      3. Further, the logic for each context only depends on the collected
      neighboring ref counts, which is straightforward to derive.
      The default CDFs for the first reference frame coding have been
      updated using aom_entropy_optimizer.
      Experimental results demonstrate a small coding gain for Google test
      sets of both lowres and midres, with 30 frames coded for the default
      coding tool setup:
      lowres: avg_psnr -0.077%; ovr_psnr -0.076%; ssim -0.106%
      midres: avg_psnr -0.059%; ovr_psnr -0.066%; ssim -0.037%
      Change-Id: I781abbe4616dc3f3a7213ec663946ff9844eb830
  3. 11 Feb, 2018 7 commits
    • Jingning Han's avatar
      [NORMATIVE] Compound mode ref mv construction · e571f523
      Jingning Han authored
      Re-design the compound mode reference motion vector fetch. Use
      a single run to provide all the compound ref mvs. Save the potential
      additional two ref mv search runs on single reference frames.
      Tested on night_720p 50 frames at 800 kbps. The average time cost
      on find_mv_refs calls is reduced by 15% (average 69875 us ->
      60473 us). The overall compression performance change is less than
      Change-Id: I388b9cf36817d10613cd2c9d0bd8865b43324009
    • Yunqing Wang's avatar
      Refactor the ref_mv code · 7fcd0247
      Yunqing Wang authored
      Continued to refactor the reference MV search code, so that we can
      combine the compound ref mode search later.
      Change-Id: I6227a3142e82caa20f2a17a0c76147035eaa2129
    • Jingning Han's avatar
      [NORMATIVE opt-ref-mv] Rework mv fetch from diff ref frames · ff1a35b9
      Jingning Han authored
      This commit re-designs the reference motion vector fetching from
      spatial neighbors with different reference frames from a current
      coding block. Instead of re-running through the VP9 like reference
      motion vector search, it goes through the nearest top row and left
      column only. Such process kicks in, if and only if the regular
      reference frame match based mv search didn't find 2 or more mvs.
      The search through neighboring blocks with different reference
      frame will stop once 2 mvs are found.
      To decide the reference mvs, it compares the reference frame types
      from the two blocks. If they are on the same side, directly re-use
      it. Otherwise, reverse the sign of the motion vector.
      The compression performance change is in the noise range as
      0.03% down.
      Change-Id: Ib698d7c463f2f42c767f6ca008c8a7c84289df60
    • Peng Bin's avatar
      Add inv txfm2d 64 sse2 · a7ba23f6
      Peng Bin authored
      Implement av1_lowbd_inv_txfm2d_add_32x64_sse2
      Implement av1_lowbd_inv_txfm2d_add_64x32_sse2
      Implement av1_lowbd_inv_txfm2d_add_16x64_sse2
      Implement av1_lowbd_inv_txfm2d_add_64x16_sse2
      Change-Id: I1b27618f153583cc787e7bf6ef1616e7c6932990
    • Peng Bin's avatar
      Add inv txfm2d {8x32,32x8} sse2 · 008c6430
      Peng Bin authored
      Implement av1_lowbd_inv_txfm2d_add_8x32_sse2
      Implement av1_lowbd_inv_txfm2d_add_32x8_sse2
      Change-Id: Ibd5de72e1d2c4dabba5af020a06e8cfac329dc3d
    • Peng Bin's avatar
      Code refactor of lowbd_inv_txfm2d_add sse2 · abd17171
      Peng Bin authored
      1. Reorder functions to align with TX_SIZE define order.
      2. Merge functions for each TX_SIZE which have very similar code
         into a universal function lowbd_inv_txfm2d_add_internal_sse2.
      3. No speed impact was spotted except size 8x8, so the 8x8 version
         stays unchanged.
      Change-Id: Ic896aacd93745906716582af855774807a863231
    • Jonathan Matthews's avatar
      Make av1_decode_tg_tiles_and_wrapup handle highbd · fa455fca
      Jonathan Matthews authored
      Change-Id: Ibfa14836b1f80b54984b9d275f04ff842821cc6c
  4. 10 Feb, 2018 9 commits