summaryrefslogtreecommitdiff
path: root/vp9/encoder
AgeCommit message (Collapse)Author
2013-05-28Revert "Adding API to read/write uncompressed frame header bits." because of ↵Dmitry Kovalev
bitstream mismatches. This reverts commit df037b615fcc0196386977faae060fdfd9a887a8 Change-Id: I1a529f2590df7bc912f5035d22311268933e3dd6
2013-05-27Merge "a few clean-ups" into experimentalYaowu Xu
2013-05-27Merge "Decrease scope of frame_mv argument to handle_inter_mode()." into ↵Ronald S. Bultje
experimental
2013-05-27Decrease scope of frame_mv argument to handle_inter_mode().Ronald S. Bultje
Change-Id: I81c637c61ecc33cb66beb59a2a33166d66b9a0a2
2013-05-27a few clean-upsYaowu Xu
1. remove prediction mode conversion 2. unified bmode, same for key and non-key frame 3. set I4X4_PRED count for pdf to 0, as I4X4_PRED is no longer coded ever. It is determined by ref_frame and block partition Change-Id: If5b282957c24339b241acdb9f2afef85658fe47d
2013-05-27Reduce WHT complexity.Timothy B. Terriberry
Saves 1 add, 3 shifts (and a shift bias) per 1-D transform. Change-Id: I1104bb1679fe342b2f9677df8a9cdc0cb9699e7d
2013-05-27Merge "Reduce bmi buffer length from 16 to 4" into experimentalJingning Han
2013-05-27Reduce bmi buffer length from 16 to 4Jingning Han
This commit removes the use of bmi_ in the first-pass encoding by forcing encode_intra4x4block_ to use DC_PRED, followed by DCT_DCT only, as John suggested. This makes the need for bmi buffer only up to 4 entries, instead of 16. Change-Id: I3410007dfae789ee46a09ae20c39d3ce3c7954aa
2013-05-27Remove unused mode_index argument from handle_inter_mode().Ronald S. Bultje
Change-Id: I07b8c15f33e6e7c63dd0033c18c4ac5c0303cf32
2013-05-27Fix coding statistics compilation.Ronald S. Bultje
Change-Id: I21e7c4ef6bc80f4b9281fc94c88fb710b1595c23
2013-05-26Remove splitmv.Ronald S. Bultje
Also do per-partition motion vector referencing in <sb8x8 partitions, and adjust mvref finding for sub8x8 partitions. Change-Id: Id3ed1ed4d2a8910d11d327db6cc63b8eb79f941f
2013-05-24Merge "Adding API to read/write uncompressed frame header bits." into ↵Dmitry Kovalev
experimental
2013-05-24Fix transform size coding mismatchJingning Han
This commit fixes a transform size enc/dec mismatch issue in the key frame coding. Change-Id: I0c4f40464a367b33dd91ace84506650b1aec2873
2013-05-24Fix two bugsYaowu Xu
1) Added an initialization of rd_tx_select_threshs[]. 2) Made updating transform size counts to be consistent Change-Id: Iaa9d6c6be825b0364c9d61a9802873d01356815c
2013-05-23update txfm size countingYaowu Xu
Change-Id: I3a26baf8b2f945fea4f1aea156e60fa79f620f86
2013-05-23Fix a bug in intra4x4 level rd loopJingning Han
This commit fixed a uninitialized value use in the intra 4x4/8x4/4x8 rate-distortion loop. Change-Id: I5c25b3536b59e4f5fbb23cf85baf93b2ccec7d72
2013-05-23Make comp_inter_inter support 4x4 partition codingJingning Han
This commit refactors the iterative motion search for compound inter-inter mode, to make it support all partition types including 4x4/4x8/8x4 block sizes. Change-Id: I5f1212b0f307377291763e45c6bdc9693b5f04c8
2013-05-23Merge Scatter Scan experiment.Paul Wilkins
Removal from under configure flag. A bit renaming Change-Id: I2213229dfe852001dfec16b149f47c52ce88f3aa
2013-05-23Merge 4x4 block level partition into codebaseJingning Han
Move 4x4/4x8/8x4 partition coding out of experimental list. This commit fixed the unit test failure issues. It also resolved the merge conflicts between 4x4 block level partition and iterative motion search for comp_inter_inter. Change-Id: I898671f0631f5ddc4f5cc68d4c62ead7de9c5a58
2013-05-22Merge "Optimize variance functions" into experimentalYunqing Wang
2013-05-22Merge "Using 128 entry look up table for coef models" into experimentalDeb Mukherjee
2013-05-22Optimize variance functionsYunqing Wang
Added SSE2 version of variance functions for super blocks. Change-Id: Ibeaae8771ca21c99d41dd74067574a51e97b412d
2013-05-22Merge "Make the intra rd search support 8x4/4x8" into experimentalJingning Han
2013-05-22Using 128 entry look up table for coef modelsDeb Mukherjee
Reverts to using 128 bit LUT for the coef models rather than 48 to ease hardware implementation. Also incorporates some cleanups including removing various hooks to support different lookup tables based on block_type and ref_type. Change-Id: I54100c120cca07a2ebd3a7776bc4630fa6a153f6
2013-05-22changes intra coding to be based on txfm blockYaowu Xu
This commit changed the encoding and decoding of intra blocks to be based on transform block. In each prediction block, the intra coding iterates thorough each transform block based on raster scan order. This commit also fixed a bug in D135 prediction code. TODO next: The RD mode/txfm_size selection should take this into account when computing RD values. Change-Id: I6d1be2faa4c4948a52e830b6a9a84a6b2b6850f6
2013-05-22Generalized intra 4x4 encoding for all sizesYaowu Xu
Change-Id: I1b86744fa247233c8df031b3f4b87b212c8dd094
2013-05-22Merge CONFIG_COMP_INTER_JOINT_SEARCH.Paul Wilkins
Merge this experiment so that it is under a speed feature flag not a configuration flag. Change-Id: I536f7f125a4ff5149bb3a64f791e835c324535fd
2013-05-21Make the intra rd search support 8x4/4x8Jingning Han
This commit allows the rate-distortion optimization of intra coding capable of supporting 8x4 and 4x8 partition settings. It enables the entropy coding of intra modes in key frame using a unified contextual probability model conditioned on its above/left prediction modes. Coding performance: derf 0.464% Change-Id: Ieed055084e11fcb64d5d5faeb0e706d30268ba18
2013-05-21Merge "Initial version of alpha channel support" into experimentalJohn Koleszar
2013-05-21Merge "Deprecate 4x4 intra modes from bit-stream" into experimentalJingning Han
2013-05-21Adding API to read/write uncompressed frame header bits.Dmitry Kovalev
The API is not final yet and can be changed. Actual layout of uncompressed frame part will be finalized later. Right now moving clr_type, error_resilient_mode, refresh_frame_context, frame_parallel_decoding_mode from first compressed partition to uncompressed frame part. Change-Id: I3afc5d4ea92c5a114f4c3d88f96858cccc15b76e
2013-05-21Merging the model coef prob experimentDeb Mukherjee
Merges the experiment. Change-Id: I4eb19af6de6df6aa3a96a2e82f231d47ed9b3ae9
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-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-20Deprecate 4x4 intra modes from bit-streamJingning Han
Replace B_DC_PRED like syntax element writing/reading with sb_ymode set (e.g., DC_PRED, etc). Change-Id: I293006a6b3bcd130c08ea9f053e7a79c6819c6f8
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 "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