1. 11 Jan, 2018 2 commits
    • Debargha Mukherjee's avatar
      Update profile/bitdepth/sampling in header · f9a50ea3
      Debargha Mukherjee authored
      Designs the sequence header syntax to support various
      profiles as decided in the AV1 codec WG:
      
      Profile 0: 4:2:0 and 4:0:0 8/10-bit
      Profile 1: 4:4:4 8/10-bit
      Profile 2: 4:2:0/4:0:0/4:4:4 12-bit as well as 4:2:2 8/10/12-bit
      
      Change-Id: Iea351698280e37d65847bf75a43c5bbeba8f7cf4
      f9a50ea3
    • Hui Su's avatar
      Add an identity scale factor in AV1_COMMON · 5ebd8704
      Hui Su authored
      Set up the identity scale factor once per frame, instead of per joint
      motion search.
      
      Change-Id: I5edd264655254f4b6a0a923d8ab43adbca044228
      5ebd8704
  2. 10 Jan, 2018 2 commits
  3. 08 Jan, 2018 1 commit
  4. 06 Jan, 2018 1 commit
  5. 05 Jan, 2018 1 commit
  6. 03 Jan, 2018 1 commit
  7. 27 Dec, 2017 2 commits
  8. 23 Dec, 2017 2 commits
    • Yue Chen's avatar
      Remove unused binary-symbol coding and tree-based coding · b101935f
      Yue Chen authored
      Change-Id: I70ebb6ada7ec4a975a8984a2e1ea2fa51664a786
      b101935f
    • Zoe Liu's avatar
      Add encoder support to fwd-kf · b499120e
      Zoe Liu authored
      Encoder now writes the binary symbol for show_existing_frame to
      indicate the value of reset_decoder_state. The default value now
      is set as zero regardless. This enables the bitstream match with
      the decoder.
      
      With this patch when fwd-kf is enabled, one additional bit is
      signaled at the frame header for show_existing_frame, but without
      any coding performance impact.
      
      Change-Id: Ib0137e6a513011c0ac9506837d32e9ad405508af
      b499120e
  9. 22 Dec, 2017 1 commit
    • Cheng Chen's avatar
      Remove lpf_sb · 07365c9a
      Cheng Chen authored
      As loopfilter is not needed for intrabc, clean up related code.
      
      Change-Id: If89d4969a7795cd8993e6add8fd03ef1296699ef
      07365c9a
  10. 21 Dec, 2017 2 commits
  11. 19 Dec, 2017 4 commits
    • 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
      02aade85
    • 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
      made:
      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
      adopted.
      
      Change-Id: I814377947517f5419c08b004a3b71b950d01eadd
      7bb501d5
    • Sebastien Alaiwan's avatar
      Remove ADAPT_SCAN experiment · 23c511e7
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: Ib3bb07d62f2025ce50dc9bc1b3f9fc22488519a7
      23c511e7
    • 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
  12. 18 Dec, 2017 3 commits
    • 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
    • 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
      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
  13. 16 Dec, 2017 1 commit
  14. 15 Dec, 2017 1 commit
  15. 14 Dec, 2017 3 commits
  16. 12 Dec, 2017 3 commits
    • Rupert Swarbrick's avatar
      Remove parameter from av1_loop_restoration_filter_frame · 70c399e4
      Rupert Swarbrick authored
      At both callsites, the "rsi" parameter is the rst_info field from cm,
      which is already passed.
      
      Change-Id: I837ac655a03ebf0de6fbdaece4f4910f750e4898
      70c399e4
    • Rupert Swarbrick's avatar
      Simplify prototype of av1_loop_restoration_filter_frame · 25c57d2b
      Rupert Swarbrick authored
      This is always called with all components and no destination buffer.
      
      Change-Id: I76d1a16a87e05b8ecec387288139e846e9894384
      25c57d2b
    • Cheng Chen's avatar
      Make lpf_sb work with loopfilter_level · 765e34e3
      Cheng Chen authored
      Make lpf_sb compatible with loopfilter_level, when USE_GUESS_LEVEL = 1.
      
      Filter levels will be selected based on q index and applied for
      filtering on Y, U, V planes separately.
      
      Current model only allows to guess one filter level.
      Now Y_vert = Y_horz = U = V. In the future, we need to retrain the
      model and get filter levels for Y_vert, Y_horz, U and V separately.
      
      When USE_GUESS_LEVEL = 0, lpf_sb can't work with loopfilter_level yet.
      
      Change-Id: Icd774a147c07a4035cf8204a8754b2a99668bbfd
      765e34e3
  17. 11 Dec, 2017 3 commits
  18. 10 Dec, 2017 1 commit
    • Imdad Sardharwalla's avatar
      Monochrome control now in colorspace header · 317002fb
      Imdad Sardharwalla authored
      The monochrome bit has been removed from the end
      of the sequence header.
      Monochrome is now coded as a type of colorspace.
      
      Encode in monochrome by using
        aomenc --color-space=monochrome ...
      
      Change-Id: I9550de58eb3d67dae0eb651697cb63dc8b137931
      317002fb
  19. 08 Dec, 2017 2 commits
    • Cheng Chen's avatar
      LPF_SB: select filter level and apply for superblock · ebcee0b6
      Cheng Chen authored
      For each superblock, select the best deblocking filter level and apply
      filtering. The filter level is signaled to decoder using a delta based
      scheme.
      
      Change-Id: I53e32589cabac9e2a4e580808fdd39ac878fe8c6
      ebcee0b6
    • David Barker's avatar
      no-frame-context-signaling + q-adapt-probs: Fix interaction · 11eac7bf
      David Barker authored
      Slightly change the way we save and reload frame contexts during
      frame setup. For "normal" frames everything is the same, but for
      error-resilient and/or intra-only frames, we now:
      
      * Reset the frame context using setup_past_independence()
        (+ extra code if q-adapt-probs is enabled), as usual
      * Store this frame context into a special slot in cm->frame_contexts
      * Use that slot to fill in cm->pre_fc
      
      The main difference from before is that (for error-resilient/intra-only
      frames which are not key frames) we used to throw away the frame
      context after setting it up, and would re-use whatever was set up
      at the last keyframe.
      This was fine when q_adapt_probs is disabled, but it caused an
      inconsistency when combined with q_adapt_probs. See the attached
      bug report for more details on that.
      
      BUG=aomedia:1104
      
      Change-Id: I9532b6b0e8ae29efbb4f059a0c67a73d7c7828ce
      11eac7bf
  20. 05 Dec, 2017 2 commits
    • Dominic Symes's avatar
      max-tile: Fix issues discovered when testing max-tile · 917d6c06
      Dominic Symes authored
      max-tile remains off by default until more testing is performed but I would
      like to check in the fixes that are known so far to prevent this patch getting too big
      
      max_tile was provisionally adopted at the working group meeting 2017-Oct-10
      
      This patch fixes the following issues:
      - max_tile is fixed to suport superblock size 64x64 as well as 128x128 (ext_partition support)
      - max_tile is fixed in combination with loop_restoration
      - max_tile is fixed in combination with ext_tile (Bug: 1013)
      - max_tile is fixed in combination with lv_map and 64x64 subperblock (lv_map memory allocation
        fixed for 64x64 superblock)
      - max_tile reports the size of the first tile for inspection.c used by the analyzer
      
      Change-Id: Ib83ff613e5d66563c81452a085c7984d3b4813e4
      917d6c06
    • Sebastien Alaiwan's avatar
      Remove ANS experiment · b0460fa9
      Sebastien Alaiwan authored
      This experiment has been abandonned for AV1.
      
      Change-Id: I8110720cef1b56dbce4008a998d8f4281dd2fe44
      b0460fa9
  21. 30 Nov, 2017 2 commits
    • Luc Trudeau's avatar
      [CFL] CfL Initialization Simplification · 1e84af52
      Luc Trudeau authored
      The CfL context is now stored inside MACROBLOCKD instead of
      MACROBLOCKD only storing a pointer to the CfL context.
      The intent is to avoid race conditions as MACROBLOCKD is stored
      inside ThreadData. This change also simplifies CfL Initialization.
      
      Change-Id: I991503716b21fc9aca60caddb2008b8bff397e6d
      1e84af52
    • Jingning Han's avatar
      Make adaptive scan order support multi-threading · 0bd3bf69
      Jingning Han authored
      Count the non-zero appearance per tile and update per frame. This
      resolves an enc/dec mismatch in multi-threading coding.
      
      BUG=aomedia:1073
      
      Change-Id: I474f05913e6c3f75ca3fa1057bd4809ef51af164
      0bd3bf69