summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-05-22Optimize variance functionsYunqing Wang
Added SSE2 version of variance functions for super blocks. Change-Id: Ibeaae8771ca21c99d41dd74067574a51e97b412d
2013-05-21Merge "Refinements on modelcoef expt to reduce storage" into experimentalDeb Mukherjee
2013-05-21Removed diff from macroblockd_planeScott LaVarnway
No longer used. Change-Id: I171c5fa33a7600ad45b9466af23a46ccbdfe0480
2013-05-21Removed vp9_recon functionsScott LaVarnway
No longer used. Change-Id: Ica5166f7117f4693dffdf7633dcfc1b263103d0d
2013-05-21Merge "WIP: 4x4 idct/recon merge" into experimentalScott LaVarnway
2013-05-21Merge "Moving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c." ↵Dmitry Kovalev
into experimental
2013-05-21Merge "Removing clamp_type from the bitstream." into experimentalDmitry Kovalev
2013-05-21Merge "Adding get_ref_frame_idx function." into experimentalDmitry Kovalev
2013-05-21Refinements on modelcoef expt to reduce storageDeb Mukherjee
Uses more aggrerssive interpolation to reduce storage for the model tables by almost more than half. Only 48 lists of probs are stored (as opposed to 128 before), corresponding to ONE_NODE probabilities of: 1, 3, 7, 11, ..., 115, 119, 127, 135, ..., 247, 255. Besides, only 1 table is used as opposed to 2 before. So the overall memory needed for the tables is just 48 * 8 = 384 bytes. The table currently used is based on a new Pareto distribution with heavier tail than a generalized Gaussian - which improves results on derf by about 0.1% over a single table Generaized Gaussian. Results overall on derfraw300 is -0.14%. Change-Id: I19bd03559cbf5894a9f8594b8023dcc3e546f6bd
2013-05-21Unnecessary passing of prev_miYunqing Wang
Passing prev_mi is not needed. Change-Id: I6453bb47514ddafd555864d190ecf6d1a6bdc136
2013-05-20Moving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c.Dmitry Kovalev
Change-Id: Ib07d1e707a87cec98ea3a1779fccca078d8c4310
2013-05-20Adding get_ref_frame_idx function.Dmitry Kovalev
Change-Id: I4f1a4eca6794cda78d00512196caacd5567e2dcc
2013-05-20Updating the model coef experimentDeb Mukherjee
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
2013-05-20WIP: 4x4 idct/recon mergeScott LaVarnway
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: I296604bf73579c45105de0dd1adbcc91bcc53c22
2013-05-20Merge "Enable bit-stream support to 8x4 and 4x8 partition" into experimentalJingning Han
2013-05-20Give VP9 a different sync code from VP8Jingning Han
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
2013-05-19Enable bit-stream support to 8x4 and 4x8 partitionJingning Han
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
2013-05-17Make nmv_count update 4x8/8x4 awareJingning Han
This commit modifies the vp9_update_nmv_count_ to support rectangular partition of 8x8 block. Change-Id: I3e742f80f18f95b031c1c785d756d9365503c24c
2013-05-17Removing clamp_type from the bitstream.Dmitry Kovalev
Change-Id: Ica75bdd4905c4a04b7f92795d0b8ce6836a99ef4
2013-05-17Fix parameters in 4x8 variance calcJingning Han
Correct the stride parameter of 4x8 in vp9_sub_pixel_variance4x8_ and vp9_sub_pixel_avg_variance4x8. Change-Id: I2ca74d4043817503b21737563994270e3b0619ff
2013-05-17Merge "holds utility debugging functions" into experimentalJim Bankoski
2013-05-17Merge "Refactor encode_sb_ for 4x8/8x4 partition" into experimentalJingning Han
2013-05-17Merge "Replace default counts with default probs." into experimentalPaul Wilkins
2013-05-17Merge "New inter mode context." into experimentalPaul Wilkins
2013-05-17Replace default counts with default probs.Paul Wilkins
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
2013-05-17holds utility debugging functionsJim Bankoski
This one prints out a visual version of the partitioning for human eyes to follow... Change-Id: Iba434589a2f55eb069484686d99a382db93b9548
2013-05-17Remove MODE_STATS flag and codePaul Wilkins
Change-Id: I6c70a8a8a4633399842ac74792003ae5f7859ffa
2013-05-16Refactor encode_sb_ for 4x8/8x4 partitionJingning Han
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
2013-05-16Merge "Use b_width_log2_ in partition type parse" into experimentalJingning Han
2013-05-16Merge "Remove vp9_extend_mb_row()" into experimentalJohn Koleszar
2013-05-16Merge "WIP: 8x8 idct/recon merge" into experimentalScott LaVarnway
2013-05-16Merge "Combining integer and fractional parts of mvs for entropy coding." ↵Dmitry Kovalev
into experimental
2013-05-16Use b_width_log2_ in partition type parseJingning Han
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
2013-05-16Removed Q threshold in the usage of ADSTYaowu Xu
Test on cif set showed small but consistent compression gain for almost all encodings with overall impact of .08%. The gains average aournd .12% combined with D63 adst change. Test encoding on std-hd set is ongoing.. Change-Id: If4d94799cf0486fb9c770b193e5c386d13d99d59
2013-05-16Merge "Removing lossless flag from the bitstream." into experimentalDmitry Kovalev
2013-05-16Remove vp9_extend_mb_row()John Koleszar
This code is no longer needed for correct intra prediction. Change-Id: I822d1a8b0ad0a00e7c4c6e7b2931790c39d1267d
2013-05-16WIP: 8x8 idct/recon mergeScott LaVarnway
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
2013-05-16Add building blocks for 4x8/8x4 rd searchJingning Han
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
2013-05-16Merge "Fix the transform type selection in 4x4 partition" into experimentalJingning Han
2013-05-16New inter mode context.Paul Wilkins
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
2013-05-16Merge "Further Implicit Segmentation Changes" into experimentalPaul Wilkins
2013-05-15Add vp9_extend_frame_bordersJohn Koleszar
Adds a subsampling aware border extension function. This may be reworked soon to support more than 3 planes. Change-Id: I76b81901ad10bb1e678dd4f0d22740ca6c76c43b
2013-05-15Merge "Fix vp9_build_intra_predictors_sbuv_s for non-4:2:0" into experimentalJohn Koleszar
2013-05-15Removing lossless flag from the bitstream.Dmitry Kovalev
Change-Id: If6aee510cbc4910f2f24fcd92dddc65fdf8edeea
2013-05-15Fix vp9_build_intra_predictors_sbuv_s for non-4:2:0John Koleszar
Remove an assumption about chroma size, and the number of planes. Change-Id: I286a7fac296ec334c6a8ad847f663f3adbb9f43e
2013-05-15Merge "Fix first-pass encoding test" into experimentalJingning Han
2013-05-15Merge "Moving the same code to new function vp9_setup_scale_factors." into ↵Dmitry Kovalev
experimental
2013-05-15Merge "Adding alpha plane to YV12_BUFFER_CONFIG structure." into experimentalDmitry Kovalev
2013-05-15Moving the same code to new function vp9_setup_scale_factors.Dmitry Kovalev
Change-Id: I2408ad22717784a40e23701ccb9d978265440e4f
2013-05-15Adding alpha plane to YV12_BUFFER_CONFIG structure.Dmitry Kovalev
Change-Id: I8b2687138df636b2b78c8cc5156e3882b0009de0