1. 15 Oct, 2015 2 commits
  2. 13 Oct, 2015 1 commit
    • paulwilkins's avatar
      Changes to partition breakout rules. · cdc35998
      paulwilkins authored
      Changes to the breakout behavior for partition selection.
      The biggest impact is on speed 0 where encode speed in
      some cases more than doubles with typically less than 1%
      impact on quality.
      
      Speed 0 encode speed impact examples
      Animation test clip: +128%
      Park Joy:  +59%
      Old town Cross: + 109%
      
      Change-Id: I222720657e56cede1b2a5539096f788ffb2df3a1
      cdc35998
  3. 08 Oct, 2015 3 commits
  4. 07 Oct, 2015 3 commits
  5. 06 Oct, 2015 2 commits
    • Alex Converse's avatar
      vp9: simplify extrabits encoding · 2f7f482c
      Alex Converse authored
      Change-Id: I5a2abd35cb303d8f6354b3119ab95acf90405116
      2f7f482c
    • Marco's avatar
      Add first_spatial_layer_to_encode to SVC. · 7266bedc
      Marco authored
      Use the existing VP9_SET_SVC control to set the
      first spatial layer to encode.
      
      Since we loop over all spatial layers inside the encoder, the
      setting of spatial_layer_id via VP9_SET_SVC has no relevance.
      Use it instead to set the first_spatial_layer_to_encode,
      which allows an application to skip encoding lower layer(s).
      
      Change only affects the 1 pass CBR SVC.
      
      Change-Id: I5d63ab713c3e250fdf42c637f38d5ec8f60cd1fb
      7266bedc
  6. 05 Oct, 2015 1 commit
  7. 02 Oct, 2015 4 commits
    • JackyChen's avatar
      Turn on two-steps scaling in VP9 encoder dynamic resizing. · 87b2495f
      JackyChen authored
      First do a 3/4 scaling and then go down to 1/2 when necessary.
      
      Change-Id: I5689c5228ca7e1606baea7f960eb24d0dab04d4d
      87b2495f
    • Marco's avatar
      Fix to denoiser with dynamic resize. · 86ede509
      Marco authored
      Temporary fix to denoiser when dynamic resizing is on.
       -Reallocate denoiser buffers on resized frame.
       -Force golden update on resized frame.
       -Don't denoise resized frame, and copy source into denoised buffers.
      
      Change-Id: Ife7638173b76a1c49eac7da4f2a30c9c1f4e2000
      86ede509
    • Marco's avatar
      Stabilize the encoder buffer from going too negative. · 37293583
      Marco authored
      For screen-content mode, with frame dropper off, put a limit
      on how low encoder buffer can go.
      
      Under hard slide changes, the buffer level can go too low and then
      take long time to come back up (in particular when frame-dropping
      is not used), which will affect the active_worst and target frame size.
      
      Change-Id: Ie9fca097e05cd71141f978ec687f852daf9de332
      37293583
    • jackychen's avatar
      Two-steps scaling in VP9 encoder dynamic resizing. · ba06be38
      jackychen authored
      Dynamic resizing now support two-steps scaling: first go down to
      3/4 and then 1/2. This feature is under a flag which controls the
      switch between two-steps scaling and one-step scaling (1/2 only).
      
      Change-Id: I3a6c1d3d5668cf8e016a0a02aeca737565604a0f
      ba06be38
  8. 30 Sep, 2015 1 commit
  9. 29 Sep, 2015 2 commits
  10. 26 Sep, 2015 2 commits
    • Ronald S. Bultje's avatar
      vp9/10: improve support for render_width/height. · 812945a8
      Ronald S. Bultje authored
      In the decoder, map this to the output variable vpx_image_t.r_w/h.
      This is intended as an improved version of VP9D_GET_DISPLAY_SIZE,
      which doesn't work with parallel frame decoding. In the encoder,
      map this to a codec control func (VP9E_SET_RENDER_SIZE) that takes
      a w/h pair argument in a int[2] (identical to VP9D_GET_DISPLAY_SIZE).
      
      Also add render_size to the encoder_param_get_to_decoder unit test.
      
      See issue 1030.
      
      Change-Id: I12124c13602d832bf4c44090db08c1009c94c7e8
      812945a8
    • Ronald S. Bultje's avatar
      Rename display_{size,width,height} to render_*. · 36ffe644
      Ronald S. Bultje authored
      The name "display_*" (or "d_*") is used for non-compatible information
      (that is, the cropped frame dimensions in pixels, as opposed to the
      intended screen rendering surface size). Therefore, continuing to use
      display_* would be confusing to end users. Instead, rename the field
      to render_*, so that struct vpx_image can include it.
      
      Change-Id: Iab8d2eae96492b71c4ea60c4bce8121cb2a1fe2d
      36ffe644
  11. 25 Sep, 2015 1 commit
    • Marco's avatar
      Limit cyclic refresh on steady background blocks. · 3f7656cc
      Marco authored
      Use the existing QP condition on limiting cyclic refresh, and add
      addiitonal condition that block has been encoded with zero/small motion
      x frames in row (where x is at least several times the refresh period).
      Additional condition only affect non-screen content mode.
      
      This helps to improve visual stability for noisy input, where on steady
      background areas the application of delta_qp may lead to encoding the noise.
      
      Also added a change to use the true skip (after encoding) to update the
      last QP.
      
      Change-Id: I234a1128d017d284cf767fdb58ef6c59d809f679
      3f7656cc
  12. 24 Sep, 2015 1 commit
  13. 23 Sep, 2015 3 commits
    • Marco's avatar
      Adjust rate-boost threshold in cyclic refresh for seg#2. · 9b51b3a9
      Marco authored
      Small gain in metrics (average ~0.2dB), small
      reduction in rate fluctuation.
      
      Change-Id: Id75bd89c168486f075308fb474ebd26e3bdfb85b
      9b51b3a9
    • Marco's avatar
      Non-rd mode: Limit transform size for intra to 16x16. · 01860f6f
      Marco authored
      Limit transform size for intra to 16x16, for non-screen content mode.
      Little/no change in speed or metrics.
      32x32 intra block is rarley selected in RTC (non-screen content) case,
      but some visual improvement can be seen in some example,
      e.g., captured_video_dark_whd.yuv.
      
      Change-Id: I68e2db87875343b3fb9bb407a7709f0088f84072
      01860f6f
    • hui su's avatar
      Adjust rd calculation in choose_tx_size_from_rd · 38cc1688
      hui su authored
      Coding gain:
      derflr 0.142%
      hevclr 0.153%
      hevcmr 0.124%
      
      Change-Id: I63b56ae3a9002c3a266e10e2964135ed43b0ba53
      38cc1688
  14. 21 Sep, 2015 2 commits
    • jackychen's avatar
      Change size on first frame and change config cause crash. · 55f092db
      jackychen authored
      Reallocation of mi buffer fails if change size on the first frame and
      change config in subsequent frames. Add a condition for resolution
      check to avoid assertion failure.
      
      BUG=1074
      
      Change-Id: Ie26ed816a57fa871ba27a72db9805baaaeaba9f3
      55f092db
    • Marco's avatar
      Non-rd pickmode: Don't skip checking zeromv-last mode. · 38ad2dce
      Marco authored
      Reference frame masking logic may skip checking zeromv-last mode.
      Fix to avoid this and make sure zero-last is always checked.
      
      No noticeable change in speed, and PSNR/SSIM metrics on RTC set overall
      neutral (very small gain ~0.02).
      Small visual improvement on few RTC clips.
      
      Change-Id: I26eacdc449126424001a4a64e5ac31949f064417
      38ad2dce
  15. 17 Sep, 2015 1 commit
    • Marco's avatar
      Add SVC codec control to set frame flags and buffer indices. · 730cdefd
      Marco authored
      Add SVC codec control to set the frame flags and buffer indices
      for each spatial layer of the current (super)frame to be encoded.
      This allows the application to set (and change on the fly) the
      reference frame configuration for spatial layers.
      
      Added an example layer pattern (spatial and temporal layers)
      in vp9_spatial_svc_encoder for the bypass_mode using new control.
      
      Change-Id: I05f941897cae13fb9275b939d11f93941cb73bee
      730cdefd
  16. 16 Sep, 2015 1 commit
    • Ronald S. Bultje's avatar
      Add support for color-range. · eeb5ef0a
      Ronald S. Bultje authored
      In decoder, export (eventually) into vpx_image_t.range field. In
      encoder, use oxcf->color_range to set it (same way as for
      color_space).
      
      See issue 1059.
      
      Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
      eeb5ef0a
  17. 15 Sep, 2015 3 commits
    • Marco's avatar
      SVC fix to set worst/best_quality per layer. · 15c43d9a
      Marco authored
      Allow the worst/best_quality to be set per layer via the
      VP9E_SET_SVC_PARAMETERS control.
      
      Change-Id: Icba5ec8ac757152f3bb7860d6010d9174a7bd578
      15c43d9a
    • Marco's avatar
      Add cyclic refresh parameters to svc-layer context. · eb53c69e
      Marco authored
      For 1 pass CBR spatial-SVC:
      Add cyclic refresh parameters to the svc-layer context.
      
      This allows cyclic refresh (aq-mode=3) to be applied to
      the whole super-frame (all spatial layers).
      This gives a performance improvement for spatial layer encoding.
      
      Addd the aq_mode mode on/off setting as command line option.
      
      Change-Id: Ib9c3b5ba3cb7851bfb8c37d4f911664bef38e165
      eb53c69e
    • Debargha Mukherjee's avatar
      Fix two pass svc encoding · 0e1b4fb9
      Debargha Mukherjee authored
      Fixes temporal scalability. Updates were inadvertently turned
      off for two pass svc causing crashes due to gf_group.index
      growing unchecked.
      
      Change-Id: Iff759946bf61bbde70630347cc8fa4d51a8c2d2f
      0e1b4fb9
  18. 14 Sep, 2015 3 commits
  19. 11 Sep, 2015 2 commits
  20. 10 Sep, 2015 2 commits