1. 29 Oct, 2014 1 commit
    • Jingning Han's avatar
      Enable mode search threshold update in non-RD coding mode · 9349a28e
      Jingning Han authored
      Adaptively adjust the mode thresholds after each mode search round
      to skip checking less likely selected modes. Local tests indicate
      5% - 10% speed-up in speed -5 and -6. Average coding performance
      loss is -1.055%.
      
      speed -5
      vidyo1 720p 1000 kbps
      16533 b/f, 40.851 dB, 12607 ms -> 16556 b/f, 40.796 dB, 11831 ms
      
      nik 720p 1000 kbps
      33229 b/f, 39.127 dB, 11468 ms -> 33235 b/f, 39.131 dB, 10919 ms
      
      speed -6
      vidyo1 720p 1000 kbps
      16549 b/f, 40.268 dB, 10138 ms -> 16538 b/f, 40.212 dB, 8456 ms
      
      nik 720p 1000 kbps
      33271 b/f, 38.433 dB,  7886 ms -> 33279 b/f, 38.416 dB, 7843 ms
      
      Change-Id: I2c2963f1ce4ed9c1cf233b5b2c880b682e1c1e8b
      9349a28e
  2. 28 Oct, 2014 7 commits
    • JackyChen's avatar
      Merge "vp9_denoiser_sse2: refactor the code." · 50e5c305
      JackyChen authored
      50e5c305
    • Yaowu Xu's avatar
      7d7b43b9
    • JackyChen's avatar
      vp9_denoiser_sse2: refactor the code. · 99a8dac4
      JackyChen authored
      Combined vp9_denoiser_8xM_sse2 and vp9_denoiser_4xM_sse2 into one
      function vp9_denoiser_NxM_sse2_small and passed the bitexact testing.
      Changed the name of the function vp9_denoiser_64_32_16xM_sse2 to
      vp9_denoiser_NxM_sse2_big.
      
      Change-Id: Ib22478df585994dd347ebae04202c0b701e7f451
      99a8dac4
    • Yaowu Xu's avatar
      2a506e33
    • Yaowu Xu's avatar
      Allow update of golden refernce buffer in CBR mode · e5cd5188
      Yaowu Xu authored
      This commit changes to allow the usage of golden reference frame in
      VP9 CBR mode to improve quality. VP9 supports potentially up to 8
      reference buffers, it has reference buffers available for this
      purpose. This was not possible in VP8 as golden and alt-ref buffers
      were used for temporal scalability purpose in CBR mode in WebRTC.
      
      For frames that update golden frame, there can be a quality boost.
      The amount of allowed bitrate boost can be controlled via parameter
      rc_max_inter_bitrate_pct. The inital value of the boost ratior is
      currently based on over_shoot_pct. Further experiments will work
      out the adaption of this boost value.
      
      Change-Id: I0c5f010c8fd8b7b598f69779c1b30e5b2ac30a4d
      e5cd5188
    • Paul Wilkins's avatar
      Relax maximum Q for extreme overshoot. · 422d7bc9
      Paul Wilkins authored
      Added code to relax the active maximum Q in response
      to extreme local overshoot to reduce bandwidth peaks.
      
      The impact is small in metrics terms, but it this helps reduce
      bandwidth spikes and overall overshoot in a number of
      clips in our tests sets (especially the YT test set).
      
      In particular this should help prevent very big spikes where a clip
      is mainly easy but has a short hard section. In such a case a choice
      of maximum Q for the clip as a whole may allow us to hit the overall
      target rate but give some extreme spikes. The chunked encoding in YT
      mitigates this problem but it can show up where a longer clip is
      coded as a single chunk.
      
      Change-Id: I213d09950ccb8489d10adf00fda1e53235b39203
      422d7bc9
    • Jingning Han's avatar
      Refactor encoder tile data structure · d56b3eb0
      Jingning Han authored
      Make the common tile info as one element in the encoder tile data
      struct.
      
      Change-Id: I8c474b4ba67ee3e2c86ab164f353ff71ea9992be
      d56b3eb0
  3. 27 Oct, 2014 3 commits
  4. 25 Oct, 2014 1 commit
  5. 24 Oct, 2014 6 commits
    • James Zern's avatar
      Merge changes I8a9c9019,Ic7b2faa3,I44d42a50,I3f3a3924,I10747b32,I31b49c9e · 01900edc
      James Zern authored
      * changes:
        add vp9_loop_filter_data_reset
        move LFWorkerData allocation to VP9LfSync
        vp9_loop_filter_frame_mt: remove pbi dependency
        vp9_loop_filter_frame_mt: pass planes directly
        vp9_loop_filter_frame_mt: pass VP9LfSync directly
        vp9: store TileWorkerData allocations separately
      01900edc
    • 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
    • Marco's avatar
      vp8: Updates to noise level estimate. · fe2fd37b
      Marco authored
      -Use full bandwidth (when temporal layers is on) for checking switching.
      -Normalize metric wrt num_blocks.
      -Rounding fix to update of average noise level metric.
      -Make default internal denoiser mode == kDenoiserOnYUV (in denoiser set_parameters()).
      -Adjust some thresholds.
      
      Change-Id: Ib827512b25a7bf1f66c76d3045f3a68ce56b1cd2
      fe2fd37b
    • Paul Wilkins's avatar
      Merge "Enable dual arf with constant q." · 60d192db
      Paul Wilkins authored
      60d192db
    • Paul Wilkins's avatar
      3758650c
  6. 23 Oct, 2014 9 commits
  7. 22 Oct, 2014 13 commits