summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2013-02-28mv dct_sse2.c dct_sse2_intrinsics.c to avoid collisionJim Bankoski
Change-Id: Id786be31da3c91d95d2955aa569ecdc6e66650df
2013-02-28fix to parameters to match rtcdJim Bankoski
Change-Id: I919e2dd72292fe44f2e53ada56bd42287d50cdeb Signed-off-by: Jim Bankoski <jimbankoski@google.com>
2013-02-27Faster vp9_short_fdct8x8.Christian Duvivier
Scalar path is about 1.4x faster (4% overall encoder speedup). SSE2 path is about 7x faster (13% overall encoder speedup). Change-Id: I7e85d8225a914a74c61ea370210414696560094d
2013-02-27Code cleanup.Dmitry Kovalev
Fixing code style, using array lookup instead of switch statements for forward hybrid transforms (in the same way as for their inverses). Consistent usage of ROUND_POWER_OF_TWO macro in appropriate places. Change-Id: I0d3822ae11f928905fdbfbe4158f91d97c71015f
2013-02-27Merge "Motion vectors code cleanup." into experimentalDmitry Kovalev
2013-02-27Merge "Remove unused file" into experimentalYunqing Wang
2013-02-27Merge "Remove unused vp9_copy32xn" into experimentalJohn Koleszar
2013-02-27Merge "Remove unused file" into experimentalYunqing Wang
2013-02-27Motion vectors code cleanup.Dmitry Kovalev
Fixing indentation, removing redundant parenthesis, deciphering single letter variable names, better spacing. Change-Id: I1d447a7d69eddbf1e94e0820423615f40ea2d591
2013-02-27Merge "Move eob from BLOCKD to MACROBLOCKD." into experimentalRonald S. Bultje
2013-02-27Merge "Optimize vp9_dc_only_idct_add_c function" into experimentalYunqing Wang
2013-02-27Remove unused fileYunqing Wang
Removed vp9/decoder/x86/vp9_idct_blk_mmx.c Change-Id: I07ab06382a394cf556fa5a8e3c98b91f6e4f9ce8
2013-02-27Remove unused fileYunqing Wang
Removed vp9_idctllm_mmx.asm Change-Id: I7152756f23a5a09ed69e8fb40edb2ab3237290fe
2013-02-27Move eob from BLOCKD to MACROBLOCKD.Ronald S. Bultje
Consistent with VP8. Change-Id: I8c316ee49f072e15abbb033a80e9c36617891f07
2013-02-27Merge "Use ref_frame_map vice active_ref_idx on the encoder" into experimentalJohn Koleszar
2013-02-27Merge "Test upscaling as well as downscaling" into experimentalJohn Koleszar
2013-02-27Remove unused vp9_copy32xnJohn Koleszar
This function was part of an optimization used in VP8 that required caching two macroblocks. This is unused in VP9, and might not survive refactoring to support superblocks, so removing it for now. Change-Id: I744e585206ccc1ef9a402665c33863fc9fb46f0d
2013-02-27Merge changes I922f8602,I0ac3343d into experimentalJohn Koleszar
* changes: Use 256-byte aligned filter tables Set scale factors consistently for SPLITMV
2013-02-27Merge "Combined motion compensation with scaled predictors" into experimentalJohn Koleszar
2013-02-27Use ref_frame_map vice active_ref_idx on the encoderJohn Koleszar
This patch makes the encoder's use of ref_frame_map and active_ref_idx consistent with the decoder. ref_frame_map[] maps a reference buffer index to its actual location in the yv12_fb array, since many references may share an underlying buffer. active_ref_idx[] mirrors cpi->{lst,gld,alt}_fb_idx, holding the active references in each slot. This also fixes a bug in setup_buffer_inter() where the incorrect reference was used to populate the scaling factors. Change-Id: Id3728f6d77cffcd27c248903bf51f9c3e594287e
2013-02-27Test upscaling as well as downscalingJohn Koleszar
Fixes a bug in vp9_set_internal_size() that prevented returning to the unscaled state. Updated the ResizeInternalTest to scale both down and up. Added a check that all frames are within 2.5% of the quality of the initial keyframe. Change-Id: I3b7ef17cdac144ed05b9148dce6badfa75cff5c8
2013-02-27Use 256-byte aligned filter tablesJohn Koleszar
This avoids duplicating all the filters twice. Includes fixups to the convolve routines and associated tests to make this work. Change-Id: I922f86021594e55072ddb63b42b2313605db6e00
2013-02-27Combined motion compensation with scaled predictorsJohn Koleszar
This patch extends the previous support for using references of a different resolution in ZEROMV mode to all inter prediction modes. Subpixel based best-mv scoring is disabled when the reference frame differs in resolution from the current frame. Change-Id: Id4dc3e5e6692de98d9857fd56bfad3ac57e944ac
2013-02-27Set scale factors consistently for SPLITMVJohn Koleszar
This commit updates the 4x4 prediction to consistently use the build_2x1_inter_predictor() method. That function is updated to calculate the scale offset, rather than relying on the caller to calculate it. In the case that the 2x1 prediction can not be used, the scale offset is recalculated for each 1x1 block. The idea here is that the offsets are calculated before each call to vp9_build_scaled_inter_predictor(). Change-Id: I0ac3343dd54e2846efa3c4195fcd328b709ca04d
2013-02-27Merge "Improve 32x32 forward dct" into experimentalYaowu Xu
2013-02-26Spatial resamping of ZEROMV predictorsJohn Koleszar
This patch allows coding frames using references of different resolution, in ZEROMV mode. For compound prediction, either reference may be scaled. To test, I use the resize_test and enable WRITE_RECON_BUFFER in vp9_onyxd_if.c. It's also useful to apply this patch to test/i420_video_source.h: --- a/test/i420_video_source.h +++ b/test/i420_video_source.h @@ -93,6 +93,7 @@ class I420VideoSource : public VideoSource { virtual void FillFrame() { // Read a frame from input_file. + if (frame_ != 3) if (fread(img_->img_data, raw_sz_, 1, input_file_) == 0) { limit_ = frame_; } This forces the frame that the resolution changes on to be coded with no motion, only scaling, and improves the quality of the result. Change-Id: I1ee75d19a437ff801192f767fd02a36bcbd1d496
2013-02-26Merge "Removing redundant 'extern' keyword from function declarations." into ↵Dmitry Kovalev
experimental
2013-02-26Merge "Merge cnvcontext experiment." into experimentalRonald S. Bultje
2013-02-26Merge "Fix modes.stt output printf format string." into experimentalRonald S. Bultje
2013-02-26Merge "Minor cosmetics in rdopt." into experimentalRonald S. Bultje
2013-02-26Optimize vp9_dc_only_idct_add_c functionYunqing Wang
Wrote SSE2 version of vp9_dc_only_idct_add_c function. In order to improve performance, clipped the absolute diff values to [0, 255]. This allowed us to keep the additions/subtractions in 8 bits. Test showed an over 2% decoder performance increase. Change-Id: Ie1a236d23d207e4ffcd1fc9f3d77462a9c7fe09d
2013-02-26Merge "vp9: promote gf_group_bits calculation to 64-bit" into experimentalJames Zern
2013-02-26Removing redundant 'extern' keyword from function declarations.Dmitry Kovalev
Change-Id: I893fa36297b9bd9cff93d082f1736f6860b15c0d
2013-02-26Merge "Refactor inter recon functions to support scaling" into experimentalJohn Koleszar
2013-02-26Merge "Changing pitch value meaning for fht and iht transforms." into ↵Dmitry Kovalev
experimental
2013-02-26Merge cnvcontext experiment.Ronald S. Bultje
Change-Id: I35e64998b25694a3bb4a62164bba3c03c1db4bc7
2013-02-26Fix modes.stt output printf format string.Ronald S. Bultje
Change-Id: I17e2d2f6a4da86d9e4af7bebdea0bf5d154da084
2013-02-26Minor cosmetics in rdopt.Ronald S. Bultje
Change-Id: I62497dcf2074b4bb4787bf660e727e5cf1bf3472
2013-02-26Merge "make cost_coeffs to use combined context" into experimentalRonald S. Bultje
2013-02-26Refactor inter recon functions to support scalingJohn Koleszar
Ensure that all inter prediction goes through a common code path that takes scaling into account. Removes a bunch of duplicate 1st/2nd predictor code. Also introduces a 16x8 mode for 8x8 MVs, similar to the 8x4 trick we were doing before. This has an unexpected effect with EIGHTTAP_SMOOTH, so it's disabled in that case for now. Change-Id: Ia053e823a8bc616a988a0af30452e1e75a739cba
2013-02-26Improve 32x32 forward dctYaowu Xu
The commit improves the 32x32 forward dct implementation: 1. change to use same constants and rounding as other forward dcts 2. select rounding to specifically minimize the roundtrip error, which improved average 19/block to .77/block using 100000 random input. Test showed a small but consistent gain on all test sets, about .15% Change-Id: If0afd6a71880a522f60c1c234be0462092c2eb53
2013-02-25Changing pitch value meaning for fht and iht transforms.Dmitry Kovalev
Pitch now means the number of elements, not the number of bytes. Change-Id: Idb9f2f012e39b09d596a3cc1802305a80b7c13af
2013-02-25make cost_coeffs to use combined contextYaowu Xu
Change-Id: Ia15f4244595fab49bffda0c651a750a8a9481d28
2013-02-25Code cleanup.Dmitry Kovalev
Removing switch statements for inverse hybrid transforms. Making code style consistent for all similar transform implementations. Renaming shortpitch and short_pitch variables to half_pitch. Change-Id: I875f7a82aae4e8063a58777bf1cc3f1e67b48582
2013-02-25Merge "Code cleanup." into experimentalDmitry Kovalev
2013-02-25Merge "Code cleanup." into experimentalDmitry Kovalev
2013-02-25Merge "Improving the forward 16x16 ADST/DCT accuracy" into experimentalJingning Han
2013-02-25Code cleanup.Dmitry Kovalev
Removing redundant parentheses, better code formatting, introducing ROUND_POWER_OF_TWO macro to replace repeated expression. Change-Id: I91aad7a53ed03482428b2419de4bb99fd92c6771
2013-02-25Code cleanup.Dmitry Kovalev
Lower case names of variables. Removing redundant spaces, parentheses, casts, and variables. Change-Id: I55b80c55b7d5adca44c1e8adb40a124c0680f229
2013-02-25vp9: promote gf_group_bits calculation to 64-bitJames Zern
avoids signed integer overflow Change-Id: I9ffcdba90b21edb324d1b173fd11d613e0592931