1. 20 Apr, 2017 21 commits
    • Sean Purser-Haskell's avatar
      Correct row padding to avoid overflow in all cases. · 775a4bed
      Sean Purser-Haskell authored
      Change-Id: I88041e954fa6cff5986458309bb28fa2e3c9758c
    • James Zern's avatar
      tests: use scoped_ptr for local video source vars · 9aeaeb7d
      James Zern authored
      prevents leak / static analysis  warnings on ASSERT*() failures
      Change-Id: I1d3edbdbb18dbbe3b17691971348a8121cf09afa
    • Urvang Joshi's avatar
      Common Identity 16x8 transform: forward and reverse. · bd343f43
      Urvang Joshi authored
      The code for forward and reverse transform was exactly same, so moved to
      a common header.
      Change-Id: Ic0d82b6213127c757c81e7a84045a30e28036161
    • Urvang Joshi's avatar
      highpass_filter: Refactor the highbd and lowbd versions. · c92c6e9d
      Urvang Joshi authored
      Almost the whole function was common except the type of 'dgd', so use a
      common helper function.
      Change-Id: I4bf20dce5f2faeaa7e6255452282f7653090b990
    • Urvang Joshi's avatar
      warp_affine_c: Refactor highbd and lowbd versions. · 8cd0e7ef
      Urvang Joshi authored
      Only a few lines differed between the two.
      Change-Id: I304c07d962c9a166596ec97ae4e2ec23ea90a195
    • Alex Converse's avatar
      global_motion: Make symbols not used in other files static · 88b4e7d7
      Alex Converse authored
      Change-Id: Iea0b41152bce90c53b1b0668776ae0d4c854d4ab
    • Alex Converse's avatar
      Lowercase cpi->Source and cpi->Last_Source · f77fd0b0
      Alex Converse authored
      Change-Id: I8d1a0342e11877e466a1fb771f9a1941598c95d5
    • Urvang Joshi's avatar
      quantize_b_c: Refactor highbd and lowbd versions. · e78b6f4d
      Urvang Joshi authored
      The two functions were exactly the same.
      Change-Id: I8062dc06ec054d58a97be7396fc07bafc13e5fd5
    • Yue Chen's avatar
      Always use above predictor in under 8x8 chroma obmc · f7ba6470
      Yue Chen authored
      Change-Id: Ic23c96b78112ef9fbd7adad69f63bdbe3a56ce23
    • Sebastien Alaiwan's avatar
      Drop support for CONFIG_EMULATE_HARDWARE · c6a48a25
      Sebastien Alaiwan authored
      This experiment complexifies DSP function dispatch, without bringing
      any real value (it's non-normative arbitrary behaviour).
      Moreover, it only has an effect on obsolete transforms, the new ones
      don't implement this mechanism.
      Change-Id: Idaccdd0c14ed6b7008cd4f365c7f017ba8ccacf5
    • Alex Converse's avatar
      intrabc: Add initial skeleton · 28744309
      Alex Converse authored
      Missing features:
      * RDOPT (Forced on for certain blocks)
      * Any form of border extension
      * Non MI sized right and bottom edges
      * MV prediction
      Present features:
      * Force intrabc for some blocks
      * Carry intrabc in the bitstream
      * Validate DV is causal
      * Reconstruct intrabc block assuming border extension is unnecessary
      Change-Id: Ib1f6868e89bfacc2a4edfc876485bad1b347263b
    • Thomas Davies's avatar
      NEW_TOKENSET: speed up decoder loop. · de8f8f7a
      Thomas Davies authored
      Change-Id: I1a220c9c0190ff38603f1d3a6601d04f5aaaf224
    • Jingning Han's avatar
      Fix ext-inter decode mem access · 1b5bd000
      Jingning Han authored
      Change-Id: I8bd7ca9556cee87f84189a2f08d152ff7ad85f87
    • Zoe Liu's avatar
      Fix the build failure combining ext-refs and xiphrc · e04abf72
      Zoe Liu authored
      Change-Id: I815d37986119b20ff386c640fe60e41aef785be3
    • Zoe Liu's avatar
      Fix the build failure combining ext-refs and tempmv-signaling · 453aef6e
      Zoe Liu authored
      Change-Id: I3673e84faccc0d4e1a7c433660f783f1eccbdb85
    • Jonathan Matthews's avatar
      Bugfix: Insert missing bracket · b28b78cd
      Jonathan Matthews authored
      Introduced in Change-Id I06b8b75b667bb1bc4ddffc78f895e48a09f4c578
      Change-Id: Ic261617fced9d211a93c075bff2e2b4771de98fc
    • Sebastien Alaiwan's avatar
      Fix encoder use of 16-bit operating path · 374a5907
      Sebastien Alaiwan authored
      When compiled with --disable-lowbitdepth, the decoder uses the generic
      16-bit operating path, regardless of the input video profile.
      The encoder should also use the generic 16-bit operating path if the
      low-bitdepth operating path has been disabled at build time.
      Change-Id: I421cc774b45d2c76bea8730cc8726224cb4aba1e
    • Yushin Cho's avatar
      Fix daala-dist in sub8x8 inter rdo without cb4x4 · 4483e3dd
      Yushin Cho authored
      Fixes several bugs in daala-dist, sub8x8 inter mode
      with --disable-cb4x4.
      Changes on BD-Rate are:
      (objective-1-fast, high delay mode, --disalble-cb4x4):
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      14.0337 | 13.0132 | 14.6055 |  -3.2030 | -2.2092 | -9.3902 |    10.3399
      Additionally, BD-Rate change by daala-dist in enforced MSE mode
      which can show the correctness of implementation is
        PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      0.0048 |  0.0789 |  0.0209 |   0.0443 | 0.0137 |  0.0411 |     0.0441
      Change-Id: I68ec90c6072aa3564522c2b8e87b62a998cec47c
    • David Barker's avatar
      Harmonize ext-inter and ref-mv · 3dfba994
      David Barker authored
      This changes the behavior of the ext-inter compound modes
      as follows:
        work the same as the corresponding compound modes without
      * NEAREST_NEWMV and NEW_NEARESTMV keep their current behavior,
        which is to use the first ref-mv candidate pair for their
        particular reference frames
      * NEAR_NEWMV and NEW_NEARMV select between the second, third,
        and fourth candidate pairs.
      * NEAREST_NEARMV and NEAR_NEARESTMV use the first candidate
        pair for the NEAREST component and the second, third, or
        fourth candidate pair for the NEAR component.
      Also do some minor refactoring and fix compile errors
      with --enable-ext-inter --disable-ref-mv
      Change-Id: If0d2a60559083b7c1189909d426b705af42d2d0e
    • hui su's avatar
      palette-delta-encoding experiment · d13c24a5
      hui su authored
      Transmit palette colors with delta encoding.
      Coding gain on scrren_content testset:
      overall 0.67%  keyframe 1.37%
      Change-Id: I72ce9061dfddf933e9f7530f069955afcb07edf8
    • Yunqing Wang's avatar
      ext_tile: add 2 tile encoding modes · d8cd55f4
      Yunqing Wang authored
      Added 2 tile encoding modes:
      TILE_NORMAL mode supports the large-scale tile coding up to 1024 x 1024
      TILE_VR mode supports the large-scale tile coding and also the decoding
      of a single tile.
      TILE_NORMAL mode allows the non-vr content to be encoded in multiple tiles
      without using the coding tool that are designed for vr applications.
      Change-Id: Id804806a1bbcb916b7f5dc7e2c5509d88f3defcb
  2. 19 Apr, 2017 11 commits
    • Frederic Barbier's avatar
      Initialize the reference vector list · 7a84fd8c
      Frederic Barbier authored
      Change-Id: If5e82229ca9e312c167230d0f0c8c8c8a785892d
    • James Zern's avatar
      use storage.googleapis for testdata download · f9687c5b
      James Zern authored
      replace downloads.webmproject.org with the canonical
      storage.googleapis.com/... form. this appears less likely to fail when
      dealing with multiple concurrent connections.
      original change in libvpx:
      22f7aca09 use storage.googleapis for testdata download
      Change-Id: Ie1bc329fecb336f089a662451b8ebf0c0d9dc2d6
    • James Zern's avatar
      Revert "Enable ext-refs as default" · 829dbf29
      James Zern authored
      This reverts commit acbb5dfe.
      This causes build warnings / failures with a combination of experiments.
      Change-Id: If8364845b7c1455957956c464da46805275c90c0
    • Fergus Simpson's avatar
      bitstream-debug: Merge queue_pop and queue_push · 2f905d26
      Fergus Simpson authored
      The bitstream_queue_pop and bitstream_queue_push functions were
      implemented twice each, one implementation for CONFIG_DAALA_EC being set
      and for it not being set. This could cause issues with debugging since
      there's two potential paths, meaning breakpoints and edits need to be
      inserted twice.
      The functions were already minimally different, so this patch merges the
      implementation pairs to simplify the code.
      Change-Id: I37cdd96470f0ae41b25dc28da50e2c7a1b9af01e
    • James Zern's avatar
      test-data: restrict large yuv to perf tests · 86251126
      James Zern authored
      niklas_1280_720_30.yuv (~619M) is only required with
      Change-Id: I143f7e83215b4b7214cf45b752c94a9ee05093d4
    • Zoe Liu's avatar
      Enable ext-refs as default · acbb5dfe
      Zoe Liu authored
      Change-Id: I53c844724794e13116152d0492bbcdd3ece12d17
    • David Barker's avatar
      Fix some rdopt bugs in ext-inter · cb03dc34
      David Barker authored
      * Refactor write_inter_mode and cost_mv_ref slightly
      * In handle_inter_mode: When discount_newmv_test returns 1,
        ext-inter is enabled, and we're costing up a compound mode,
        we would previously call cost_mv_ref with mode=NEARESTMV and
        comp_pred=1. But this is inconsistent when ext-inter is enabled!
        Fix this by changing the behaviour of cost_mv_ref to (effectively)
        derive comp_pred from the mode passed in, and switch to
        mode=NEAREST_NEARESTMV in the above case.
      * Fix incorrect motion vector costing for some compound modes
      * Fix a case where compound blocks were mis-costed. This primarily
        affects ext-inter *without* wedge or compound-segment enabled,
        but should still have some small impact when those experiments
        are enabled.
        The cause of this is that we only spend bits to send the
        interinter compound type if is_any_masked_compound_used(bsize)
        returns true. But the rdopt loop forgot to check this condition
        in one case.
      Change-Id: I8b54cb3552f9ec384fd5ea260e12685168fbccc1
    • Steinar Midtskogen's avatar
      Retune CDEF dering threshold adjustment · fade4637
      Steinar Midtskogen authored
      Change the adjustment range from [50% ... 300%] to [25% ... 100%].
      Adjustments above 100% were very rare, and capping the adjustment at
      100% adds SIMD optimisation opportunities.  And lowering the other end
      to 25% seems to help compresson slightly.
      Low latency, used-cpu=0:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
      -0.0453 | -0.1118 | -0.1127 |  -0.0689 | -0.0429 | -0.0814 |    -0.0762
      High latency, used-cpu=0:
         PSNR | PSNR Cb | PSNR Cr | PSNR HVS |   SSIM | MS SSIM | CIEDE 2000
      -0.0303 |  0.0583 |  0.1740 |  -0.0440 | 0.0033 | -0.0042 |     0.0040
      Change-Id: Id999158330a53e8c3383cd0e53a91c7f59fe062a
    • Steinar Midtskogen's avatar
      Signal CDEF damping in the frame header · 0c966a50
      Steinar Midtskogen authored
      Change-Id: I57f232623e647f029b007de8ddb203c47ca3c11c
    • Michael Bebenita's avatar
      Fix CDEF SIMD code for cb4x4 · efacce93
      Michael Bebenita authored
      Change-Id: Iec83111328d5343250b9a35dc2896541393f3efa
    • Sean Purser-Haskell's avatar
      Fix array bounds overflow in warped test. · a57f77f2
      Sean Purser-Haskell authored
      Change-Id: Ie92cd0a4a97312f40fe8604ac671dc43188b5647
  3. 18 Apr, 2017 8 commits
    • Alex Converse's avatar
      intrabc: Add experiment · 576f0652
      Alex Converse authored
      Change-Id: If73aee341df8e9fe2d2a4e46f0bf4a0180cd4b5f
    • Ralph Giles's avatar
      Don't export kMinCompressedSize. · 19944291
      Ralph Giles authored
      kMinCompressedSize was defined as a global constant, so it
      was exported by default and possibly causing duplicate
      symbol issues for applications. In particular, libvpx also
      exports this symbol.
      Instead, move the definition into the only function which
      references is. As a local variable it is hidden from the
      linker and not part of the global symbol table.
      Change-Id: If8b3bc4c487197237adb04749cd3dd4792e39893
    • Fangwen Fu's avatar
      Set palette_throughput experiment default on. · 2d422fb1
      Fangwen Fu authored
      Change-Id: I6c0897f9d432121c425ae1cea34bd7f72d207c72
    • Ryan Lei's avatar
      unify the intra prediction angle options for different block sizes · c81ea6e0
      Ryan Lei authored
      this change unifies the intra prediction angles so that 8x8 block has
      the same number of angles and angle steps as 16x16 and 32x32 blocks.
      the benefit is that HW implementation can have the same logic to
      handle all block sizes. otherwise, prediction angles for 8x8 is
      different from other block sizes, which requies special logic.
      Change-Id: I99f8d82b4b96fa1442a657b56a93e326f1eec321
    • Angie Chiang's avatar
      Redo txfm/quant in av1_txk_search · 2ed03a37
      Angie Chiang authored
      Change-Id: I622d499187f3881b274ca6cf3745f51fa0103b18
    • Angie Chiang's avatar
      Add txk_sel exp · cd9b03fb
      Angie Chiang authored
      This will separate the transform kernel selection from lv_map
      experiment such that we can evaluate each feature's performance
      Note that txk_sel is build on top of lv_map
      Change-Id: I5bd1ea99be30000efcdc2bcd42de002b78b1c3c8
    • Timothy B. Terriberry's avatar
      ec_smallmul: Convert CDFs to iCDFs. · f6c807c5
      Timothy B. Terriberry authored
      Hoists the iCDF conversion outside of the daala code.
      We directly store 32768 - cdf[i] in each cdf, to avoid having to
      convert the whole array every time a symbol is coded.
      This works with ec_multisymbol, new_tokenset, and ec_adapt.
      Compared to Change-Id Idbbd3743e9189146cb519d5b984bdabd69e3f4c0,
      this improves decoder runtimes by 1.15% at QP=55 and 2.64% at
      The overall slowdown of ec_smallmul is now 0.12% at QP=55 and
      0.44% at QP=20.
      Encoder output should not change, and all streams should remain
      decodable without decoder changes.
      Change-Id: I06b8b75b667bb1bc4ddffc78f895e48a09f4c578
    • Yi Luo's avatar
      Deliver the eob threshold to inverse transform · f8e87b46
      Yi Luo authored
      Change-Id: Iaa8ab77eb4a982759939fb5fc475f699cb21a4e1