1. 10 May, 2017 10 commits
    • Nathan E. Egge's avatar
      Force EC_MULTISYMBOL on when --enable-cfl. · 28791653
      Nathan E. Egge authored
      The cfl experiment depends on ec_multisymbol.
      Change-Id: Ibbdf810b6c586f81fb8bcefa39696c7033970c47
    • Sebastien Alaiwan's avatar
      Enable build support for high-bitdepth by default · 92400ab7
      Sebastien Alaiwan authored
      This causes the HBD operating path to be compiled by default, allowing
      default builds to handle all AV1 profiles, instead of only Profile 0.
      This doesn't change the current behaviour of the code.
      This will help ensuring the HBD operating path continues to compile.
      Change-Id: I8774b9586b1da479ce3882df482ac3cd3048a9d5
    • Jingning Han's avatar
      Make cdef boundary condition check support 128x128 block · 945a6a1f
      Jingning Han authored
      This resolves the performance issue in ext-partition. The
      compression performance is up from 0.9% loss to 0.4% gains in
      Change-Id: I0dfeee828dbc114842c72361683271487108c593
    • Jingning Han's avatar
      Simplify logic in write_modes_sb · 80f74b0a
      Jingning Han authored
      Remove redundant #if statements and condition checks.
      Change-Id: Ic7885564f21730ca67279202a9bcd51f45a04414
    • Nathan E. Egge's avatar
      Simplify ifdef's in encoder. · 23e4e7b6
      Nathan E. Egge authored
      Change-Id: I110f7b6cad1935351f8d379bc8a208363e07ecd0
    • Yaowu Xu's avatar
      Change to use defined macros · f35f527f
      Yaowu Xu authored
      Fixes compiling issue of using un-defined macros.
      Change-Id: Icf754083c9797c3e141ef247bcd4aa6288ef8877
    • Tom Finegan's avatar
      Add Emscripten support to the CMake build. · d46b4d30
      Tom Finegan authored
      Supporting Emscripten requires modification of all uses of the
      target_link_libraries() function to match the form
      of the target_link_libraries() call in Emscripten.cmake.
      The AOM_LIB_LINK_TYPE variable has been added to allow for
      flexibility on the libaom side when using toolchains that
      behave similarly to Emscripten.cmake wrt
      To use CMake for an Emscripten build, first install Emscripten, then:
      $ cmake path/to/aom -DCMAKE_TOOLCHAIN_FILE=path/to/Emscripten.cmake -DAOM_TARGET_CPU=generic
      Change-Id: I22c7df7912ecfdbc2a52180086b205cc8dcfc0c6
    • Debargha Mukherjee's avatar
      Change wedge primitive functions · 0f50dcd4
      Debargha Mukherjee authored
      Change-Id: Ia2ab55cf13dd269a42653cfd810ed287883111c0
    • Sarah Parker's avatar
      Lower base weight in difference modulated masks · 7bb84f30
      Sarah Parker authored
      This improves peformance on the lowres set by about 0.05%
      Change-Id: I2b7b7ae11eb96ac6ff582438bcc8e12925f1e2b3
    • David Barker's avatar
      Fix for the use of prev frame mvs when ext-refs is on · 40a42d4b
      David Barker authored
      Also fix a mismatch for resizing with ext-refs enabled.
      There are various preconditions which need to be true for it to
      be valid to set cm->use_prev_frame_mvs = 1, including that the
      sizes of this frame and cm->prev_frame must be equal.
      With ext-refs enabled, we would sometimes decide to change
      cm->prev_frame to point to the LAST_FRAME reference, without
      re-checking the preconditions. If the LAST_FRAME was smaller
      than the current frame, this could lead to reading garbage off the
      end of its mv array, and eventually to an encode/decode mismatch.
      We fix this by rewriting the preconditions as checks on
      cm->prev_frame directly (rather than using cm->last_width and
      cm->last_height), and by testing the preconditions after any
      possible adjustment.
      This should not affect the bitstream unless ext-refs is enabled,
      but may affect the bitstream with ext-refs even if resizing is
      not used.
      Change-Id: I7dfd9ba82cdf77acc2e27e0c9f3aee21d6afeb54
  2. 09 May, 2017 26 commits
    • Debargha Mukherjee's avatar
      Build fix for ext-inter · ad8be034
      Debargha Mukherjee authored
      Introduced in https://aomedia-review.googlesource.com/c/11432/
      Change-Id: Icbcd2caebd1d0f5451e487722f2078d21e70ee41
    • Alex Converse's avatar
      intrabc: Allow ext_tx transforms · daa15e4e
      Alex Converse authored
      objective-1-fast results:
      sequence       PSNR    PSNR HVS    SSIM    CIEDE   APSNR   MS SSIM VMAF
      average        -0.02    0.01       -0.02   -0.03   -0.02    0.00    0.06
      1080p           0.02    0.01        0.03    0.00    0.01    0.02    0.09
      1080p-screen   -0.32   -0.28       -0.32   -0.44   -0.31   -0.27    0.00
      360p            0.06    0.14        0.10    0.10    0.08    0.11    0.22
      720p            0.00    0.04       -0.05    0.01    0.00   -0.01   -0.10
      wikipedia_420  -1.04   -0.95       -1.05   -1.30   -1.03   -0.88   -0.29
      Change-Id: I30ce8a869daf1c3ed539ffed552786cbb785e7d0
    • Thomas Daede's avatar
      Re-add encoder speed 8, but without VAR_BASED_PARTITION. · 1206a685
      Thomas Daede authored
      Partial revert of "Remove encoder speed 8 in AV1"
      Change-Id: I474e26700047854353347ce97cc7d545e3ca0642
    • Yi Luo's avatar
      Use saturation addition to do rounding for avx2 IDCT · 165adf8e
      Yi Luo authored
      - Found this bug when increasing unit test number to 10000.
      - Unit test is therefore also updated.
      Change-Id: I938e96f6ebd35ae1bd8affebf8665e1da49a324b
    • Yaowu Xu's avatar
      Reduce number of AltRefForcedKeyTestLarge tests · 54cae22e
      Yaowu Xu authored
      Change-Id: I14c72d8508f250946f8feb221bcd5a48521b787c
    • Yaowu Xu's avatar
      Reduce number of video frames in set_maps test · 93d3001b
      Yaowu Xu authored
      Change-Id: I29d5c68ffe9bc9f440d7c0e8f2e134dd64267d78
    • Yaowu Xu's avatar
      Prevent access array with -1 index · 37fe5fbc
      Yaowu Xu authored
      Change-Id: I9fdf3b543a00700d47b3012b3de7b30ae455900f
    • Yaowu Xu's avatar
      Reduce number of tests for DatarateTest · 446d037b
      Yaowu Xu authored
      Change-Id: I8b52eadefa1946c082bdd06f07657aa2d43e3f2c
    • Urvang Joshi's avatar
      rdopt.c: Add intra-only sanity checks. · 330aec86
      Urvang Joshi authored
      Adds sanity checks to methods that should only be called for intra
      Change-Id: I34b24dbb24f6d35ff42bbdf31d29eef2980a05b4
    • Alex Converse's avatar
      Move AOM_CHECK_MEM_ERROR away from the ABI defining aom_codec_internal.h · 8d38fb74
      Alex Converse authored
      Change-Id: I0c2ae6110142ce6fc6bedf10f1ba3778a8c19c3e
    • Jingning Han's avatar
      Fix enc/dec mismatch in ext-partition and cdef · df068334
      Jingning Han authored
      Change-Id: I97ecab4f01417734c83a9b8886f145236c9b38a5
    • Tom Finegan's avatar
      Default CMake build type to release with debug info. · fc1aac56
      Tom Finegan authored
      Use RelWithDebInfo when CMAKE_BUILD_TYPE is empty in
      non-emscripten builds.
      Change-Id: Ie1e8aba5949f28e66056e2efdff1a0fb26ad04bb
    • Jingning Han's avatar
      Rework inter prediction process in cb4x4 mode · c44009c1
      Jingning Han authored
      Use 2x2 inter prediction for chroma component. This improves the
      compression performance by 0.6% for lowres.
      Change-Id: If9d98e49cee63f40085b179652bfacc31ff462ea
    • Sebastien Alaiwan's avatar
      Reduce variable scope · b507bf19
      Sebastien Alaiwan authored
      This fixes a warning about unused computed values when
      Change-Id: Ibf1076c4838f750da4a1b940b550ef8ecac6ba02
    • Fergus Simpson's avatar
      resize-refactor: Change resizing process with helpers · fecb2abc
      Fergus Simpson authored
      Adds three new helpers and changes one other. The intention of this is
      to make the triggering and function of resizing simpler. The new process
      is to resize to the next state and then update the current state to
      match. The new helpers reflect this change and make the overall flow
      resize_pending is now a helper instead of a member, so it doesn't need
      to be raised manually. A resize is pending when the numerator or
      denominator of the next resize state is different from the current one.
      resize_pending could be 1 (scale down), 0 (no change), or -1 (return to
      original resolution if 1-pass CBR), but now it can only be 1 or 0. To
      return to the original resolution just set the scale to 1:1. This
      reduces complexity with no change in functionality.
      resize_unscaled just returns 1 if the current numerator and denominator
      are equal. This makes some if conditions cleaner.
      resize_step makes the current scale equal to the next scale. This
      signifies that a resize is complete and will cause resize_pending to be
      false until the next state is changed. This is the end of the new
      resizing procedure.
      av1_calculate_coded_size has been changed to calculate the next size
      instead of the current size. The current state can't be updated until
      the resize is complete because if it were, the resize_pending state
      would drop and the resize wouldn't finish. This just means the next
      resolution is the target resolution until the resize is complete.
      Change-Id: I5d5855cc83f532d3a8b1f8853ba70a0d43221fbf
    • Sebastien Alaiwan's avatar
      Fix warning about unused functions · e13a11f3
      Sebastien Alaiwan authored
      Change-Id: Ia6707cf50441f757fb053daeae85fb2d0c9b135e
    • Zoe Liu's avatar
      Remove the incorrect comment · dd0d4264
      Zoe Liu authored
      The element of "idx" in the data structure of RefBuffer is a
      connection between AV1_COMMON::RefBuffer and
      It is being used currently in many places in both the encoder and the
      decoder. "idx" is not only used to track whether a reference buffer is
      alive, but also serve as the connection to RefCntBuffer which contains
      info that RefBuffer itself cannot access.
      Change-Id: I5ccdb9c2afe840d04a025da359a704f5fc216ddd
    • Zoe Liu's avatar
      A small cleanup on LOWDELAY_COMPOUND · 3ca58dfb
      Zoe Liu authored
      Change-Id: I98ada843016d0dd046f89bbcb2e9ae72442a101e
    • Angie Chiang's avatar
      Make convolve_round work with warped_motion · 05685e9a
      Angie Chiang authored
      Warped_motion doesn't go through inter_predictor() function to
      generate prediction where convolve_round is activated.
      Therefore, we could avoid doing post rounding when the
      warped_motion mode is on.
      We use do_post_rounding to indicate whether post rounding is
      Change-Id: Ib17a0c0d4e6e5232e9682afa8cfdb9576f5cf4c0
    • Fangwen Fu's avatar
      Sync enc/dec for tempmv_signaling · 930c51c3
      Fangwen Fu authored
      * Change ref parameter to use LAST FRAME instead of
       previous frame, which makes it consistent in
       enc/dec for tempmv_signaling.
      Change-Id: I02f1101623b7b3b09cd4d3f2977e9503b95818ec
    • Luc Trudeau's avatar
      [CFL] Compute prediction block DC_PRED as double · bad82f1f
      Luc Trudeau authored
      The prediction block level DC_PRED is stored and computed as double
      instead of int.
      Change-Id: I22766c102a7b62d4b5e7621438185808cc0ea8f4
    • Luc Trudeau's avatar
      [CFL] Support for skip_chroma_rd in CB4X4 · 2c317905
      Luc Trudeau authored
      CFL is disabled when skip_chroma_rd is enabled. This is done by reusing
      the logic in CB4X4. To facilitate integration, the skip logic used in CfL is
      moved inside the read/write functions.
      Results on Subset1:
      master@2017-05-08T19:54:48.196Z -> cfl_baseline@2017-05-08T20:06:55.292Z
        PSNR |  PSNR Cb |  PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.2668 | -12.0951 | -10.4138 |   0.3095 | 0.2998 |  0.2831 |    -3.6579
      Change-Id: I45644baa1aceef5ad4da3332fcb10f3fbaac052b
    • Sarah Parker's avatar
      Enable ext-tx by default · d7b8320e
      Sarah Parker authored
      Change-Id: I30b1367b8f1417abb36f80ea634036af48afa0ae
    • Urvang Joshi's avatar
      Remove an obsolete TODO about II_SMOOTH_PRED. · a7ebdaec
      Urvang Joshi authored
      This has been taken care of already.
      Change-Id: I0198fdbcd48fc355013de79644513279c8acb0de
    • Fangwen Fu's avatar
      Make tile dependency experiment work with ext tile. · 70bcb89b
      Fangwen Fu authored
      * Add tile dependency support when ext tile enabled.
      Change-Id: I8fe40adf285e171b5b761b15590a8b1c6758b8f7
    • Yaowu Xu's avatar
      Speed up ErrorResilienceTestLarge test · 2e7da0a0
      Yaowu Xu authored
      Reduce number of video frames used in tests
      Change-Id: I96ccdd69870d4ad9f56f7899be3c4ffe4e6e0943
  3. 08 May, 2017 4 commits
    • hui su's avatar
      Palette: avoid memory leak with encoder buffers · 5d493143
      hui su authored
      For multi-thread encoding, previously the encoder buffers are
      allocated at every frame, but only freed at the end of encoding,
      causing memory leaks.
      Change-Id: Id0e9d7fba8330e82be9cec1d42b7d4b017b8d772
    • Yaowu Xu's avatar
      Change to use 10 frames in BordersTest · 26843a01
      Yaowu Xu authored
      Change to use 10 frames only in BorderTest instead of 40 frames, to
      reduce time needed for tests.
      Change-Id: Ia176eb3f643d007fa4d1c5fc182f16d3e7cdf700
    • Yaowu Xu's avatar
      Change to use 15 frames in AqSegmentTest · a51cb568
      Yaowu Xu authored
      Change to use 15 frames only instead of 100 frames, to reduce test
      Change-Id: Ib7cf48d2629e8d920f2c2b12820845618d6d58d7
    • Yaowu Xu's avatar
      Change screen content test to use 3 frames only · 3ccca4bb
      Yaowu Xu authored
      Change to use 3 frames for screen content test from 10 frames, to
      reduce test time needed.
      Change-Id: Ic7b44be6f3f2b65e7035bdcf24794b814b239ad1