1. 23 Oct, 2015 1 commit
    • Paul Wilkins's avatar
      Bug in clamping of base_frame_target. · 762c0f22
      Paul Wilkins authored
      Bug relating to issue:- http://b/25090786
      
      base_frame_target is supposed to track the idealized bit
      allocation based on error score and not the actual bits
      allocated to each frame.
      
      The clamping of this value based on the VBR min and max pct values
      was causing a bug where in some cases the loop that adjusts the
      active max quantizer for each GF group was running out of bits at
      the end of a KF group. This caused a spike in Q and some ugly artifacts.
      
      A second change makes sure that the calculation of the active
      Q range for a group DOES, however, take account of clamping.
      
      Change-Id: I31035e97d18853530b0874b433c1da7703f607d1
      762c0f22
  2. 20 Oct, 2015 12 commits
  3. 19 Oct, 2015 1 commit
  4. 17 Oct, 2015 1 commit
  5. 16 Oct, 2015 12 commits
    • Ronald S. Bultje's avatar
      vp10: per-segment lossless coding. · 60c58b52
      Ronald S. Bultje authored
      Some more testing of this patch would probably be useful, but I
      think the basics of it should work fine now.
      
      See issue 1035.
      
      Change-Id: I4a36d58f671c5391cb09d564581784a00ed26245
      60c58b52
    • Ronald S. Bultje's avatar
      vp10: add extended-intra prediction edges experiment. · c7dc1d78
      Ronald S. Bultje authored
      This experiment allows using full above/right edges for all transform
      sizes whenever available (for d45/d63), and adds bottom/left edges for
      d207.
      
      See issue 1043.
      
      Change-Id: I5cf7f345e783e8539bb6b6d2c9972fb1d6d0a78b
      c7dc1d78
    • Ronald S. Bultje's avatar
      vp10: allow MV refs to point outside visible image. · dea99899
      Ronald S. Bultje authored
      In VP9, the ref MV had to point to a block that itself fully resided
      within the visible image, i.e. all borders of the image had to be
      within the visible borders of the coded frame. This is somewhat
      illogical, and had obscure side effects, e.g. clamping of fairly
      reasonable motion vectors such as 0,0 were clipped to negative values
      if the block was overhanging on frame edges (such as the last rows
      on 1080p content), which makes no sense whatsoever.
      
      Instead, relax clamping constraints such that the ref MVs are allowed
      to point to blocks exactly outside the visible edges in both Y as well
      as UV planes, including the 8tap filter edges (that's why the offset is
      8 pixels + block size).
      
      See issue 1037.
      
      Change-Id: I2683eb2a18b24955e4dcce36c2940aa2ba3a1061
      dea99899
    • Ronald S. Bultje's avatar
      vp10: allow forward updates for keyframe y intra mode probabilities. · 1eb51a20
      Ronald S. Bultje authored
      See issue 1040 point 5.
      
      Change-Id: I51a70b9eade39efba392a1457bd70a3c515525cb
      1eb51a20
    • Ronald S. Bultje's avatar
      vp10: merge keyframe/interframe uvintramode/partition probabilities. · d8f3bb18
      Ronald S. Bultje authored
      This has various benefits:
      - simplify implementations because we don't have to switch between
        multiple probability tables depending on frametype
      - allows fw subexp and bw adaptivity for partitions/uvmode in keyframes
      
      See issue 1040 point 5.
      
      Change-Id: Ia566aa2863252d130cee9deedcf123bb2a0d3765
      d8f3bb18
    • Ronald S. Bultje's avatar
      vp10: make segmentation probs use generic probability model. · 6e5a1165
      Ronald S. Bultje authored
      Locate them (code-wise) in frame_context, and have them be updated
      as any other probability using the subexp forward and adaptive bw
      updates.
      
      See issue 1040 point 1.
      
      TODOs:
      - real-world default probabilities
      - why is counts sometimes NULL in the decoder? Does that mean bw
        adaptivity updates only work on some frames? (I haven't looked
        very closely yet, maybe this is a red herring.)
      
      Change-Id: I23b57b4e5e7574b75f16eb64823b29c22fbab42e
      6e5a1165
    • Yaowu Xu's avatar
      Add a new enum type vpx_color_range_t · 56842951
      Yaowu Xu authored
      to make meaning of color_range obvious.
      
      Change-Id: I303582e448b82b3203b497e27b22601cc718dfff
      56842951
    • James Zern's avatar
      vpx/*.h: add VPX_CTRL_* preproc defines · 7dd7a7da
      James Zern authored
      allows controls to be tested for at compile-time
      
      Change-Id: I1cd01287dc144392956c82e6dbac003f37703039
      7dd7a7da
    • James Zern's avatar
      Merge "vpx/*.h, cosmetics: fix some typos" · 9ade6e10
      James Zern authored
      9ade6e10
    • hui su's avatar
      VP10: some changes to palette mode · 17c817ad
      hui su authored
      Account for rounding in distortion calculation in k-means;
      carry out rounding before duplicates removal of base colors;
      replace numbers with macros;
      use prefix increment.
      
      Slight coding gain (<0.1%) on screen_content testset.
      
      Change-Id: Ie8bd241266da6b82c7b2874befc3a0c72b4fcd8c
      17c817ad
    • Marco's avatar
      Adjustment on limiting cyclic refresh on steady blocks. · b44c5cf6
      Marco authored
      Adjust the qp threshold and consec_zeromv threshold for
      limiting cyclic refresh. Also increase the refresh period
      when the limit amount is significant, and some code-cleanup.
      
      Small gain in PSNR/SSIM metrics: ~0.25/0.3 gain on RTC set, speed 7.
      
      Change only affects non-screen content.
      
      Change-Id: I1ced87a89a132684c071e722616e445b2d18236a
      b44c5cf6
    • Yaowu Xu's avatar
      Restore partial changes from previous commit · 1832ba75
      Yaowu Xu authored
      This portion was tested to have no effect on asan test failures.
      
      Change-Id: I3de1dab7479148bdffc24c4568cb2e7e9963f099
      1832ba75
  6. 15 Oct, 2015 10 commits
  7. 14 Oct, 2015 2 commits
  8. 13 Oct, 2015 1 commit