summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2013-03-01Merge master branch into experimentalJohn Koleszar
Picks up some build system changes, compiler warning fixes, etc. Change-Id: I2712f99e653502818a101a72696ad54018152d4e
2013-03-01Merge "Adjust the max_gf_interval initialization" into experimentalYaowu Xu
2013-03-01Merge "Add eob<=10 case in idct32x32" into experimentalYunqing Wang
2013-03-01Adjust the max_gf_interval initializationYaowu Xu
to be a fixed value of 15. Test results: cif: .124%, .068%, .081% std-hd: 2.809%, 3.174%, 2.705% Change-Id: I380c8152c973506094da15eab59e3aa22b75a983
2013-02-28Merge "Code cleanup." into experimentalDmitry Kovalev
2013-02-28Add eob<=10 case in idct32x32Yunqing Wang
Simplified idct32x32 calculation when there are only 10 or less non-zero coefficients in 32x32 block. This helps the decoder performance. Change-Id: If7f8893d27b64a9892b4b2621a37fdf4ac0c2a6d
2013-02-28Merge changes I9be9c990,Ic3b97339 into experimentalDmitry Kovalev
* changes: Ignoring test video sequences in the source tree. Code cleanup.
2013-02-28firstpass.c: correct casting around gf_group_bitsJames Zern
gf_group_bits is int64_t remove casts to int. Change-Id: I3b4225905041fac9af9fdfcbcb6f1c357ea4b593
2013-02-28Merge "Fix use of uninitialized memory in CONFIG_ABOVESPREFMV" into experimentalJohn Koleszar
2013-02-28Merge "mv dct_sse2.c dct_sse2_intrinsics.c to avoid collision" into experimentalJim Bankoski
2013-02-28Code cleanup.Dmitry Kovalev
Lower case variable names, converting while loops to for loops. Change-Id: Ic3b973391eef7472a99d18d02fe79cfef5e04e62
2013-02-28Merge "Refactor vp9_dequant_idct_add function" into experimentalYunqing Wang
2013-02-28Refactor vp9_dequant_idct_add functionYunqing Wang
Provided a wrapper and removed duplicate code. Change-Id: Iaef842226ec348422e459202793b001d0983ea30
2013-02-28Removed vp9_dequantize_bScott LaVarnway
Change-Id: Ie89bd00d58e30bf4094cb748a282f1dfa81a31d8
2013-02-28mv dct_sse2.c dct_sse2_intrinsics.c to avoid collisionJim Bankoski
Change-Id: Id786be31da3c91d95d2955aa569ecdc6e66650df
2013-02-28Fix use of uninitialized memory in CONFIG_ABOVESPREFMVJohn Koleszar
The ABOVESPREFMV experiment uses four pixels to the left of the current block, which don't exist for the left-most column. Change-Id: I4cf0b42ae8f54c0b3e7b1ed8755704b74fafc39c
2013-02-28Merge "Dequantization code cleanup." into experimentalDmitry Kovalev
2013-02-28Dequantization code cleanup.Dmitry Kovalev
Removing redundant variables, using x *= y instead x = x * y, moving variable declarations into inner blocks. Change-Id: I884f95c755f55d51b7c1c6585f10296919063e41
2013-02-28Code cleanup.Dmitry Kovalev
Removing redundant 'extern' keyword, better formatting, code simplification. Change-Id: I132fea14f08c706ee9ea147d19464d03f833f25b
2013-02-28Fix incorrect comparison of frame sizeJohn Koleszar
The width and height stored in the reference frames are padded out to a multiple of 16. The Width and Height variables in common are the displayed size, which may be smaller. The incorrect comparison was causing scaling related code to be called when it shouldn't have been. A notable case where this happens is 1080p, since 1088 != 1080. Change-Id: I55f743eeeeaefbf2e777e193bc9a77ff726e16b5
2013-02-28this commit converts all sad ptrs to uint32Jim Bankoski
sse4_1 code used uint16_t for returning sad, but that won't work for 32x32 or 64x64. This code fixes the assembly for those and also reenables sse4_1 on linux Change-Id: I5ce7288d581db870a148e5f7c5092826f59edd81
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-27Merge "give vp9 variance struct a unique name"John Koleszar
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-27Fix --as=nasm compatibility for new asm code.Jan Kratochvil
s/movd/movq/ Change-Id: Id1a56de91551f8dc796f14f1056c565dfc1ba626
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