- 27 Feb, 2013 - 6 commits
-
-
John Koleszar authored
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
-
Dmitry Kovalev authored
-
Ronald S. Bultje authored
-
Ronald S. Bultje authored
-
Ronald S. Bultje authored
-
James Zern authored
-
- 26 Feb, 2013 - 10 commits
-
-
Dmitry Kovalev authored
Change-Id: I893fa36297b9bd9cff93d082f1736f6860b15c0d
-
John Koleszar authored
-
Dmitry Kovalev authored
-
Ronald S. Bultje authored
Change-Id: I35e64998b25694a3bb4a62164bba3c03c1db4bc7
-
Ronald S. Bultje authored
Change-Id: I17e2d2f6a4da86d9e4af7bebdea0bf5d154da084
-
Ronald S. Bultje authored
Change-Id: I62497dcf2074b4bb4787bf660e727e5cf1bf3472
-
Ronald S. Bultje authored
-
John Koleszar authored
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
-
Dmitry Kovalev authored
Pitch now means the number of elements, not the number of bytes. Change-Id: Idb9f2f012e39b09d596a3cc1802305a80b7c13af
-
Yaowu Xu authored
Change-Id: Ia15f4244595fab49bffda0c651a750a8a9481d28
-
- 25 Feb, 2013 - 12 commits
-
-
Dmitry Kovalev authored
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
-
Dmitry Kovalev authored
-
Dmitry Kovalev authored
-
Jingning Han authored
-
Dmitry Kovalev authored
Removing redundant parentheses, better code formatting, introducing ROUND_POWER_OF_TWO macro to replace repeated expression. Change-Id: I91aad7a53ed03482428b2419de4bb99fd92c6771
-
Dmitry Kovalev authored
Lower case names of variables. Removing redundant spaces, parentheses, casts, and variables. Change-Id: I55b80c55b7d5adca44c1e8adb40a124c0680f229
-
James Zern authored
avoids signed integer overflow Change-Id: I9ffcdba90b21edb324d1b173fd11d613e0592931
-
Paul Wilkins authored
-
Jingning Han authored
Increase the first stage dynamic range by 4 times, and reduce it back with proper rounding before applying the second stage. Hence it still fits in the given dynamic range and slightly improves the key frame coding performance. Change-Id: Ia4c5907446f20a95dc3de079c314b3ad1221d8aa
-
Jingning Han authored
Rebased. Remove the old matrix multiplication transform computation. The 16x16 ADST/DCT can be switched on/off and evaluated by setting ACTIVE_HT16 300/0 in vp9/common/vp9_blockd.h. Change-Id: Icab2dbd18538987e1dc4e88c45abfc4cfc6e133f
-
Paul Wilkins authored
Some minor refactoring code relating to estimates of bits per MB at a given Q and estimating the allowed Q range. Most of the changes here were included in a previous commit. This commit seeks to separate out the refactoring from more the material changes. Two #define control flags have been added for experimentation. ONE_SHOT_Q_ESTIMATE force the two pass encoder to use its initial Q range estimate for the whole clip even if this results in a miss on the target data rate. In effect this tightens the Q range seen at the expense of rate control accuracy. DISABLE_RC_LONG_TERM_MEM is a related flag that disables the long term memory in the rate control. Local adjustments are still made to try and better hit the rate target on a per frame basis but the impact of rate control misses is not propagated to the remainder of the clip. This means that for example an overshoot early on will not cause frames later in the clip to be starved of bits. Again the result of this relaxation amy be less rate control accuracy especially on short clips. The flags are disabled by default for now. Change-Id: I7482f980146d8ea033b5d50cc689f772e4bd119e
-
Yaowu Xu authored
This commit added pre/post scaling for first half of fDCT16x16 to reduce error, by simulation of 100,000 blocks for random inputs, the average sse reduced from 2.1/block to 0.0498/block. also enabled tests for 16x16 fDCT and iDCT Change-Id: Id2a95f0464c6dd4118797d456237ae90274c0f02
-
- 23 Feb, 2013 - 5 commits
-
-
Ronald S. Bultje authored
Change-Id: I5416455f8f129ca0f450d00e48358d2012605072
-
Paul Wilkins authored
This patch alters the balance of context between the coefficient bands (reflecting the position of coefficients within a transform blocks) and the energy of the previous token (or tokens) within a block. In this case the number of coefficient bands is reduced but more previous token energy bands are supported. Some initial rebalancing of the default tables has been by running multiple derf clips at multiple data rates using the ENTOPY_STATS macro. Further balancing needs to be done using larger image formatsd especially in regard to the bigger transform sizes which are not as well represented in encodings of smaller image formats. Change-Id: If9736e95c391e711b04aef6393d26f60f36e1f8a
-
Yaowu Xu authored
-
Yaowu Xu authored
-
Yaowu Xu authored
The commit added a final rounding choice for 8x8 forward dct to get rid of a sign bias at DC position and improve the accuracry in term of round trip error for 8x8 fDCT/iDCT. This commit also enabled forward 8x8 dct test. Change-Id: Ib67f99b0a24d513e230c7812bc04569d472fdc50
-
- 22 Feb, 2013 - 7 commits
-
-
John Koleszar authored
-
Dmitry Kovalev authored
Removing redundant 'extern' keywords and parentheses, fixing indentation, making variable names lower case, using short expressions x *= c instead of x = x * c, minor code simplifications. Change-Id: If6a25fcf306d1db26e90d27e3c24a32735c607de
-
Yaowu Xu authored
1. changed 4x4 test name to Vp9Fdct4x4Test to be consistent 2. remove forward 8x8 dct test code from idct8x8_test.cc 3. temporarily disable other forward dct tests to allow fdct work in progress Change-Id: I566aeed9c7c34da5a206190aa7d0e847a4008b36
-
Jingning Han authored
-
Paul Wilkins authored
-
Paul Wilkins authored
The over quant code was added in VP8 post bitstream freeze to allow compression to lower data rates In VP9 the real qualtizer range has been greatly extended anyway. Change-Id: I5d384fa5e9a83ef75a3df34ee30627bd21901526
-
Jingning Han authored
This patch includes 4x4, 8x8, and 16x16 forward butterfly ADST/DCT hybrid transform. The kernel of 4x4 ADST is sin((2k+1)*(n+1)/(2N+1)). The kernel of 8x8/16x16 ADST is of the form sin((2k+1)*(2n+1)/4N). Change-Id: I8f1ab3843ce32eb287ab766f92e0611e1c5cb4c1
-