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
      84a7263d
    • 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
      7a245adb
  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
      86842855
    • 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
      a2127236
    • 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
      5203b40a
  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
      c58f0172
    • Marco Paniconi's avatar
    • Marco's avatar
      vp9: Cleanup/remove TODO comment. · e9ad5d2a
      Marco authored
      Change-Id: I2bd43e996909ad688b7e00b81ee19a5fc4df460b
      e9ad5d2a
    • 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
      a40fa1f9
  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
      f1ce050f
  10. 07 Dec, 2017 1 commit
  11. 06 Dec, 2017 7 commits
    • Jerome Jiang's avatar
      14dbdd95
    • 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.
      
      BUG=webm:1474
      
      Change-Id: Ia2043f7e1635b3821848a67b9b134f47f14b0f3a
      bd1d995c
    • 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
      3562d6b0
    • Marco Paniconi's avatar
      575c1933
    • 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
      33953f31
    • 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
      9f9d4f8d
  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
      e83d00f5