- 06 Dec, 2014 1 commit
-
-
Jingning Han authored
The initial reset of this_rdc in vp9_pick_inter_mode is not needed, since it will be re-assign when used. Change-Id: Ic0e12d741cbab292fc214c1eabb48b129af7839b
-
- 05 Dec, 2014 2 commits
-
-
Jingning Han authored
Compare the current best mode rate-distortion cost with the skip threshold to decide if performing motion search. Change-Id: Ia071824f8dd3b7db485f424692a485a2da6a1a9f
-
Jingning Han authored
Change-Id: I0222f7abc61202f4a83b117bbfb042ada6304562
-
- 04 Dec, 2014 1 commit
-
-
Deb Mukherjee authored
Bug was introduced in https://gerrit.chromium.org/gerrit/#/c/72122/ Change-Id: Idb500ea619a30e7bc50e22fb8ee03be5282f41db
-
- 25 Nov, 2014 3 commits
-
-
Jingning Han authored
Change-Id: Ic072585ebffdb36982ed7b8b9f875ca6c1c656c4
-
Jingning Han authored
This commit allows the encoder to increase the mode test kick-off thresholds if the previous best mode renders all zero quantized coefficients, thereby saving motion search runs when possible. The compression performance of speed -5 and -6 is down by -0.446% and 0.591%, respectively. The runtime of speed -6 is improved by 10% for many test clips. vidyo1, 1000 kbps 16578 b/f, 40.316 dB, 7873 ms -> 16575 b/f, 40.262 dB, 7126 ms nik720p, 1000 kbps 33311 b/f, 38.651 dB, 7263 ms -> 33304 b/f, 38.629 dB, 6865 ms dark720p, 1000 kbps 33331 b/f, 39.718 dB, 13596 ms -> 33324 b/f, 39.651 dB, 12000 ms mmoving, 1000 kbps 33263 b/f, 40.983 dB, 7566 ms -> 33259 b/f, 40.978 dB, 7531 ms Change-Id: I7591617ff113e91125ec32c9b853e257fbc41d90
-
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
-
- 24 Nov, 2014 2 commits
-
-
Jingning Han authored
The intra mode penalty is covered by intra_cost_penalty. This commit removes the other intra cost threshold, provided that the constant 50 is negligible in normal rate-distortion cost. Change-Id: I9b8b7483c43b9a41741622e7057def1f7d51bb72
-
Jingning Han authored
This commit makes a non-RD coding mode decision process for key frame coding. It can be optionally turned on in speed -6 and above. Change-Id: I0847258b392877a0210b4768bef88ebc9ad009b5
-
- 21 Nov, 2014 2 commits
-
-
Jingning Han authored
This commit allows more aggressive decision to skip forward transform and quantization for luma component in RTC coding mode. The chroma components remains going through the normal coding routine, since they are not included in the non-RD mode search process. It reduces the runtime cost by 2% - 10%. In speed -6, vidyo1 1000 kbps 16576 b/f, 40.281 dB, 8402 ms -> 16576 b/f, 40.323 dB, 7764 ms nik720p 1000 kbps 33337 b/f, 38.622 dB, 7473 ms -> 33299 b/f, 38.660 dB, 7314 ms dark720p 1000 kbps 33330 b/f, 39.785 dB, 13505 ms -> 33325 b/f, 39.714 dB, 13105 ms The compression performance of speed -6 is improved by 0.44% in PSNR and 1.31% in SSIM. Change-Id: Iae9e3738de6255babea734e5897f29118bebc6d7
-
Alex Converse authored
6.3% better compression less than 1% compression time increase Change-Id: Ie83c059436e54c09de9e7c87e06e0a6d40dc38fe
-
- 17 Nov, 2014 1 commit
-
-
Jingning Han authored
This commit adds a check condition to the prediction buffering operation used in the rtc coding mode. This resolves a unit test warning in example/vpx_tsvc_encoder_vp9_mode_7. Change-Id: I9fd50d5956948b73b53bd8fc5a16ee66aff61995
-
- 11 Nov, 2014 1 commit
-
-
Jingning Han authored
This commit makes the speed -6 and above use the reconstructed boundary pixels for precise intra prediction. This allows more intra prediction modes to be tested in the non-RD coding process. Enabling horizontal and vertical intra prediction modes can improve the speed -6 compression performance for rtc set by 0.331%. Change-Id: I3a99f9d12c6af54de2bdbf28c76eab8e0905f744
-
- 07 Nov, 2014 1 commit
-
-
Alex Converse authored
Change-Id: I39d9f13fa34984ee9dad0c4f303ef672635f420e
-
- 04 Nov, 2014 1 commit
-
-
Jingning Han authored
This commit makes the RTC coding mode to conditionally skip the reference frame mode search, when the predicted motion vector of the current reference frame gives more than two times sum of absolute difference compared to that of other reference frames. It reduces the runtim by 1% - 4% for speed -5 and -6. The average compression performance is improved by about 0.1% in both settings. It is of particular benefit to light change scenarios. The compression performance of test clip mmmovingvga.y4m is improved by 6.39% and 15.69% at high bit rates for speed -5 and -6, respectively. Speed -5 vidyo1 16555 b/f, 40.818 dB, 12422 ms -> 16552 b/f, 40.804 dB, 12100 ms nik 33211 b/f, 39.138 dB, 11341 ms -> 33228 b/f, 39.139 dB, 11023 ms mmmoving 33263 b/f, 40.935 dB, 13508 ms -> 33256 b/f, 41.068 dB, 12861 ms Speed -6 vidyo1 16541 b/f, 40.227 dB, 8437 ms -> 16540 b/f, 40.220 dB, 8216 ms nik 33272 b/f, 38.399 dB, 7610 ms -> 33267 b/f, 38.414 dB, 7490 ms mmmoving 33255 b/f, 40.555 dB, 7523 ms -> 33257 b/f, 40.975 dB, 7493 ms Change-Id: Id2aef76ef74a3cba5e9a82a83b792144948c6a91
-
- 02 Nov, 2014 1 commit
-
-
Jingning Han authored
Fix the alignment of entries fo intra prediction modes. Change-Id: Ie32ad87cf90694efd591a4b1cc29c916c4cd56f7
-
- 30 Oct, 2014 3 commits
-
-
Jingning Han authored
This improves coding performance of speed -5 and -6 by 0.6%, respectively. Change-Id: Ic5a7746a88c73285f0b14333d35dc16b02152c25
-
Jingning Han authored
Reduce the scope of function parameters. Change-Id: Ifef2cfb559908a97498ffdbd6ea53da1cd45a73c
-
Jingning Han authored
This commit makes the inter prediction buffer system to support hybrid partition search. It reduces the runtime of speed -5 by about 3%. No compression performance change. vidyo1 720p 1000 kbps 11831 ms -> 11497 ms nik 720p 1000 kbps 10919 ms -> 10645 ms Change-Id: I5b2da747c6395c253cd074d3907f5402e1840c36
-
- 29 Oct, 2014 1 commit
-
-
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
-
- 28 Oct, 2014 2 commits
-
-
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
-
Jingning Han authored
Make the common tile info as one element in the encoder tile data struct. Change-Id: I8c474b4ba67ee3e2c86ab164f353ff71ea9992be
-
- 27 Oct, 2014 1 commit
-
-
Jingning Han authored
Use per tile threshold in the prediction mode search process. Change-Id: I6c74ee5a3b069bb4281002dfe51310911a0756c0
-
- 23 Oct, 2014 1 commit
-
-
Yaowu Xu authored
To outside the loop to avoid repeating the operations. Change-Id: I66c1986e98ce0d7594caad3d3b45de655b299bff
-
- 22 Oct, 2014 3 commits
-
-
Jingning Han authored
This improves the compression performance of speed -5 by 0.6%. The speed impact is less than 1%. Change-Id: Ie77daa561976dfc8b479061e1221bdf428eb0c3b
-
Yaowu Xu authored
The initialization of this_mode_pred does not work when the ref_frame loop ever goes beyond LAST_FRAME. This commit fixes the subtle issue and allows potentially expanding the loop to test GOLDEN_FRAME. Change-Id: Ibbd427a22160d1d9eacb8ed0c87f88d6cef9c0f3
-
Jingning Han authored
This commit refactors the rate distortion structure used in the non-RD coding mode and saves a few RDCOST calculations. Change-Id: I62c3416c300d2c5372f21b96d93a6b633a34ab3a
-
- 21 Oct, 2014 1 commit
-
-
Hui Su authored
INTERP_FILTER; Modify the macro ADD_MV_REF_LIST and IF_DIFF_REF_FRAME_ADD_MV. Change-Id: Ic36c9eb6ccb8ec324d991f7241e42b40b60b1dcb
-
- 15 Oct, 2014 1 commit
-
-
Marco authored
Reduce the intra_cost_penalty for non-rd mode, and some updates to VAR_BASED_PARTITION. Visual tests show some improvement at Speed 6, for RTC clips. Change-Id: If9090daf7aed14906a32d931a538ab544bbca606
-
- 09 Oct, 2014 2 commits
-
-
Deb Mukherjee authored
Uses highbd_ prefix convention consistently. Change-Id: I58f7f799a7ff8e32701bcd71c955bcf1cdd4581e
-
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
-
- 07 Oct, 2014 3 commits
-
-
Jim Bankoski authored
The concept: There's too much noise in source pixels for variance and at low bitrate the reconstructed looks nothing like the source so we have problems getting good partitionings with either. This skirts the issue by using a box blur scaled down version for variance calculations. To compare against source_var_ moved keyframe to be rd based like source_var. Change-Id: Ie3babdbfadae324b7b5a76bea192893af27f0624
-
Jingning Han authored
Change-Id: If0ea98aa139d14d40cd924114e18396aff36b5a5
-
Jingning Han authored
The functions b_width_log2 and b_height_log2 only do direct table fetch. This commit unifies such use cases by using the table directly and removes these functions. Change-Id: I3103fc6ba959c1182886a2799d21b8b77c8a7b6b
-
- 25 Sep, 2014 1 commit
-
-
Deb Mukherjee authored
Change-Id: I6f67b171022bbc8199c6d674190b57f6bab1b62f
-
- 20 Sep, 2014 1 commit
-
-
hkuang authored
mi_grid_* are arrays of pointer to pointer. They save the pointers that point to the MIs in cm->mi. But they are unnecessary and complicated. The original goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer inside MODE_INFO_t, same goal could be achieved. This commit totally removes the mi_grid_* structures. But there are still many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit will do on-demand MODE_INFO_t allocation in order to save these memories. Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
-
- 16 Sep, 2014 1 commit
-
-
Deb Mukherjee authored
Adds various high bitdepth quantization functions. Change-Id: I36fc0bf75a1bd15128ed271df8723de0ac134b0c
-
- 06 Sep, 2014 3 commits
-
-
James Zern authored
Change-Id: I4c74dcab6358817f03d3bc4d526006d241f0c10e
-
James Zern authored
Change-Id: Ifbfc142291697a1847ef85ced0b0eb4d6dab161e
-
James Zern authored
Change-Id: I2450b4856e48dbc4d5b938b2edcea0704f756c8e
-