1. 26 Nov, 2014 1 commit
  2. 25 Nov, 2014 1 commit
    • Yunqing Wang's avatar
      vp9_ethread: modify VP9_COMP structure · edbd61e1
      Yunqing Wang authored
      This patch modified struct VP9_COMP. Created a struct ThreadData
      to include data that need to be copied for each thread. In
      multiple thread case, one thread processes one tile. all threads
      share one copy of VP9_COMP,
      (refer to VP9_COMP *cpi in the code)
      but each thread has its own copy of ThreadData,
      (refer to ThreadData *td in the code).
      Therefore, within the scope of encode_tiles(), both cpi and td
      need to be passed as function parameters.
      
      In single thread case, the FRAME_COUNTS pointer in ThreadData
      points to "counts" in VP9_COMMON.
      
      Change-Id: Ib37908b2d8e2c0f4f9c18f38017df5ce60e8b13e
      edbd61e1
  3. 20 Nov, 2014 1 commit
  4. 17 Nov, 2014 1 commit
  5. 15 Nov, 2014 1 commit
    • Yunqing Wang's avatar
      vp9_ethread: combine encoder counts in separate struct · d0b547c6
      Yunqing Wang authored
      Several frame counters in encoder are updated at SB level. Combine
      those counters and put them in a separate struct, which allows us
      to allocate one copy for each thread.
      
      Change-Id: I00366296a13c0ada4d8fa12f5e07728388b6cab7
      d0b547c6
  6. 14 Nov, 2014 1 commit
  7. 13 Nov, 2014 1 commit
    • Adrian Grange's avatar
      Prepare for dynamic frame resizing in the recode loop · 0d085ebc
      Adrian Grange authored
      Prepare for the introduction of frame-size change
      logic into the recode loop.
      
      Separated the speed dependent features into
      separate static and dynamic parts, the latter being
      those features that are dependent on the frame size.
      
      Change-Id: Ia693e28c5cf069a1a7bf12e49ecf83e440e1d313
      0d085ebc
  8. 04 Nov, 2014 1 commit
  9. 28 Oct, 2014 1 commit
  10. 27 Oct, 2014 1 commit
    • Yaowu Xu's avatar
      Add a new control of golden frame boost in CBR mode · 03a60b78
      Yaowu Xu authored
      0 means that golden boost is off, and uses average frame target rate,
      a non-zero number means the percentage of boost over average frame
      bitrate is given initially to golden frames in CBR mode.
      
      Change-Id: If4334fe2cc424b65ae0cce27f71b5561bf1e577d
      03a60b78
  11. 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
  12. 23 Oct, 2014 1 commit
    • 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
  13. 20 Oct, 2014 1 commit
    • 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
  14. 17 Oct, 2014 1 commit
    • Yunqing Wang's avatar
      Remove the dependency in token storing locations · 7c4992c4
      Yunqing Wang authored
      Currently, the tokens for a tile are stored immediately after its
      preceding tile, which causes a dependency. This is unnecessary
      since we always allocate enough memory for tokens. Removing
      the dependency allows token writing done in parallel. This patch
      doesn't change encoding result.
      
      Change-Id: I7365a6e5e2c2833eb14377c37e1503c9d0f26543
      7c4992c4
  15. 16 Oct, 2014 1 commit
    • 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
  16. 14 Oct, 2014 1 commit
    • Adrian Grange's avatar
      Move input frame scaling into the recode loop · 452dc215
      Adrian Grange authored
      Move the point at which input frames are scaled
      into the recode loop. This will allow us to change
      the coded frame size dynamically in response
      to previous attempts to encode the frame at a
      higher resolution.
      
      A following patch will implement a scheme for
      resizing the frame in the recode loop.
      
      Change-Id: I6a59c02d6ac1626512edad6de8b60063b79433e6
      452dc215
  17. 09 Oct, 2014 1 commit
    • Deb Mukherjee's avatar
      Subpel search cleanups and enhancements · d78dbff0
      Deb Mukherjee authored
      - Some fixes to surface fit.
      - Returns variance function as cost rather than sad in the
        pattern search and diamond search functions. Only
        vp9_pattern_search_sad function used in bigdia search
        uses sad as integer 1-away costs.
      - Deploys SUBPEL_TREE_PRUNED_MORE for speed 4+.
      
      Results:
      derf [Speed 3]: About +0.036% in coding efficiency without any
      discernible speed loss.
      derf [Speed 4]: About 2-3% faster at -0.199% loss in coding efficiency.
      derf [Speed 5]: About 3-4% faster at -0.149% loss in coding efficiency.
      
      Change-Id: I8462f94f6adb46966ca964f2bd0400977357fd63
      d78dbff0
  18. 07 Oct, 2014 1 commit
  19. 26 Sep, 2014 1 commit
    • Yunqing Wang's avatar
      Skip the partition search for still frames · 1fcbf6ed
      Yunqing Wang authored
      This patch re-enabled the feature in Pengchong's patch
      (commit 12861260). Originally, it
      was turned on while use_lastframe_partitioning > 0(not used anymore).
      Now it was added as a feature, and turned on while speed >= 2.
      As described in the original patch, this feature helps speed up the
      slideshows in YouTube.
      
      Change-Id: I1b0f18d65da1ee1c8d1e117dabba910c5207c471
      1fcbf6ed
  20. 24 Sep, 2014 1 commit
  21. 12 Sep, 2014 1 commit
    • Deb Mukherjee's avatar
      Adds high bitdepth transform functions and tests · 10783d4f
      Deb Mukherjee authored
      Adds various high bitdepth transform functions and tests.
      Much of the changes are related to using typedefs tran_low_t
      and tran_high_t for the final transform cofficients and intermediate
      stages of the transform computation respectively rather than fixed
      types int16_t/int. When vp9_highbitdepth configure flag is off,
      these map tp int16_t/int32_t, but when the flag is on, they map
      to int32_t/int64_t to make space for needed extra precision.
      
      Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
      10783d4f
  22. 02 Sep, 2014 2 commits
    • Deb Mukherjee's avatar
      Adds config opt for highbitdepth + misc. vpx · 5acfafb1
      Deb Mukherjee authored
      Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
      Also includes most vpx level high bit-depth functions. However
      encode/decode in the highbitdepth profiles will not work until
      the rest of the code is in place.
      
      Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
      5acfafb1
    • Minghai Shang's avatar
      [svc] Temporal svc with two pass rate control · be3b08da
      Minghai Shang authored
      It's built based on current spatial svc code.
      We only support one spatial two temporal layers at this time.
      Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
      be3b08da
  23. 30 Aug, 2014 1 commit
  24. 29 Aug, 2014 1 commit
  25. 28 Aug, 2014 1 commit
    • Deb Mukherjee's avatar
      Updates vp9_pattern search to return integer sads · 04b100b2
      Deb Mukherjee authored
      Updates the vp9_pattern_search function to return integer one-away
      neighbors' sad values, for subsequent use in speeding up the
      sub-pel search. Also, removes code for the do_refine option
      which is not being used currently.
      Updates the integer and subpel functions to pass in a 5-element
      sad list for output or input.
      
      A new pruned sub-pel search algorithm is implemented that uses
      the sad returned from the integer pel search. But it is not
      deployed yet.
      
      Change-Id: Ifa9f5ad024b5b660570366d2bd900343e1891520
      04b100b2
  26. 26 Aug, 2014 3 commits
    • Yaowu Xu's avatar
      add a new interp filter search strategy. · 1144fee3
      Yaowu Xu authored
      This commit addes a new strategy to reduce the search for optimal
      interpolation filter type. The encoder counts and store how many each
      filter type is selected and used for each of the reference frames.
      A filter type that is rarely used for all three reference frames is
      masked out to avoid computation.
      
      The impact on compression is neglectible:
      -0.02% on derf
      +0.02% on stdhd
      
      Encoding time is seen to reduce by 2~3%.
      
      Change-Id: Ibafa92291b51185de40da513716222db4b230383
      1144fee3
    • Dmitry Kovalev's avatar
      Removing unused arnr_type from VP9EncoderConfig and vp9_extracfg. · 33f4e570
      Dmitry Kovalev authored
      Change-Id: Icab9a4399c5687453f4bec14b8cb5000464335e5
      33f4e570
    • Dmitry Kovalev's avatar
      Removing 'frames' field from VP9_COMP. · a00278c6
      Dmitry Kovalev authored
      Using local variable instead.
      
      Change-Id: If592d73ba2b04972cdae938751155c183a6db25a
      a00278c6
  27. 25 Aug, 2014 1 commit
  28. 22 Aug, 2014 4 commits
  29. 21 Aug, 2014 1 commit
  30. 19 Aug, 2014 3 commits
  31. 18 Aug, 2014 1 commit