1. 27 Nov, 2017 1 commit
    • Marco's avatar
      vp9-svc: Fix to the layer buffer settings. · cbe62b9c
      Marco authored
      For the case when the number of temporal layers > 1,
      the buffer levels (starting/optimal_buffer_level,
      and maximum_buffer_size) were not scaled properly.
      
      In vp9_update_layer_context_change_config():
      when setting the layer-buffer levels, fix is to scale
      the layer-target_bandwidth by the target_bandwidth
      (which is the full stream bandwidth) instead of the
      spatial_layer_target.
      
      This is needed because prior to the call
      vp9_update_layer_context_change_config(), set_rc_buffer_sizes()
      is called which sets the buffer levels based on target bandwidth
      (which is the full bandwidth for the SVC stream).
      
      This fix properly sets the layer-buffer levels based on the
      layer-bandwidth, and leads to better rate targeting.
      
      Small/neutral change in avgPSNR/SSIM metrics on RTC set.
      
      Change-Id: Ic0f4f7f3487c37b9a9adb4781ae5edfed7140a57
      cbe62b9c
  2. 21 Nov, 2017 4 commits
  3. 20 Nov, 2017 2 commits
  4. 17 Nov, 2017 8 commits
  5. 16 Nov, 2017 2 commits
    • paulwilkins's avatar
      Disable allow_partition_search_skip for speed 2. · 44473e7e
      paulwilkins authored
      When allow_partition_search_skip  is set the two pass code
      can optionally skip the partition search in the rd loop if the image
      appears static (based on selection of 0,0 motion).
      
      Unfortunately 0,0 motion does not necessarily mean that there are
      no meaningful changes or that motion or intra modes will not be selected
      in the second pass.
      
      Disabling "allow_partition_search_skip" may hurt the encode speed a little
      for a small number of clips but can have a big impact on compression.
      The most notable example of this in our test sets is "bridge_close_cif"
      where this change gives a gains of 18%, 12% and 16% in opsnr, ssim and
      psnr-hvs.
      
      Change-Id: I765e288b5c0cd82bce00a148e7653a21e9203024
      44473e7e
    • Jerome Jiang's avatar
      vp9 svc: Rework/fix scale partitioning on boundary. · 1aea1675
      Jerome Jiang authored
      Enable partition copy on boundary and scale blocks along the boundary.
      Rename copy_partition_svc to scale_partition_svc.
      
      Do not copy if the block crosses the boundary.
      
      Change-Id: I37a04d48f11b15c4ea67facd7631193ec2f62150
      1aea1675
  6. 15 Nov, 2017 5 commits
    • Johann's avatar
      fwd txfm ssse3: use GLOBAL() for loading constants · 3e3a5686
      Johann authored
      Fixes a build issue when relocation is not allowed:
      relocation R_X86_64_32 against '.rodata' can not be used when making a shared object
      
      Change-Id: Ica3e90c926847bc384e818d7854f0030f4d69aa0
      3e3a5686
    • paulwilkins's avatar
      Code cleanup. · 05302360
      paulwilkins authored
      Removal of parameters to and code in calc_frame_boost() that is no
      longer required.
      
      No change to results from previous patch.
      
      Change-Id: Ic92da35613fdc247d22fddf24d09679fc5329017
      05302360
    • paulwilkins's avatar
      Remove decay_accumulator clause from alt ref breakout. · 03c1a827
      paulwilkins authored
      The decay accumulator clause covers similar ground to the
      new clause that tests the accumulated second reference error
      so it has been removed to reduce complexity.
      
      Change-Id: I4ec1cce32d72bd4ee463ad7def2831a68447d525
      03c1a827
    • paulwilkins's avatar
      Add clause to alt ref group breakout. · 607e45f4
      paulwilkins authored
      Add a clause to the breakout test for alt ref groups that
      examines the size of the accumulated second reference
      frame error compared to the cost of intra coding.
      
      This clause causes a reduction in the average group length for many
      clips. Alongside the change to the group length the minimum
      boost is increased.
      
      On balance the results are positive for psnr and psnr-hvs
      but is negative for ssim/fast ssim for the smaller image formats.
      
      Strong gains on some harder clips (eg ducks take off (midres) ~20%,
      husky (lowres) 6-17%. Most of the negative cases are lower motion
      clips. Subsequent patch hopefully will help with those.
      
      Change-Id: Ic1f5dbb9153d5089e58b1540470e799f91a65dc4
      607e45f4
    • Marco's avatar
      vp9-svc: Fix flag for usage of reuse-lowres partition · b3c93d60
      Marco authored
      Fix/cleaup the conditioning for usage of the reuse-lowres
      partition feature.
      
      Replace the non-reference condition with the top temporal
      layer, and put this condition in the speed feature.
      
      This prevents doing update_partition_svc() on every
      VGA frame, instead it will now only do update for VGA in
      the top temporal layer frames.
      
      Also this makes it easier to test/enable this feature
      for lower layer temporal frames.
      
      Change-Id: Ia897afbc6fe5c84c5693e310bcaa6a87ce017be5
      b3c93d60
  7. 14 Nov, 2017 2 commits
  8. 13 Nov, 2017 7 commits
    • Jerome Jiang's avatar
    • Jerome Jiang's avatar
      vp9 svc: Change conditions on VPX_ENCODER_ABI_VERSION. · 0d2555bd
      Jerome Jiang authored
      VPX_ENCODER_ABI_VERSION was bumped up in 93e83f.
      
      Change-Id: Id5707f9f9db56fa96549bc8f54e1cfa04e7fa4cd
      0d2555bd
    • Jim Bankoski's avatar
      add 10 and 12 bit to tiny_ssim · becab42e
      Jim Bankoski authored
      Change-Id: I92e4dba2d1682a0d77ad9a214ec4312b1cf4d42e
      becab42e
    • paulwilkins's avatar
      New content type to improve grain retention. · a73cee28
      paulwilkins authored
      For new VP9 only content type adjust  the rate distortion and ARF
      filter based on the relative spatial variance of the source and
      reconstruction.
      
      In regards to the RD loop the method favors modes where the
      reconstruction variance is similar to the source variance. However it
      is currently only applied to regions where the source variance is quite
      low.
      
      For very low variance blocks it applies a further bias against intra
      coding and large prediction block sizes (the later in particular limit
      the usefulness of the loop filter).
      
      The final part of this change is to lower the strength of the ARF
      filter for blocks where the source has very low spatial variance, to
      encourage some low amplitude texture or noise to pass through
      the filter.
      
      This change improves the retention of film grain and fine noise /
      texture in spatially flat regions, but as expected causes a significant
      drop in PSNR on many clips. This is to be expected because similar
      but misaligned noise or texture will give a lower PSNR than a flat
      noise free reconstruction. However, it is worth noting that most clips
      show a strong gain in FAST SSIM.
      
      The features are enabled on the vpxenc command line by setting
      --tune-content=film.
      
      VPX_ENCODER_ABI_VERSION bumped for this change and cvbr.
      
      Change-Id: I26a4e4edfa3dc5cacead82fa701fe7a9118ccd0a
      a73cee28
    • paulwilkins's avatar
      Small parameter clean up. · 55fc4d95
      paulwilkins authored
      Removed three parameters that are no longer needed in calls
      to calc_arf_boost() and associated minor changes.
      
      No impact on encode results.
      
      Change-Id: Ieaf31d0d2e1990b99cf69647170145a1bbfbb9fb
      55fc4d95
    • Paul Wilkins's avatar
    • Paul Wilkins's avatar
      Merge "CVBR command line option." · f5817fa6
      Paul Wilkins authored
      f5817fa6
  9. 10 Nov, 2017 5 commits
  10. 09 Nov, 2017 4 commits