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 2 commits
  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 3 commits
  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 2 commits
  9. 17 Jul, 2014 2 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
  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 4 commits
  12. 14 Jul, 2014 1 commit
    • Minghai Shang's avatar
      [spatial svc]Implement alt reference frames · e899859c
      Minghai Shang authored
      All changes are for spatial svc only.
      1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer
      2. Use golden reference idx for spatial reference
      3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers
      4. Add "auto-alt-refs" in svc options
      Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
      e899859c
  13. 11 Jul, 2014 6 commits
    • Jingning Han's avatar
      Fix a potential invalid memory access in non-RD coding flow · b957439c
      Jingning Han authored
      This commit fixes a potential out-of-boundary memory access due to
      the use of reuse_inter_pred_sby in the non-RD coding flow. It
      resolves the corresponding asan error.
      
      Change-Id: Iff605f5921230966990013541cd855d698810922
      b957439c
    • Jingning Han's avatar
      Fix chrome valgrind warning due to the use of mismatched bsize · 3cddd81c
      Jingning Han authored
      This commit fixes a mismatched use case of block size in non-RD
      intra prediction check. The residual SSE and variance should be
      calculated per transform block size, instead of operating block
      size, which caused chrome valgrind warning on conditional jump
      based on uninitialized value (webm issue 823). This commit
      resolves this issue.
      
      Change-Id: I595c06599c7e0fd0e4a08736519ba68fc14bc79a
      3cddd81c
    • Deb Mukherjee's avatar
      Some extra bit probability cleanups · 6957e7a0
      Deb Mukherjee authored
      Refactoring to remove some duplication of probability
      tables between tokenization and detokenization.
      
      Change-Id: I2fc6a6497f9c0410021a9b41f828bc58a864e466
      6957e7a0
    • Yaowu Xu's avatar
      Remove an unused parameter in vp9_init_search_range() · 6673d2f3
      Yaowu Xu authored
      Change-Id: I3d9130e726a1299fd258f6dfe93315e2d12f76da
      6673d2f3
    • Yunqing Wang's avatar
      Code refactoring: use defined inline functions · 1b5e9871
      Yunqing Wang authored
      Changed to use defined inline functions consistently through
      the code.
      
      Change-Id: I7644d24fa7a837378564a6e0790416d3725dd200
      1b5e9871
    • Paul Wilkins's avatar
      Re-factor and simplify arnr filter. · e3e6e061
      Paul Wilkins authored
      Use a weaker filter for second level arf frames.
      Average gain across all sets and metrics ~0.3%
      
      Remove code for arnr_type which is no longer
      supported in VP9 which always uses a centered blur.
      
      Re-factor and some cleanup.
      
      Change-Id: Ieb4b8940e99e4e02b3fcc9fca6f2d4109e6ed639
      e3e6e061
  14. 10 Jul, 2014 1 commit
    • Yunqing Wang's avatar
      Refactor vp9_diamond_search_sad function · 75cd5750
      Yunqing Wang authored
      Currently, vp9_diamond_search_sadx4() is only called when sse3 is
      enabled, which is improper since sse2 optimization of sdx4df
      functions are available. Changed to always use
      vp9_diamond_search_sadx4().
      
      Change-Id: I4b95d6b7a3c6c645783c373f0ba8d645ece24717
      75cd5750