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
  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
    • 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
  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
    • 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
    • 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
    • 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
  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
    • 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
  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
  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
    • 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
    • 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
  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.
      Change-Id: Ie26ed816a57fa871ba27a72db9805baaaeaba9f3
    • 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
  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
  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
      See issue 1059.
      Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
  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
    • 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
    • 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
  18. 14 Sep, 2015 3 commits
  19. 11 Sep, 2015 2 commits
  20. 10 Sep, 2015 2 commits