1. 29 Jul, 2014 1 commit
    • Jingning Han's avatar
      Use frame index directly in get_chessboard_index · c36f78b0
      Jingning Han authored
      The get_chessboard_index() used to call the entire VP9_COMMON
      struct pointer to retrieve the chessboard pattern index. This cl
      makes it call the frame index directly.
      
      Change-Id: I3cad9d209ea2e77a358085a04fe1ff0ddec5ba03
      c36f78b0
  2. 28 Jul, 2014 3 commits
    • levytamar82's avatar
      Fix bug 805 · 4ba92dc5
      levytamar82 authored and James Zern's avatar James Zern committed
      Remove all the redundant dct functions (dct4x4, dct8x8)
      in avx2 except dct32x32 those functions were copied originally from dct_sse2
      
      Change-Id: I742576fbf5175f3ac09f2076976a9247b259323e
      4ba92dc5
    • Pengchong Jin's avatar
      Store block-wise statistics obtained in the first pass · bae65224
      Pengchong Jin authored
      Change-Id: I9956db2ba2f7d28f484daaf5022d8d1ef5db473c
      bae65224
    • Jim Bankoski's avatar
      Fix reference frame size restrictions. · 899585eb
      Jim Bankoski authored
      The issue was introduced by commit g9f37d149 with adding explicit
      restrictions on reference-frame scale factors. The restriction
      is checked against aligned-by-8 frame dimensions, not against
      original ones. So, for example, frame of 35×35 actually can refer
      to frame of 70×70, but the new check won't allow this. It will
      compare 35 vs 72 (not 70), so 2x downscale limit will be exceeded.
      
      Change-Id: Ic663693034440f64ac8312cbff9e1e773a921060
      899585eb
  3. 25 Jul, 2014 1 commit
    • Jingning Han's avatar
      Fix rd_pick_partition search loop for 4x4 blocks · 84af0486
      Jingning Han authored
      The partition search for 4x4 blocks takes unnecessary steps to
      reconstruct pixels and an extra partition type update. This commit
      removes such operations. No visible compression/speed difference.
      Thanks to Yue (yuec@) for finding this issue.
      
      Change-Id: I3f83824aa3fd3717d63be0b280fa57258939a70a
      84af0486
  4. 24 Jul, 2014 6 commits
    • Jingning Han's avatar
      Fix potential ioc issue in vp9_get_prob for 4K above sizes · 53844275
      Jingning Han authored
      This commit turns on the existing vp9_get_prob function using
      64 bit in the intermediate step. It fixes the ioc issue for 4K
      above frame sizes (issue 828).
      
      Change-Id: I9f627f3beca2c522f73b38fd2a3e7eefdff01a7c
      53844275
    • Jingning Han's avatar
      Remove unnecessary conditional assignment · 7112d70f
      Jingning Han authored
      The assignment of the variable mode_excluded in
      vp9_rd_pick_inter_mode_sub8x8 takes redundant conditional jump.
      This commit removes it.
      
      Change-Id: Ie195fbe6e54ec2ade7093d562c456a2e93143704
      7112d70f
    • Yaowu Xu's avatar
      Changed validation of reference frame size · 9261e1aa
      Yaowu Xu authored
      A previous change, https://gerrit.chromium.org/gerrit/#/c/70632,
      introduced a size validation for reference frames to insuare the
      input stream is a valid VP9 stream. However, the logic requiring
      all reference frames have valid size turned out to be too strict.
      
      In this commit, we modify the validation to require one of the
      reference frame has valid dimension. In addition, the decoder
      reports error whenever it detects the use of reference frame
      with invalid scalig ratio.
      
      Change-Id: If8efc312244087556cfe00f1fcbdff811268ebad
      9261e1aa
    • Adrian Grange's avatar
      Fix allocation of context buffers on frame resize · 423e8a97
      Adrian Grange authored
      The patch:
      https://gerrit.chromium.org/gerrit/#/c/70814/
      changed the test that determined whether the context
      frame buffers needed to be reallocated or not.
      
      The code checked for a change in total frame area
      to signal the need to reallocate context buffers.
      However, the above_context buffer needs to be
      resized i:xf only the width of the frame has increased.
      
      Change-Id: Ib89d75651af252908144cf662578d84f16cf30e6
      423e8a97
    • Tim Kopp's avatar
      s/CONFIG_DENOISING/CONFIG_VP9_TEMPORAL_DENOISING · 9d337d34
      Tim Kopp authored
      This should prevent confusion with the VP8 CONFIG_TEMPORAL_DENOISING and other
      flags.
      
      Change-Id: I1fe4e2977895b7966841d861ab74317ad875b6c8
      9d337d34
    • Alex Converse's avatar
      Refactor inter/intra_suberblock_yrd. · 6eae35c0
      Alex Converse authored
      Move txfm_rd_in_plane into choose_tx_size_from_rd and cleanup callers.
      
      Change-Id: I1df2d7dc984802bd5e204cbe881ada0d75fbb3f7
      6eae35c0
  5. 23 Jul, 2014 4 commits
    • Minghai Shang's avatar
      [spatial svc]Fix reference issues · 929001bf
      Minghai Shang authored
      1. Remove last reference flag for first frame upper layers in one pass mode.
      2. Disable refresh golden frame flag for key frames.
      
      Change-Id: I44ac1bd2c795169e4fbfdd078ea79a1d33a204d6
      929001bf
    • Jingning Han's avatar
      Remove redundant argument entry in handle_inter_mode · e945c56d
      Jingning Han authored
      The value of mode_excluded has been properly set in
      vp9_rd_pick_inter_mode_sb(). It is redundant to send it in
      handle_inter_mode() and re-set the value again.
      
      Change-Id: I408d4731f2f42e0bcf3ae62e85757717bb410471
      e945c56d
    • Jingning Han's avatar
      Use the chessboard pattern pred search in newmv mode · 4f2f8672
      Jingning Han authored
      This commit extends the chessboard pattern prediction filter search.
      If the above and left blocks have the same prediction filter type,
      the encoder will skip the prediction filter type search and use the
      reference one.
      
      The overall chessboard pattern prediction filter type search reduces
      speed 3 runtime for hard clips. Experiments on park joy at 1080p
      and 15000 kbps show that the runtime goes from 723265 ms to 65832 ms,
      i.e., about 10% speed-up. Compression performance wise, it affects
      the coding quality by
      
      Change-Id: I880975497c7ad166532e9eea9bf46684d77ff327
      derf:    -0.326%
      yt:      -0.257%
      hd:      -0.241%
      stdhd:   -0.417%
      4f2f8672
    • Jingning Han's avatar
      Remove redundant num_refs definition · 35381910
      Jingning Han authored
      Use is_comp_pred to replace the use case of num_refs.
      
      Change-Id: I4d0c1e14d5f728428a2ae3d293cd2b4a8b2f31d8
      35381910
  6. 22 Jul, 2014 6 commits
    • Jingning Han's avatar
      Enable chessboard inter prediction filter type search · 54ad0958
      Jingning Han authored
      This commit enables a chessboard pattern prediction filter type
      search scheme for rate-distortion optimization speed-up. For the
      inferred motion vector modes, the encoder can re-use its above/left
      neighbor blocks' prediction filter type and skip a full test on
      all possible filter types. Such operation is turned on/off
      alternatively in a chessboard manner.
      
      It is turned on in speed 3. For test clip pedestrian 1080p, the
      runtime is reduced from 231500 ms -> 221700 ms. The compression
      performance is changed:
      derf:  -0.147%
      yt:    -0.134%
      hd:    -0.079%
      stdhd: -0.220%
      
      Change-Id: I1912f278e7576c2dc632688e3ad7a257410c605a
      54ad0958
    • Tim Kopp's avatar
      VP9 denoiser bugfix in debugging code. · 1fe18acb
      Tim Kopp authored
      When OUTPUT_YUV_DENOISED is enabled the encoder outputs the uncompressed,
      denoised video to a separate file. Moved the point at which the file is
      written to in order to avoid an extra blank frame at the beginning of the video.
      
      Change-Id: I805f6a912b18b3d9cae59b13c5b8108279439ce3
      1fe18acb
    • Adrian Grange's avatar
      Fix get_frame_type function · caad1686
      Adrian Grange authored
      Fixed the function get_frame_type to return the correct
      frame type for golden and last frames.
      
      Change-Id: I8edddd9aa26cbe7a1de8ff211389410b22b1bd14
      caad1686
    • James Zern's avatar
      vp9_bitstream.c: cosmetics · de4db2dc
      James Zern authored
      fix indent, spelling and drop some vertical whitespace
      
      Change-Id: I722671381a374a24763b07a02805ab1d149ab3f4
      de4db2dc
    • Jingning Han's avatar
      USE local best_filter variable in handle_inter_mode · 5de6114e
      Jingning Han authored
      This should be a local variable. Move the definition from
      vp9_rd_pick_inter_mode_sb to handle_inter_mode.
      
      Change-Id: I14f4168bb1c896ed04e8f6d4cd89fbf4c9839944
      5de6114e
    • Minghai Shang's avatar
      [spatial svc]Use #if instead of #ifdef on macro CONFIG_SPATIAL_SVC · 24c9d6ad
      Minghai Shang authored
      Change-Id: Ifc94377a0d05d66e3d21b007893a985b66db6082
      24c9d6ad
  7. 21 Jul, 2014 4 commits
    • Jingning Han's avatar
      Turn on adaptive pred filter scheme for sub8x8 below 720p · ffd948bb
      Jingning Han authored
      For sequences of resolution below 720p, the encoder will check
      intra prediction modes and inter prediction modes from LAST_FRAME.
      This commit turns on adaptive prediction filter scheme for sub8x8
      blocks, where inter prediction modes are enabled. For the test
      sequence bus at CIF, the speed 2 runtime goes down from 17879 ms
      to 16783 ms, i.e., 6% speed up. The compression performance of
      derf set is down by -0.128%.
      
      Change-Id: I01d5321a5ceab4e0666ac5be56c52d896c7a8d45
      ffd948bb
    • Alex Converse's avatar
      Remove unfinished VP9 alpha channel. · 5926e7c0
      Alex Converse authored
      Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
      5926e7c0
    • Yaowu Xu's avatar
      Moved call to vp9_clear_system_state() to a proper location · bcaf1d69
      Yaowu Xu authored
      The commit moved a call to vp9_clear_system_state() to a correct
      location, i.e. prior function calls using floating point numbers.
      This was to fix a mismatch mmx code and sse2 version, where a
      floating point number used in adjust_frame_rate(cpi) gets NAN due
      to mmx registers being in wrong state.
      
      Change-Id: I40e0a6de98812000ccee6a729badb630604fd7e6
      bcaf1d69
    • Yunqing Wang's avatar
      Add -DNDEBUG when config option debug is disabled · 765485ca
      Yunqing Wang authored
      For gcc, when libvpx config option debug is disabled, added the
      flag -DNDEBUG to disable the assertions in libvpx for some speedup.
      
      Change-Id: Ifcb7b9e8ef5cbe5d07a24407b53b9a2923f596ee
      765485ca
  8. 18 Jul, 2014 3 commits
  9. 17 Jul, 2014 3 commits
    • Pengchong Jin's avatar
      Fixed a bug of setting wrong first pass mb stats pointer · e358ab5f
      Pengchong Jin authored
      The bug sets the wrong pointer to the first pass mb stats
      if the encoder does the re-coding in the second pass.
      
      Change-Id: I8a11f45dd7dceb38de814adec24cecccae370d00
      e358ab5f
    • Adrian Grange's avatar
      Modified frame buffer handling · f68aaa38
      Adrian Grange authored
      This patch is the first step toward simplifying the
      frame buffer handling.
      
      The final goal is to have a common frame buffer handling
      framework for both encoder and decoder that incorporates
      the existing ability to use externally allocated memory.
      
      Change-Id: I2c378a4f54a39908915f46c4260e17a080db7ff1
      f68aaa38
    • Jim Bankoski's avatar
      allow config options to limit max size of decode · 943e4327
      Jim Bankoski authored
      This is a practical concern to allow us to fail in a decoder instance
      if the size of a file is bigger than we can reasonably handle.
      
      Change-Id: I0446b5502b1f8a48408107648ff2a8d187dca393
      943e4327
  10. 16 Jul, 2014 3 commits
    • Yaowu Xu's avatar
      make default_interp_filter choice a speed feature · 51c60a89
      Yaowu Xu authored
      This commit changed the hard-coded DEFAULT_INTERP_FILTER to a speed
      feature with the same default value: SWITCHABLE.
      
      Change-Id: I7f54f40f1bd3f5277841d04b85db7a84e47313f1
      51c60a89
    • Scott LaVarnway's avatar
      Added vp9_sad64x64_neon(), vp9_sad32x32_neon() · 696fa52e
      Scott LaVarnway authored
      and vp9_sad16x16_neon()
      
      On a Nexus 7, vpxenc (in realtime mode, speed -6)
      reported a performance improvement of ~17%.
      
      Change-Id: I91e070cde2973451083d3f3d63b49b7886de9a85
      696fa52e
    • Paul Wilkins's avatar
      Changes to rd balance and multi-arf bug fix. · b691230d
      Paul Wilkins authored
      2 pass only change to calculation of rd mult based on Q.
      Make a small adjustment based on frame type and also
      replace adjustment based on iifactor with an one based
      on the ambient GF/ARF boost level.
      
      Also fix multi arf bug / issue.
      
      Overall these change give an slight improvement in ssim
      but hurt psnr a little.
      
      Change-Id: I5e1751e3ff5390a26f543d7855059e6fbcce105e
      b691230d
  11. 15 Jul, 2014 6 commits