1. 21 Dec, 2017 2 commits
    • James Zern's avatar
      vp9_quantize_ssse3_x86_64: fix out of bounds write · 84a7263d
      James Zern authored
      eob is a pointer to a uint16_t. previously the code would store 64-bits
      causing a crash or test failure with the right stack layout.
      Change-Id: Ibd653baf323db114f2444951b9d8b00c596bf15a
    • James Zern's avatar
      Revert "Add vp9_quantize_fp_nz_c()" · 7a245adb
      James Zern authored
      This reverts commit 86842855.
      SSSE3/VP9QuantizeTest.EOBCheck/1 fails on Mac and the build breaks under
      visual studio due to a #if within another macro.
      Change-Id: I475095a04aafcc714fade2b24e4df7b682be2cd1
  2. 20 Dec, 2017 3 commits
  3. 19 Dec, 2017 3 commits
    • Scott LaVarnway's avatar
      Add vp9_quantize_fp_nz_c() · 86842855
      Scott LaVarnway authored
      This c version uses the shortcuts found in the x86
      vp9_quantize_fp functions.
      The test was updated to use the correct quant/round range.
      Change-Id: I5d19f8af2fddda8e50910249eafb740acb29415b
    • Marco's avatar
      vp9: Reset buffer level on large bitrate changes. · a2127236
      Marco authored
      For a large change in the target avg_frame_bandwidth,
      via the update in change_config()), reset the buffer_level
      to optimal_level.
      This fix prevents possible frame drops, where for example,
      encoder suddenly goes from lower to higher bitrate.
      Change-Id: I2f844c41d04c01240e85f574e59d2b9075c7eb6d
    • James Zern's avatar
      lpf_test: correct threshold ranges · 5203b40a
      James Zern authored
      the random number generator creates values from [0, range) add 1 to all
      and make hev more realistic by mirroring its calculation of level >> 4,
      i.e., [0, 3]
      Change-Id: Ic19be5d7ba668deb17c96f143b739116a4b5d21c
  4. 15 Dec, 2017 2 commits
  5. 14 Dec, 2017 10 commits
  6. 13 Dec, 2017 4 commits
    • Marco's avatar
      vp9: Update to SVC datarate tests. · c58f0172
      Marco authored
      With recent fixes to rate control for SVC the
      buffer underrun in the tests does not happen,
      so comment and TODO can be removed.
      Also, in some of these SVC tests, replace the HD clip
      with the corresponding VGA clip, which has > 400 frames.
      For the (niklas) HD clip: it has only 60 frames but the
      test was running up to 300 frames. Fixed it to 60 frames.
      Keep some tests with the HD clip, needed for the 4 thread
      and 5 level scaling test.
      Change-Id: I0a2356a908e8b2271c7a422eb8b15c0d56eec968
    • Marco Paniconi's avatar
    • Marco's avatar
      vp9: Cleanup/remove TODO comment. · e9ad5d2a
      Marco authored
      Change-Id: I2bd43e996909ad688b7e00b81ee19a5fc4df460b
    • Marco's avatar
      vp9: Reset rc flags on some configuration changes. · a40fa1f9
      Marco authored
      For large dynamic changes in target avg_frame_bandwidth, or
      a change in resolution, via the update in change_config()),
      reset the under/overshoot flags (rc_1_frame, rc_2_frame)
      to prevent constraining the QP for the first few frames
      following the change.
      For SVC use the spatial stream avg_frame_bandwidth in
      reset condition.
      For the avg_frame_bandwidth condition, use fairly large
      threshold (~50%) for now in reset.
      This allows for better/faster QP response if, for example,
      application dynamically changes bitrate by large amount.
      Change-Id: Ib6e3761732d956949d79c9247e50dba744a535c0
  7. 12 Dec, 2017 2 commits
  8. 11 Dec, 2017 2 commits
  9. 08 Dec, 2017 1 commit
    • paulwilkins's avatar
      Bug fix for second reference stats. · f1ce050f
      paulwilkins authored
      Immediately following a key frame the trailing second reference
      error in the first pass stats will be based on a reference frame from
      the prior key frame group and will thus usually be much larger.
      This fix eliminates that effect (which typically triggers a short arf
      group immediately after a key frame). It also changes the accounting
      for the first frame in each new arf group.
      This change gives large gains on a couple of clips that contain mid
      sequence key frames (e.g. 6% on 1080P tennis). Overall there was
      a net gain in PSNR and PSNR-HVS ~(0.05- 0.4%) and mixed results for
      SSIM (+/- 0.2%).
      Change-Id: I8e00538ac2c0b5c2e7e637903cac329ce5c2a375
  10. 07 Dec, 2017 1 commit
  11. 06 Dec, 2017 7 commits
    • Jerome Jiang's avatar
    • Jerome Jiang's avatar
      Add frame width & height to frame pkt. Add test. · bd1d995c
      Jerome Jiang authored
      Used to return correct frame width and height when dynamic resizing happens.
      Change-Id: Ia2043f7e1635b3821848a67b9b134f47f14b0f3a
    • Marco's avatar
      vp9-svc: Set downsampling filter for VGA layer. · 3562d6b0
      Marco authored
      Downsampling filter for SVC was set to subsample (phase 0)
      for HD -> VGA, and bilinear averaging (phase 8) for VGA -> QVGA.
      This change makes it bilinear averaging for HD -> VGA.
      Given the recent commit 9f9d4f8d, quality is improved with
      this change: avgPSNR/SSIM up ~1-3% on HD clips in RTC set.
      Speed decrease of ~1% for 3 layer SVC.
      Change-Id: If834a320e372b8b922a6bf7cab4227703b1beae6
    • Marco Paniconi's avatar
    • Hui Su's avatar
    • Marco's avatar
      vp9: Nonrd-pickmode: move some early exits up. · 33953f31
      Marco authored
      Move the early exit checks on usable_ref_frame and
      skip_ref_find_pref up before the check on flag_svc_subpel.
      The code under flag_svc_subpel requires frame_mv to be set
      for the golden/spatial reference, which is only set if the
      both those exits don't pass.
      No change in behavior.
      Change-Id: Id304276c745eeb389ff85fa2dcf510d5976bc413
    • Marco's avatar
      vp9-svc: Allow for nonzero motion on spatial reference. · 9f9d4f8d
      Marco authored
      For nonrd pickmode on a given spatial layer, the spatial
      (golden) reference was always only using zeromv for prediction.
      In this patch if the downsampling filter used for generating
      the lower spatial layer is an averaging filter (nonzero phase),
      we allow for subpel motion on the spatial (golden) reference to
      compensate for the shift. This is done by forcing the testing of
      nonzero motion mode to compensate for spatial downsampling shift.
      Improvement for cases where the downsampling is averaging filter.
      In the current code this is only done for generating
      resolutions <= QVGA.
      Improvement for avgPSNR/SSIM on RTC set for speed 7: ~1.2%.
      Gain is larger (~2-3%) for VGA clips with 2 spatial layers.
      ~1% speed slowdown for 3 layer SVC on mac.
      Change-Id: I9ec4fa20a38947934fc650594596c25280c3b289
  12. 04 Dec, 2017 1 commit
  13. 02 Dec, 2017 1 commit
  14. 01 Dec, 2017 1 commit
    • Johann's avatar
      filter out asm includes · e83d00f5
      Johann authored
      Don't add include files to the archive. Avoids build failures for
      Windows such as:
      the input file 'libvpx_g.a(x86_abi_support.asm.o)' has no sections
      Change-Id: If9c8e70c0ec913b7ad7dd6a08d4fa19011114ad2