summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encoder.h
AgeCommit message (Collapse)Author
2014-11-04[spatial svc] Make spatial svc working for one pass rate controlMinghai Shang
Change-Id: Ibd9114485c3d747f9d148f64f706bf873ea473ac
2014-10-28Merge "Add a new control of golden frame boost in CBR mode"Yaowu Xu
2014-10-27Refactor encoder tile data structureJingning Han
Make the common tile info as one element in the encoder tile data struct. Change-Id: I8c474b4ba67ee3e2c86ab164f353ff71ea9992be
2014-10-27Add a new control of golden frame boost in CBR modeYaowu Xu
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
2014-10-27Merge "Add a new control of max bitrate for inter frame"Yaowu Xu
2014-10-24Merge "Tile based adaptive mode search in RD loop"Jingning Han
2014-10-24Add a new control of max bitrate for inter frameYaowu Xu
Change-Id: I205de3611622cff7f751ea8baf9f82784581730a
2014-10-24Tile based adaptive mode search in RD loopJingning Han
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
2014-10-23Move frame re-sizing into the recode loopAdrian Grange
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
2014-10-21Merge "Extend --auto-alt-ref so it can enable multi-alt ref."Paul Wilkins
2014-10-20Extend --auto-alt-ref so it can enable multi-alt ref.Paul Wilkins
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
2014-10-17Remove the dependency in token storing locationsYunqing Wang
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
2014-10-16Revert "Move input frame scaling into the recode loop"Paul Wilkins
This reverts commit 452dc21500a2339ee685cb28efbd2af1b856ea12. 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
2014-10-14Move input frame scaling into the recode loopAdrian Grange
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
2014-10-09Merge "Subpel search cleanups and enhancements"Deb Mukherjee
2014-10-08Subpel search cleanups and enhancementsDeb Mukherjee
- 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
2014-10-07Remove redundant header file from vp9_encoder.hJingning Han
Change-Id: Ia212390cf8d36db5436bb0f0e1b696f70066341a
2014-09-30Merge "Skip the partition search for still frames"Yunqing Wang
2014-09-26Skip the partition search for still framesYunqing Wang
This patch re-enabled the feature in Pengchong's patch (commit 12861260732a4fd5f6b667ce9d5105dc9b606eda). 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
2014-09-23Adds high bit-depth psnr/sse functionsDeb Mukherjee
Also adds some miscellaneous high bit-depth setup functions. Change-Id: I66488b08a5a2a8cb9518ca10497cf1c1501ceded
2014-09-11Adds high bitdepth transform functions and testsDeb Mukherjee
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
2014-09-03Merge "[svc] Temporal svc with two pass rate control"Minghai Shang
2014-09-02Merge "Adds config opt for highbitdepth + misc. vpx"Deb Mukherjee
2014-09-02Adds config opt for highbitdepth + misc. vpxDeb Mukherjee
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
2014-09-02[svc] Temporal svc with two pass rate controlMinghai Shang
It's built based on current spatial svc code. We only support one spatial two temporal layers at this time. Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
2014-09-02Merge "Removing 'frames' field from VP9_COMP."Dmitry Kovalev
2014-08-29Removing dummy_packing member from VP9_COMP.Dmitry Kovalev
Change-Id: I571ce84c97087f8a1a36a10058393bfdcefbf72a
2014-08-29Minor fix in vp9_encoder.hYunqing Wang
Added the missing "int". Change-Id: I7c8af3dee700837b40f010d53e1431a59370ae3a
2014-08-28Merge "Removing unused arnr_type from VP9EncoderConfig and vp9_extracfg."Dmitry Kovalev
2014-08-28Merge "Updates vp9_pattern search to return integer sads"Deb Mukherjee
2014-08-28Updates vp9_pattern search to return integer sadsDeb Mukherjee
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
2014-08-26Merge "add a new interp filter search strategy."Yaowu Xu
2014-08-26add a new interp filter search strategy.Yaowu Xu
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
2014-08-25Removing unused arnr_type from VP9EncoderConfig and vp9_extracfg.Dmitry Kovalev
Change-Id: Icab9a4399c5687453f4bec14b8cb5000464335e5
2014-08-25Removing 'frames' field from VP9_COMP.Dmitry Kovalev
Using local variable instead. Change-Id: If592d73ba2b04972cdae938751155c183a6db25a
2014-08-25Removing tx_stepdown_count from VP9_COMP.Dmitry Kovalev
The variable is never read. Change-Id: I94141c1667fa5d10604cd6f83c5f64df107dee94
2014-08-25Merge "Removing source field from VP9_COMP."Dmitry Kovalev
2014-08-25Merge "Removing is_best_mode() function."Dmitry Kovalev
2014-08-22Removing source field from VP9_COMP.Dmitry Kovalev
Using local variables instead. Change-Id: I68737f7e392b81492ffd3ef2c2ff9afbf55fb097
2014-08-22Merge "Move mv cost table to VP9_COMP"Jingning Han
2014-08-22Merge "Removing last_source field from VP9_COMP."Dmitry Kovalev
2014-08-22Replacing 'struct vpx_fixed_buf' with 'vpx_fixed_buf_t’.Dmitry Kovalev
Change-Id: Ibbbc5b39429d4b753f0a966b9d84d1d7bf823650
2014-08-22Move mv cost table to VP9_COMPJingning Han
The mv cost table set is maintained at frame level, hence moved to VP9_COMP. Change-Id: Icb3d0185d47443590bd11357de729aa4ba5c5e5e
2014-08-21Removing last_source field from VP9_COMP.Dmitry Kovalev
Change-Id: I5d7cb0151d8495e5ecd073a98b73da65cc6e7274
2014-08-21Removing is_best_mode() function.Dmitry Kovalev
Change-Id: Iccd7cec885e8aeb0e54613d888f9960c393cee0b
2014-08-20Merge "Removing gold_is_last, alt_is_last, gold_is_alt flags."Dmitry Kovalev
2014-08-20Merge "Converting MODE to be just BEST, GOOD, and REALTIME."Dmitry Kovalev
2014-08-19Converting MODE to be just BEST, GOOD, and REALTIME.Dmitry Kovalev
After that change oxcf->pass and oxcf->mode become two orthogonal variables. Change-Id: I1501f83cd2805480e8118135e6d4045fb41e26d5
2014-08-19Moving frame_is_boosted() to vp9_speed_features.c.Dmitry Kovalev
Change-Id: I9261ded5fbba7a625d8224d91be296265a932410
2014-08-18Removing gold_is_last, alt_is_last, gold_is_alt flags.Dmitry Kovalev
Change-Id: I061d3bc5b13e3819710fc29504f01f01f065032e