Age | Commit message (Collapse) | Author |
|
Added SSE2 version of variance functions for super blocks.
Change-Id: Ibeaae8771ca21c99d41dd74067574a51e97b412d
|
|
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
|
|
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
|
|
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: Iea7976b22b1927d24b8004d2a3fddae7ecca3ba1
|
|
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: I4ea09df0e162591e420d869b7431c2e7f89a8c1a
|
|
Code was previously using VPX_IMG_FMT_VPXI420, which was intended to be the
"vpx" non-YUV colorspace variant.
Change-Id: Icf8771eeefeb574055ed638a93450c3d0ed5b9f5
|
|
Also removing BOOL_CODER and using vp9_writer instead.
Change-Id: I31d1ec661872f7eb1fe869607b6ed0ebfbb03e01
|
|
Disables the part of the error-resilient test that tests the
quality after dropping undroppable frames. It's not clear how
to set the threshold for this correctly at the moment.
Change-Id: I3ee4a0d475498f44711fdef05749f305e8d08591
|
|
This reverts commit b24735c622cefe3a03633edd69dff65d2a6ee0dd
since the adjusted threshold doesn't allow the existing tests
to pass. Will disable the failing test in a separate commit.
Change-Id: I26d41cf6175f300bbad493cecdc96e6b0dd6f2fe
|
|
Note that the pass fail criteria for this test seems a bit
arbitrary to me.
Change-Id: Idc695c39dd7542e851a7732b2810b45e0bdf91ae
|
|
|
|
abort on failure
Change-Id: I52882613e466ae57e1ed7f10ca64e25b9724fb61
|
|
+ some quick lint fixes
Change-Id: I95b6c32454c17d7fc717f1daa2376eb4d5418ee3
|
|
* changes:
convolve_test: cosmetics
convolve_test: remove unnecessary memset
|
|
fix indent, whitespace, casts
Change-Id: Ifea8618a90f9da263a8955dd242bb3aa7fc59ae5
|
|
Change-Id: Id374267c93a7e14e985b8079833364c8eff5248b
|
|
input_ is filled with random values just afterward.
the size was wrong anyway as input_ is allocated with memalign so
sizeof(input_)==sizeof(uint8_t*)
Change-Id: I014b832ac60960cd22b6f369dbc9fd648d4055b5
|
|
Conflicts:
vp9/common/vp9_findnearmv.c
vp9/common/vp9_rtcd_defs.sh
vp9/decoder/vp9_decodframe.c
vp9/decoder/x86/vp9_dequantize_sse2.c
vp9/encoder/vp9_rdopt.c
vp9/vp9_common.mk
Resolve file name changes in favor of master. Resolve rdopt changes in
favor of experimental, preserving the newer experiments.
Change-Id: If51ed8f457470281c7b20a5c1a2f4ce2cf76c20f
|
|
Change-Id: I03d5b6f22f0930893709c6db5f1b06762ad3354e
|
|
Updates the common convoloution code to support blocks larger than
16x16, and rectangular blocks. This uncovered a bug in the SSSE3
filtering routines due to the order of application of saturation.
This commit fixes that bug, adjusts the unit test to bias its
random values towards the extremes, and adds a test to ensure that
all filters conform to the expected pairwise addition structure.
Change-Id: I81f69668b1de0de5a8ed43f0643845641525c8f0
|
|
VP9 preview bitstream 2, commit '868ecb55a1528ca3f19286e7d1551572bf89b642'
Conflicts:
vp9/vp9_common.mk
Change-Id: I3f0f6e692c987ff24f98ceafbb86cb9cf64ad8d3
|
|
This is the first CL with vp9_reader changes. All another macro
definitions will be replaced after.
Change-Id: I1c6bd9c9a612ec1663d484d6adb4fb720af54063
|
|
the one from gtest in this case: testing::internal::Random.
this will make the tests deterministic between platforms. addresses
issue #568.
Change-Id: I5a8a92f5c33f52cb0a219c1dd3d02335acbbf163
|
|
Restore ABI compatibility with the master branch.
Change-Id: Ie9f6fdf536662bd87dfcf114d16f003422670763
|
|
Pick up VP8 encryption, quantization changes, and some fixes to vpxenc
Conflicts:
test/decode_test_driver.cc
test/decode_test_driver.h
test/encode_test_driver.cc
vp8/vp8cx.mk
vpxdec.c
vpxenc.c
Change-Id: I9fbcc64808ead47e22f1f22501965cc7f0c4791c
|
|
Update to +/- 1dB.
Change-Id: Idada001f261b36945c9334e288a415ee2c79c415
|
|
New decoder control paramter VP8_SET_DECRYPT_KEY to set the decryption key.
Change-Id: I6fc1f44d41f74f3b3f702778af1a6f8f5cc9439f
|
|
The commit changed the name of files and function to remove obselete
reference to LLM and x8.
Change-Id: I973b20fc1a55149ed68b5408b3874768e6f88516
|
|
The superframe index marker byte carries data in the lower 5 bits. Only the
upper 3 should be used as part of the mask to detect it. By masking with
0xf0, the previous code was incorrect for frames over 65k bytes.
Change-Id: I6248889f5af227457f359a56b2348ef6db87a3b4
|
|
|
|
Improved coding performance made this test fail. Adjust the threshold
so that it passes again. A more stable metric is an open TODO.
Change-Id: I56e18749ced48123ee2488888a3eed631759912b
|
|
A 'superframe' is a group of frames that share the same PTS, but have a
defined decoding order. This commit adds the ability to append an index
to such a group of frames, allowing for random access to the constituent
frames. This could be useful for frame-level parallelism or partial
decoding in a multilayer scenario.
Decoding the stream serially without such an index should work as a
fallback, and VP9/TestSuperframeIndexIsOptional verifies that.
Change-Id: Idff83b7560e1a7077d8fb067bfbc45b567e78b1c
|
|
* changes:
Add unit test for x4 multi-SAD functions
Add VP9 1 block SAD functions to unit test
Merge master branch into experimental
|
|
Update the function prototypes to match between VP9 and VP8.
Change-Id: If58965073989e87df3b62b67a030ec6ce23ca04f
|
|
Change-Id: I06b5ba5c457944cfa4cd9f53c3bd8cda132439c2
|
|
Change-Id: I7977694223521404fc69f29ae2cff03e36e87299
|
|
Picks up some build system changes, compiler warning fixes, etc.
Change-Id: I2712f99e653502818a101a72696ad54018152d4e
|
|
Since the 8-tap lowpass filter is non-interpolating, the results are
different between applying it at whole-pel values and not. This
means that 1D-only versions are requried to be implemented, as
opposed to being an optimization of the 2D case. Calling the 2D
filter instead of the horizontal-only filter is not equivalent
in this case. Update the test to pass invalid filters to the
unused stage of the 1D-only calls, to verify they're unused.
Change-Id: Idc1c490f059adadd4cc80dbe770c1ccefe628b0a
|
|
Updates the convolve test to verify that all filters match the
reference implementation. This verifies commit 30f866f, which
fixed some problems with the SSE3 version of the filters for
the vp9_sub_pel_filters_8s and vp9_sub_pel_filters_8lp banks
due to overflow and order of operations.
Change-Id: I6b5fe1a41bc20062e2e64633b1355ae58c9c592c
|
|
|
|
* changes:
Use 256-byte aligned filter tables
Set scale factors consistently for SPLITMV
|
|
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
|
|
This avoids duplicating all the filters twice. Includes fixups to the
convolve routines and associated tests to make this work.
Change-Id: I922f86021594e55072ddb63b42b2313605db6e00
|
|
|
|
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
|
|
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
|
|
Also
1. Removed the test code for fDCT from the iDCT test.
2. changed the criteria of round trip error to be below 1/block, this
is quite strict comparing to smaller transforms when size differences
are accounted for.
Change-Id: Idb46a6380b04c93fc8e2845c75f5a850366b0090
|
|
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
|
|
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
|
|
Change-Id: I4e94ee2c4e2360d6a11a454c323f2899c1bb6f72
|