1. 28 Oct, 2014 1 commit
  2. 27 Oct, 2014 1 commit
  3. 24 Oct, 2014 2 commits
    • Yaowu Xu's avatar
      Add a new control of max bitrate for inter frame · 636099f7
      Yaowu Xu authored
      Change-Id: I205de3611622cff7f751ea8baf9f82784581730a
      636099f7
    • Jingning Han's avatar
      Tile based adaptive mode search in RD loop · eee201c2
      Jingning Han authored
      Make the spatially adaptive mode search in rate-distortion
      optimization loop inter tile independent. Experiments suggest that
      this does not significantly change the coding staticstics.
      
      Single tile, speed 3:
      pedestrian_area 1080p 1500 kbps
      59192 b/f, 40.611 dB, 101689 ms
      
      blue_sky 1080p 1500 kbps
      58505 b/f, 36.347 dB, 62458 ms
      
      mobile_cal 720p 1000 kbps
      13335 b/f, 35.646 dB, 45655 ms
      
      as compared to 4 column tiles, speed 3:
      pedestrian_area 1080p 1500 kbps
      59329 b/f, 40.597 dB, 101917 ms
      
      blue_sky 1080p 1500 kbps
      58712 b/f, 36.320 dB, 62693 ms
      
      mobile_cal 720p 1000 kbps
      13191 b/f, 35.485 dB, 45319 ms
      
      Change-Id: I35c6e1e0a859fece8f4145dec28623cbc6a12325
      eee201c2
  4. 23 Oct, 2014 3 commits
    • Adrian Grange's avatar
      Move frame re-sizing into the recode loop · 65753eeb
      Adrian Grange authored
      The point at which frames are scaled to their
      coded dimensions is moved into the re-code loop.
      
      This is in preparation for a further patch that
      will add logic into the re-code loop to reduce
      the coded frame size if the encoder is struggling
      to hit the target data rate at the native frame
      size.
      
      Change-Id: Ie4131f5ec6fb93148879f6ce96123296442bf2d1
      65753eeb
    • Yaowu Xu's avatar
      Move filter_ref initialization · 065809d2
      Yaowu Xu authored
      To outside the loop to avoid repeating the operations.
      
      Change-Id: I66c1986e98ce0d7594caad3d3b45de655b299bff
      065809d2
    • Paul Wilkins's avatar
      Enable dual arf with constant q. · 8fc3ab77
      Paul Wilkins authored
      Add second level arf Q adjustment when using dual arfs
      in constant Q mode.
      
      Previously in constant Q mode enabling dual arf hurt by ~5%
      but with this change the average benefit is ~1-1.5% with some
      mid range data points up ~10%.
      
      Note however that it still hurts on some clips including
      some very low motion show content.
      
      Change-Id: I5b7789a2f42a6127d9e801cc010c20a7113bdd9b
      8fc3ab77
  5. 22 Oct, 2014 6 commits
  6. 21 Oct, 2014 5 commits
  7. 20 Oct, 2014 3 commits
    • Jingning Han's avatar
      Hybrid partition search for rtc coding mode · 9f128b3e
      Jingning Han authored
      This commit re-designs the recursive partition search scheme in
      rtc speed -5. It first checks if the current block is under cyclic
      refresh mode. If so, apply recursive partition search. Otherwise,
      perform sub-sampled pixel based partition selection. When the
      pre-selection finds the partition size should be 32x32 or above,
      use the partition size directly. Otherwise, apply partition search
      at nearby levels around the preset partition size.
      
      It is enabled in speed -5. The compression performance of rtc
      speed -5 is improved by 9.4%. Speed wise, the run-time goes slower
      from 1% to 10%.
      
      nik_720p, 1000 kbps
      33220 b/f, 38.977 dB, 10109 ms -> 33200 b/f, 39.119 dB, 10210 ms
      
      vidyo1_720p, 1000 kbps
      16536 b/f, 40.495 dB, 10119 ms -> 16536 b/f, 40.827 dB, 11287 ms
      
      Change-Id: I65adba352e3adc03bae50854ddaea1b421653c6c
      9f128b3e
    • Paul Wilkins's avatar
      Extend --auto-alt-ref so it can enable multi-alt ref. · 6f0ae3a2
      Paul Wilkins authored
      Extend --auto-alt-ref from parameter so we can use it to
      turn multi-arf on and off from the command line.
      
      For now the range is 0-off, 1-on, 2-multi-arf on.
      
      Rename play_alternate to enable_auto_arf
      
      Change-Id: Id7b64407cfbe76ba0090a83b588a03e22a240386
      6f0ae3a2
    • Paul Wilkins's avatar
      Resolve compiler warning. · 9626a0cb
      Paul Wilkins authored
      conversion from 'const int64_t' to 'int', possible loss of data.
      
      Change-Id: I471a73bba5d448d9be0ef9cbf1590fa73aa74be1
      9626a0cb
  8. 19 Oct, 2014 1 commit
    • levytamar82's avatar
      SAD32xh and SAD64xh for AVX2 · 7045aec0
      levytamar82 authored
      All sad function that process above 32 consecutive elements are optimized
      for AVX2:
      vp9_sad64x64
      vp9_sad64x32
      vp9_sad32x64
      vp9_sad32x32
      vp9_sad32x16
      vp9_sad64x64_avg
      vp9_sad64x32_avg
      vp9_sad32x64_avg
      vp9_sad32x32_avg
      vp9_sad32x16_avg
      The functions that appeared as a hotspot is vp9_sad32x32 and vp9_sad64x64
      vp9_sad32x32 was optimized by 68% and vp9_sad64x64 was optimized by 90%
      both of them gave and overall ~2.3% user level gain
      
      Change-Id: Iccf86b375a2b54c5fbbe685902ead0c9a561b9fd
      7045aec0
  9. 18 Oct, 2014 1 commit
  10. 17 Oct, 2014 6 commits
  11. 16 Oct, 2014 5 commits
    • Jingning Han's avatar
      Fix an ioc issue in super_block_uvrd · ed100c0b
      Jingning Han authored
      This commit fixes an ioc issue that will happen when the cumulative
      variables are not in effective use. The fix discards these
      redundant additions.
      
      Change-Id: Idbac5bfb989c0cedc5f8a323effce938519b2457
      ed100c0b
    • Paul Wilkins's avatar
      Change initialization of static_scene_max_gf_interval. · 716ae78c
      Paul Wilkins authored
      This removes an unnecessary restriction that causes
      a problem (noticed by AWG) when the forced key frame
      interval is set to a very small value, such as 10. In this case
      we were being forced to code minimal length GF groups.
      
      Change-Id: I76ef5861a09638ff51f61fea02359554184ada53
      716ae78c
    • Minghai Shang's avatar
      [spatial svc]Another workaround to avoid using prev_mi · 68b550f5
      Minghai Shang authored
      We encode a empty invisible frame in front of the base layer frame to
      avoid using prev_mi. Since there's a restriction for reference frame
      scaling factor, we have to make it smaller and smaller gradually until
      its size is 16x16.
      
      Change remerged.
      
      Change-Id: I9efab38bba7da86e056fbe8f663e711c5df38449
      68b550f5
    • Paul Wilkins's avatar
      Revert "Move input frame scaling into the recode loop" · d5130af5
      Paul Wilkins authored
      This reverts commit 452dc215.
      
      This change has introduced a significant quality regression on content
      with forced key frames. (e.g. the YT and yt-hd set). It is most
      noticeable in static content where the kf bits dominate. Here, despite
      key frames being apparently coded at the same Q, there is a drop in all
      metrics of ~20% (e.g clXR and BFa0).
      
      Change-Id: Iba14cc61778c0846fa0a59c33c55a9fc49512cb4
      d5130af5
    • Paul Wilkins's avatar
      Revert "[spatial svc]Another workaround to avoid using prev_mi" · 46803296
      Paul Wilkins authored
      This reverts commit c113457a.
      
      Temporary revert to allow clean revert of another commit.
      
      Change-Id: Ia9b7b755e6c48e1b6e383329f121fef175a24b27
      46803296
  12. 15 Oct, 2014 4 commits
    • Jingning Han's avatar
      Add init and reset functions for RD_COST struct · e2612fbd
      Jingning Han authored
      Change-Id: I2902de7051a883fd22e27a655209233733969cfd
      e2612fbd
    • Jingning Han's avatar
      Use rate/distortion thresholds to control non-RD partition search · 5e766cce
      Jingning Han authored
      Compare the estimated rate and distortion to the thresholds scaled
      according to the operating block size and determine if further
      split partition search will be run. The compression performance of
      speed -5 is changed by -0.074%. The encoding speed is 10% - 15%
      faster.
      
      vidyo1 720p
      16545 b/f, 40.492 dB, 11475 ms -> 16535 b/f, 40.486 dB, 10100 ms
      
      nik720p
      16624 b/f, 36.310 dB, 10071 ms -> 16617 b/f, 36.313 dB, 8346 ms
      
      Change-Id: Ic9197ab5761279ae55d2fb7813b2af0e0db497b8
      5e766cce
    • Marco's avatar
      Some updates for Speed 6/VAR_BASED_PARTITION. · 09ea74f1
      Marco authored
      Reduce the intra_cost_penalty for non-rd mode,
      and some updates to VAR_BASED_PARTITION.
      
      Visual tests show some improvement at Speed 6, for RTC clips.
      
      Change-Id: If9090daf7aed14906a32d931a538ab544bbca606
      09ea74f1
    • Jingning Han's avatar
      Replace copy_partitioning use case with choose_partitioning · 89b8c7a5
      Jingning Han authored
      This commit replaces the use of copy_partitioning with
      choose_partitioning based on the sse of subsamped pixels, which
      provides significantly better coding performance and runs at
      similar speed, as compared to copy_partitioning. It improves rtc
      speed 5 coding performance by 3%.
      
      Change-Id: I52d3682a12dce0147f5e52383a594fc242ca3228
      89b8c7a5
  13. 14 Oct, 2014 2 commits
    • Minghai Shang's avatar
      [spatial svc]Another workaround to avoid using prev_mi · c113457a
      Minghai Shang authored
      We encode a empty invisible frame in front of the base layer frame to
      avoid using prev_mi. Since there's a restriction for reference frame
      scaling factor, we have to make it smaller and smaller gradually until
      its size is 16x16.
      Change-Id: I60b680314e33a60b4093cafc296465ee18169c19
      c113457a
    • Yunqing Wang's avatar
      Remove an unneeded function call · a614f228
      Yunqing Wang authored
      set_tile_limits() is called in vp9_change_config() already.
      
      Change-Id: I91c3a0df2c1c7fd7e71546d8f51fd5b65838a7da
      a614f228