- 20 May, 2013 - 2 commits
-
-
Deb Mukherjee authored
Cleans up the experiment. Actually uses reduced counts for backward updates, and reduced number of probabilities in the context. No change in bitstream when the experiment is on. Between expt on and off: derfraw300 is down only -0.062% (which is better than when expts were run previously). Change-Id: I55285a049a0c22810bdb42914212ab5a4f8521b5
-
Jingning Han authored
The new code is 0x49, 0x83, 0x42 There is nothing particularly special about this code bitstream wise. Its derivation is the word "sync" coded using 4x6bit alphabetic indices. Change-Id: Ie2430a854af32ddc5a5c25a6c1c90cf6497ba647
-
- 19 May, 2013 - 1 commit
-
-
Jingning Han authored
The recursive partition type search is enabled down to 4x4, 4x8 and 8x4, followed by the corresponding rate-distortion optimization for the per-partition encoding mode decisions. The bit-stream writing/reading synchronized in supporting the rectangular partition of 8x8 block. This provides above 1% coding performance gains on derf. To do next: 1. re-design the rate-distortion loop for inter prediction below 8x8. 2. re-design the rate-distortion loop for intra prediction below 4x4. 3. make the loop-filter aware of rectangular partition of 8x8 block. 4. clean the unused probability models. 5. update default probability values. Change-Id: Idd41a315b16879db08f045a322241f46f1d53f20
-
- 17 May, 2013 - 4 commits
-
-
Jingning Han authored
This commit modifies the vp9_update_nmv_count_ to support rectangular partition of 8x8 block. Change-Id: I3e742f80f18f95b031c1c785d756d9365503c24c
-
Jingning Han authored
Correct the stride parameter of 4x8 in vp9_sub_pixel_variance4x8_ and vp9_sub_pixel_avg_variance4x8. Change-Id: I2ca74d4043817503b21737563994270e3b0619ff
-
Paul Wilkins authored
Replace vp9_kf_default_bmode_counts structure with direct default probabilities. The probability structure is smaller and it removes the need to specify in the bitstream how to convert the counts to probabilities. Note that I have concerns still about the size and value of the large intra mode context. This may cause problems for HW but it also means we rely heavily on reverse update as forwards update of a structure this size is problematic. I intend to review this more generally in the next few days to see if we can come up with a competitive solution that does not rely on such a large context. Change-Id: I0a36071079d5d26a57ab0e9fbf91af4199aa7984
-
Paul Wilkins authored
Change-Id: I6c70a8a8a4633399842ac74792003ae5f7859ffa
-
- 16 May, 2013 - 8 commits
-
-
Jingning Han authored
Deprecate set_block_index. Replace it with get_sb_index_ for consistency with partition search and bit-stream writing/reading. Use b_width/height_log2 instead of mi_width/height_log2, to support 4x4 resolution partition types. Change-Id: Ic1e71981e163c669f7ea6b3c12b831c284c4a494
-
Jingning Han authored
Replace mi_width/height_log2 with b_width/height_log2 in partition type parsing at bit-stream writing stage. This allows parsing resolution at 4x4 block level and makes the 4x4/4x8/8x4 partition coding consistent with other superblock types. Change-Id: I7db3617ea042e0db2dc898999b0c323bff91a22f
-
John Koleszar authored
This code is no longer needed for correct intra prediction. Change-Id: I822d1a8b0ad0a00e7c4c6e7b2931790c39d1267d
-
Scott LaVarnway authored
This patch eliminates the intermediate diff buffer usage by combining the short idct and the add residual into one function. The encoder can use the same code as well. Change-Id: Iacfd57324fbe2b7beca5d7f3dcae25c976e67f45
-
Jingning Han authored
These building blocks enable rate-distortion optimization search over block sizes of 8x4 and 4x8. Need to convert them into mmx/sse forms. Change-Id: I570ea2d22d14ceec3fe3575128d7dfa172a577de
-
Paul Wilkins authored
This patch creates a new inter mode contest that avoids a dependence on the reconstructed motion vectors from neighboring blocks. This was a change requested by a hardware vendor to improve decode performance. As part of this change I have also made some modifications to stats output code (under a flag) to allow accumulation of inter mode context flags over multiple clips Some further changes will be required to accommodate the deprecation of the split mv mode over the next few days. Performance as stands is around -0.25% on derf and std-hd but up on the YT and YT-HD sets. With further tuning or some adjustment to the context criteria it should be possible to make this change broadly neutral. Change-Id: Ia15cb4470969b9e87332a59c546ae0bd40676f6c
-
John Koleszar authored
Adds a subsampling aware border extension function. This may be reworked soon to support more than 3 planes. Change-Id: I76b81901ad10bb1e678dd4f0d22740ca6c76c43b
-
Dmitry Kovalev authored
Change-Id: If6aee510cbc4910f2f24fcd92dddc65fdf8edeea
-
- 15 May, 2013 - 6 commits
-
-
Dmitry Kovalev authored
Change-Id: I2408ad22717784a40e23701ccb9d978265440e4f
-
Jingning Han authored
This commit allows proper transform type (DCT/ADST) selection in the settings of partition 4x4 level. Change-Id: Iec6f922a46480d777e7ca9142a99e8c131f0077b
-
Jingning Han authored
Always initialize the mode_info with sb_type of BLOCK_SIZE_MB16X16 for the first-pass encoding test. Change-Id: Ic86393eeef981bdd523a5b44cfac3f0b24c068b7
-
Dmitry Kovalev authored
Combining encode_nmv_component with encode_nmv_component_fp and read_nmv_component with read_nmv_component_fp. Bitstream is slightly changed (only the order of bits), here are the results on test sets: stdhd: +0.047, yt: -0.038, derf: +0.001, hd: -0.011. Change-Id: I1be312e976796df78ca63368702d0ee19f2b8c50
-
Scott LaVarnway authored
This patch eliminates the intermediate diff buffer usage by combining the short idct and the add residual into one function. The encoder can use the same code as well. Change-Id: Iea7976b22b1927d24b8004d2a3fddae7ecca3ba1
-
Paul Wilkins authored
Trial use of a combination of reference frame, prediction block size and mv to define segmentation. Change-Id: Ie8946a0446dbad777fdcf7626f89e5af0994db50
-
- 14 May, 2013 - 5 commits
-
-
Scott LaVarnway authored
This patch eliminates the intermediate diff buffer usage by combining the short idct and the add residual into one function. The encoder can use the same code as well. Change-Id: I4ea09df0e162591e420d869b7431c2e7f89a8c1a
-
Jingning Han authored
This commit allows the rate-distortion optimization recursion at encoder to go down to 4x4 block size. It deprecates the use of I4X4_PRED and SPLITMV syntax elements from bit-stream writing/reading. Will remove the unused probability models in the next patch. The partition type search and bit-stream are now capable of supporting the rectangular partition of 8x8 block, i.e., 8x4 and 4x8. Need to revise the rate-distortion parts to get these two partition tested in the rd loop. Change-Id: I0dfe3b90a1507ad6138db10cc58e6e237a06a9d6
-
Dmitry Kovalev authored
Change-Id: I299feefa64b93bd62263aea1ff1e41e85faeb6ca
-
John Koleszar authored
This reverts commit a9333111 Change-Id: I2321f88011178381adbcffeda1bcc6a430ab8f1d
-
Dmitry Kovalev authored
Change-Id: Ib7448f7f325ba34a3cba8ab3129028e31e593cf5
-
- 13 May, 2013 - 4 commits
-
-
Dmitry Kovalev authored
Change-Id: I493bcf7bac930e9937a9b57e4b7c803da22728bd
-
Dmitry Kovalev authored
Change-Id: Id1cc1c2663b9c2219cb830ffb4b0c6ab3468dc04
-
Yunqing Wang authored
Allow motion search multiple times iteratively, and break out the loop if this search couldn't find better motion vectors. Limit the maximum number of search to 2. Tests results: 1. stdhd set: 0.311%(overall psnr); 0.346%(ssim). positive gain on 10 out of 16 clips(best: 2.746% on sunflower; worst: -0.434% on old_town_cross). 2. derf set: 0.016%(overall psnr); 0.062%(ssim). positive gain on half of the clips(best: 0.499% on bowing; worst: -0.387 on city). Change-Id: Ibf0a51776d4caf7707be0586346db08128117559
-
Paul Wilkins authored
Change band calculation back to simpler model based on the order in which coefficients are coded in scan order not the absolute coefficient positions. With the scatter scan experiment enabled the results were appear broadly neutral on derf (-0.028) but up a little on std-hd +0.134). Without the scatterscan experiment on the results were up derf as well. Change-Id: Ie9ef03ce42a6b24b849a4bebe950d4a5dffa6791
-
- 11 May, 2013 - 3 commits
-
-
Jingning Han authored
Move set_partition_seg_context_ to common file. Use consistent context setup conditions for partition probability model update at encoder and decoder. Change-Id: I24b7ed3b1c48e3d2568191a46b70136b99b67b1a
-
Jingning Han authored
Use 4x4 block coding for UV components arbitrarily in I4X4_PRED and SPLITMV coding modes. This is a temporary solution to enable bit-stream support for recursive partition down to 4x4 block size. Will separate the functionalities of 4x4 block coding rate-distortion out from those of superblocks. Change-Id: I03dc15d5897014f175f3f2c91e9b266091d56797
-
Jingning Han authored
Use common function to fetch/assign sb_index in rd loop, bit-stream writing and reading. Change-Id: I1d8a214a57ed9cbcd026040436ef33e5e39d65b7
-
- 10 May, 2013 - 5 commits
-
-
Yunqing Wang authored
mdcounts seems no longer used. Change-Id: Idd8162e8acfa3f5be7a18767156cc79ccbc2bdee
-
Yunqing Wang authored
In current code, motion vectors got from single prediction mode are used in compound prediction mode directly. These motion vectors may not give accurate prediction since they are searched independently. In this patch, we took Pascal's suggestion, and did joint motion search in compound prediction mode to find better motion vectors in this situation. Test results: Overall PSNR: 0.570%(derf), 0.918%(stdhd); SSIM: 0.572%(derf), 1.009%(stdhd); The encoder is a little slower. This can be improved since some c code is used in motion search. Change-Id: Ib30c9240f6c56c9b070867b4ca89412a76d9f3c6
-
Jingning Han authored
This commit enables the search for the optimal superblock partition types in the recursion form. The intention is to make the optimization process more concise and ready to support partition down to 4x4 block size next. Change-Id: Iae279a67df3a7cc372553c84c775bc4d2f3e4336
-
John Koleszar authored
Fixes some debugging code to be able to write out frames with chroma other than 4:2:0. Change-Id: I5ee3d29e584db1f52d2de344db249e927eff10b7
-
John Koleszar authored
Make framebuffer allocations according to the chroma subsamping factors in use. A bit is placed in the raw part of the frame header for each of the two subsampling factors. This will be moved in a future commit to make them part of the TBD feature set bits, probably only set on keyframes, etc. Change-Id: I59ed38d3a3c0d4af3c7c277617de28d04a001853
-
- 09 May, 2013 - 2 commits
-
-
John Koleszar authored
The chroma planes are not used during the first pass encode, but the vp9_encode_sb() function was operating on them anyway. This was causing the use of uninitialized memory. Change-Id: I5ebafcd3d5e34ed91a8336dad159b573995a939f
-
John Koleszar authored
Use a single method for calculating the transform size of non-luma planes. Change-Id: I16ebd10e7944d7b9075ab79d15e6a5b5f9bab775
-