Yaowu Xu [Tue, 27 May 2014 21:53:49 +0000 (14:53 -0700)]
Merge "Revert "Making vp9_get_sse_sum_{8x8, 16x16} static.""
Erik Niemeyer [Tue, 27 May 2014 21:00:39 +0000 (14:00 -0700)]
Merge "Turn on unit tests for AVX2 convolve functions"
Yunqing Wang [Tue, 27 May 2014 20:26:40 +0000 (13:26 -0700)]
Revert "Making vp9_get_sse_sum_{8x8, 16x16} static."
This reverts commit
e8bbb3d9db797dab7c2f947cc43e8d0f168e4953.
Change-Id: Ie368d36fd249d323d859d208609c711f04537bbc
Deb Mukherjee [Tue, 27 May 2014 18:54:05 +0000 (11:54 -0700)]
Merge "Remove Wextra warnings from vp9_sad.c"
Yunqing Wang [Tue, 27 May 2014 17:52:16 +0000 (10:52 -0700)]
Merge "Fix decoder mismatch in sub-pixel AVX2 intrinsic filters"
Dmitry Kovalev [Tue, 27 May 2014 17:50:55 +0000 (10:50 -0700)]
Merge "Reusing rd_less_than_thresh() function."
Dmitry Kovalev [Tue, 27 May 2014 17:50:31 +0000 (10:50 -0700)]
Merge "Removing vp8/common/pragmas.h."
Yunqing Wang [Tue, 27 May 2014 17:36:56 +0000 (10:36 -0700)]
Turn on unit tests for AVX2 convolve functions
This patch turned on unit tests for AVX2 convolve functions.
Change-Id: I51b8bfdaa290fb22862c68af61abf2394d00d47c
Scott LaVarnway [Tue, 27 May 2014 16:01:48 +0000 (09:01 -0700)]
Merge "neon matches "C" when using increase_denoising"
Scott LaVarnway [Mon, 26 May 2014 15:06:25 +0000 (08:06 -0700)]
neon matches "C" when using increase_denoising
If increase_denoising is set,
vp8_denoiser_filter_neon() produced incorrect results.
Change-Id: I645f78e48b8f6657fa8a4b69d2c4d3488a0581dc
Paul Wilkins [Sun, 25 May 2014 21:48:36 +0000 (14:48 -0700)]
Merge "Further first pass allocation changes."
Paul Wilkins [Sun, 25 May 2014 21:47:35 +0000 (14:47 -0700)]
Merge "Re-factor bit allocation in first pass."
levytamar82 [Fri, 23 May 2014 23:42:10 +0000 (16:42 -0700)]
Fix decoder mismatch in sub-pixel AVX2 intrinsic filters
The subpixel SSSE3 was fixed in this patch:
https://gerrit.chromium.org/gerrit/#/c/70283/
So the equivalent AVX2 is fixed accordingly.
Change-Id: Ieebbc1949c99d34b12b8b47692df71aca5001f3a
Jingning Han [Fri, 23 May 2014 23:02:09 +0000 (16:02 -0700)]
Merge changes I4f0f4378,I02250d13
* changes:
Re-enable unit test on neon implementation of 16x16 idct
Turn on unit test for inverse 16x16 2D-DCT ssse3
Jingning Han [Fri, 23 May 2014 23:01:22 +0000 (16:01 -0700)]
Merge "Inverse 16x16 2D-DCT SSSE3 implementation"
Jingning Han [Thu, 22 May 2014 18:36:00 +0000 (11:36 -0700)]
Re-enable unit test on neon implementation of 16x16 idct
The previous change only tunes forward transform. It doesn't affect
the neon implementation of the inverse transform. Hence turn the
unit test on.
Change-Id: I4f0f43783b98814d1eee53182209f9669d538140
Jingning Han [Thu, 22 May 2014 18:31:43 +0000 (11:31 -0700)]
Turn on unit test for inverse 16x16 2D-DCT ssse3
Change-Id: I02250d1364ca2e637585a8db020cba9fd4a95664
Jingning Han [Thu, 22 May 2014 16:44:40 +0000 (09:44 -0700)]
Inverse 16x16 2D-DCT SSSE3 implementation
This commit enables the SSSE3 implementation of full inverse 16x16
2D-DCT. The unit runtime goes down from 1642 cycles to 1519 cycles,
about 7% speed-up.
Change-Id: I14d2fdf9da1fb4ed1e5db7ce24f77a1bfc8ea90d
Yaowu Xu [Fri, 23 May 2014 21:45:30 +0000 (14:45 -0700)]
Merge "Use extreme values for input in convovle tests"
Yunqing Wang [Fri, 23 May 2014 21:24:48 +0000 (14:24 -0700)]
Merge "Fix decoder mismatch in sub-pixel SSSE3 intrinsic filters"
Yaowu Xu [Fri, 23 May 2014 19:23:29 +0000 (12:23 -0700)]
Use extreme values for input in convovle tests
The intepolation filter functions can be better tested withe extreme
values, especially given the optimization functions are prone to
overflow signed 16 bit intermediate value when operation order is
wrong.
Change-Id: I712142b0bc1e5969c692c0486a57ffa37c9742b5
Dmitry Kovalev [Fri, 23 May 2014 20:03:15 +0000 (13:03 -0700)]
Removing vp8/common/pragmas.h.
Change-Id: I80630a7350e884ebc4fef73fb5b52ec25f908523
Dmitry Kovalev [Fri, 23 May 2014 19:58:00 +0000 (12:58 -0700)]
Merge "Removing vp9_pragmas.h."
Paul Wilkins [Wed, 21 May 2014 12:17:00 +0000 (13:17 +0100)]
Further first pass allocation changes.
Further changes to first pass allocation for gf/arf groups.
Three variables removed from TWO_PASS structure as only
now used locally. Dont adjust gf_group_bits in the post
encode update as this will no longer have any effect.
Change-Id: Iff89b225db923fc856f5d2aedbc899f1d7d68b55
Yunqing Wang [Fri, 23 May 2014 18:52:20 +0000 (11:52 -0700)]
Fix decoder mismatch in sub-pixel SSSE3 intrinsic filters
In 8-tap filtering, to guarantee the intermediate results fit in
16 bits, the order of accumulating the products needs to be done
correctly, and the largest product should be added last. This
patch fixed the problem using the method in commit "Correct ssse3
8/16-pixel wide sub-pixel filter calculation".
Change-Id: I79d0ad60c057b15011ece84cda9648eee0809423
Deb Mukherjee [Fri, 23 May 2014 18:01:09 +0000 (11:01 -0700)]
Merge "Fixes a bug for uninitialized frame buffers"
Alex Converse [Fri, 23 May 2014 17:19:13 +0000 (10:19 -0700)]
Merge "Use offset mode info when filling pc tree."
Alex Converse [Fri, 23 May 2014 17:19:03 +0000 (10:19 -0700)]
Merge "Always partition check after keyframe (rt speed 5)"
Paul Wilkins [Fri, 16 May 2014 14:12:31 +0000 (15:12 +0100)]
Re-factor bit allocation in first pass.
Restructuring to allocate the bits for each frame in
a GF group at the time the group is defined.
At the moment the allocation closely mirrors what
we had before.
Also changes the default rate adjustment method to
LONG_TERM_VBR_CORRECTION.
Change-Id: Ie5793c46c6b9c888cead5d8790792efd7d60b7c1
Yaowu Xu [Fri, 23 May 2014 15:02:28 +0000 (08:02 -0700)]
Merge "change to use assembly version of ssse3 filter code"
Deb Mukherjee [Fri, 23 May 2014 08:26:01 +0000 (01:26 -0700)]
Fixes a bug for uninitialized frame buffers
Fixes a bug introduced in
https://gerrit.chromium.org/gerrit/#/c/69779/13, where
uninitialized frame buffers due to corrupt and short
buffer sizes, may cause a crash.
This patch fixes the currently failing
video/processing/static_image/vp8_convert_test
Change-Id: I1b09e21482f292c11a2bfb4e570aef1d643410a7
Deb Mukherjee [Tue, 13 May 2014 17:11:42 +0000 (10:11 -0700)]
Remove Wextra warnings from vp9_sad.c
As a side-effect, the sad unit tests for VP8 and VP9
had to be separated.
Change-Id: I068cc2391eed51e9b140ea6aba78338c5fec8d71
Dmitry Kovalev [Fri, 23 May 2014 02:26:39 +0000 (19:26 -0700)]
Merge "Adding several consts to assign_std_frame_bits()."
Dmitry Kovalev [Fri, 23 May 2014 02:26:02 +0000 (19:26 -0700)]
Merge "Removing unused third-party libraries."
Yaowu Xu [Wed, 21 May 2014 16:52:23 +0000 (09:52 -0700)]
change to use assembly version of ssse3 filter code
As mismatchs were found between the intrinsic version and c only. The
commit temporarily revert to use the matching assembly version to
allow further investigation.
Change-Id: I08436c47d4888b562c0eac8e8856d90a831442df
Yunqing Wang [Fri, 23 May 2014 00:09:14 +0000 (17:09 -0700)]
Merge "Fix a decoding mismatch in sub-pixel filters"
Alex Converse [Thu, 22 May 2014 22:27:35 +0000 (15:27 -0700)]
Always partition check after keyframe (rt speed 5)
Prevents too small partitions from being copied to the next frame.
Change-Id: I4b97c30b27d06051574d54aaaca5434407a0c9ff
Deb Mukherjee [Thu, 22 May 2014 23:29:29 +0000 (16:29 -0700)]
Merge "Fix for missing initialization of ratectrl vars"
Alex Converse [Thu, 22 May 2014 23:17:59 +0000 (16:17 -0700)]
Use offset mode info when filling pc tree.
Use the appropriate subblock offset mode info rather than the parent
block base, when filling mbmi in the pc tree in nonrd_use_partition.
This mimics what is done in the vertical case and what is done for
both cases in nonrd_pick_partition.
This change has little practical effect at the moment since in speed 5
rt horizontal and vertical partitions are currently only used unpaired
at edges of the picture.
Change-Id: I4632f66ca84086dac56c7d36b45ddbe38a06f42a
Deb Mukherjee [Thu, 22 May 2014 22:16:23 +0000 (15:16 -0700)]
Fix for missing initialization of ratectrl vars
Initializes total_actual_bits and total_target_bits to 0
Change-Id: Ia50d3bf5df765146a44aa1f6045e73367ccf50df
Minghai Shang [Thu, 22 May 2014 22:51:19 +0000 (15:51 -0700)]
Merge "[spatial svc] Remove hard coded rc_end_usage setting"
Yunqing Wang [Thu, 22 May 2014 22:42:13 +0000 (15:42 -0700)]
Fix a decoding mismatch in sub-pixel filters
This did the same correction as the one in commit "Correct ssse3
8/16-pixel wide sub-pixel filter calculation" to avoid saturation
during filtering.
Change-Id: Ife9aa3f62daf9114eb24fe38f7baa3c3f361b2d6
Tom Finegan [Thu, 22 May 2014 22:16:01 +0000 (15:16 -0700)]
Merge "vp9_ratectrl.c: Fix MSVC warnings."
Dmitry Kovalev [Thu, 22 May 2014 21:49:33 +0000 (14:49 -0700)]
Merge "Cleaning up vp9_init_second_pass()."
Tom Finegan [Thu, 22 May 2014 21:10:11 +0000 (14:10 -0700)]
vp9_ratectrl.c: Fix MSVC warnings.
Change-Id: I4bd635949240880ced5f581c24e981ccd0374e40
Dmitry Kovalev [Thu, 22 May 2014 20:49:28 +0000 (13:49 -0700)]
Merge "Cleaning up calculate_section_intra_ratio()."
Deb Mukherjee [Thu, 22 May 2014 20:49:17 +0000 (13:49 -0700)]
Merge "Adjust cq_level in constrained quality mode"
Dmitry Kovalev [Thu, 22 May 2014 20:46:31 +0000 (13:46 -0700)]
Removing vp9_pragmas.h.
Change-Id: I9120a87e27e73e496932d11716937e2fad246521
Dmitry Kovalev [Thu, 22 May 2014 20:05:23 +0000 (13:05 -0700)]
Merge "Cleaning up calc_frame_boost()."
Dmitry Kovalev [Thu, 22 May 2014 20:04:43 +0000 (13:04 -0700)]
Cleaning up vp9_init_second_pass().
modified_error_total from TWO_PASS struct is not required anymore.
Change-Id: I0e07cac1e6d1b6a78418116be725bcd72bfbd847
Dmitry Kovalev [Thu, 22 May 2014 19:46:22 +0000 (12:46 -0700)]
Removing unused third-party libraries.
We use libwebm instead of libmkv and nestegg.
Change-Id: I339eae081061c2e3eb8b234f14ae1bc846f85011
Deb Mukherjee [Thu, 22 May 2014 19:30:38 +0000 (12:30 -0700)]
Merge "Renames x86_64 specific asm files"
Deb Mukherjee [Thu, 22 May 2014 15:11:37 +0000 (08:11 -0700)]
Adjust cq_level in constrained quality mode
If we are already saving a lot in bits from the target (maximum)
bitrate in the constrained quality mode, allow the quantizer
to go lower than the cq level. This hopefully will solve issues
with getting too low a bitrate and consequently poor quality for
certain videos in cq mode.
Change-Id: I1c4e8b0171fcf58f95198b3add85eea5f3c8f19f
Dmitry Kovalev [Thu, 22 May 2014 19:17:18 +0000 (12:17 -0700)]
Adding several consts to assign_std_frame_bits().
Change-Id: I6c27c60f7192b1b397f01882ab68a68cdf767534
Dmitry Kovalev [Thu, 22 May 2014 19:09:48 +0000 (12:09 -0700)]
Merge "Cleaning up calculate_modified_err()."
Dmitry Kovalev [Thu, 22 May 2014 19:06:37 +0000 (12:06 -0700)]
Cleaning up calc_frame_boost().
Change-Id: I3ba9374de96dc31fb4e736742603ef988d8aaa5f
Dmitry Kovalev [Thu, 22 May 2014 18:55:19 +0000 (11:55 -0700)]
Merge "Removing decoded_key_frame flag."
Dmitry Kovalev [Thu, 22 May 2014 18:38:02 +0000 (11:38 -0700)]
Cleaning up calculate_section_intra_ratio().
Addition of reset_fpf_position() call fixes previous issue with this patch.
Change-Id: I356186d5a1032297a147194e81e9c7db252d14a6
Paul Wilkins [Thu, 22 May 2014 17:39:04 +0000 (10:39 -0700)]
Merge "Revert "Cleaning up calculate_section_intra_ratio().""
Yaowu Xu [Thu, 22 May 2014 16:09:42 +0000 (09:09 -0700)]
Merge "Enable various thresholds of motion detection"
Paul Wilkins [Thu, 22 May 2014 13:30:41 +0000 (14:30 +0100)]
Revert "Cleaning up calculate_section_intra_ratio()."
Breaks rate control completely.
This reverts commit
9067b293b39e97f3bc8c62646120cdfd4c956310.
Change-Id: I8f89e209cf7bd607f7de5c4872adcd57a9c5c72b
James Zern [Thu, 22 May 2014 06:19:00 +0000 (23:19 -0700)]
Merge "vpx_temporal_svc_encoder: fix memory leak on success"
James Zern [Thu, 22 May 2014 03:02:52 +0000 (20:02 -0700)]
vpx_temporal_svc_encoder: fix memory leak on success
more work would be necessary to avoid leaks in all failure cases
Change-Id: I9c92ae1c34e120b17109bc832b6b2789b909761d
James Zern [Thu, 22 May 2014 02:54:48 +0000 (19:54 -0700)]
tools_common: fix test_name quoting
quoting within $() doesn't need to be escaped; removes trailing " in
test_name
Change-Id: I97ffad9fdfd97b3cdf4dec2a8547804875d85e66
Minghai Shang [Wed, 21 May 2014 23:55:09 +0000 (16:55 -0700)]
[spatial svc] Disable auto alt reference
Change-Id: I2a41c1fe08261065dd21fe631b2b5937acfbfb51
Dmitry Kovalev [Wed, 21 May 2014 22:51:40 +0000 (15:51 -0700)]
Removing decoded_key_frame flag.
Change-Id: I79576920efb7f3f6f197d386727409759d8bda8d
Deb Mukherjee [Wed, 21 May 2014 20:55:56 +0000 (13:55 -0700)]
Renames x86_64 specific asm files
Renames all x86_64 specific assembly files to consistently
end in _x86_64.asm. This will be useful for build systems to
handle these files differently.
All new 64-bit specific assembly files should use the new
naming convention.
Change-Id: I36c89584967c82ffc4088b1b5044ac15d2bb7536
Dmitry Kovalev [Wed, 21 May 2014 19:20:07 +0000 (12:20 -0700)]
Reusing rd_less_than_thresh() function.
Change-Id: I29df10fde86128467f5e99fc373ac04f004257e1
hkuang [Wed, 21 May 2014 19:12:21 +0000 (12:12 -0700)]
Merge "Fix the memory alignment issue due to patch: https://gerrit.chromium.org/gerrit/#/c/70162/"
Yaowu Xu [Tue, 20 May 2014 18:36:44 +0000 (11:36 -0700)]
Enable various thresholds of motion detection
This commit changed to enable the encoder to adjust motion dection
speed threshold based on picture size. In addition, cpu-used 1 now
does a partition search every other frame instead of every third
frame for low resolution inputs.
The change has no quality/speed impact for 720p and above. Test
showed the change increase encoding time by between 3% to 6% for
cpu-used 2 encodiong of 360p sequences. It also has a compression
gain about .3%.
For cpu-used 2, the change resolved some very disturbing visual
artifacts in certain sequences when large block partitionings and
transforms are used as a result of copying the partition from a
previous frame.
Change-Id: Ic7fd22508cdb811d4ca935655adbf20109286cfa
Minghai Shang [Wed, 21 May 2014 18:18:06 +0000 (11:18 -0700)]
[spatial svc] Remove hard coded rc_end_usage setting
Change-Id: Ifb09502ddf62664b3bfc62172de46bc36fde8efb
Dmitry Kovalev [Wed, 21 May 2014 17:37:39 +0000 (10:37 -0700)]
Merge "Deadline is not supported in VP9 decoder, removing it completely."
Dmitry Kovalev [Wed, 21 May 2014 17:35:01 +0000 (10:35 -0700)]
Merge "Cleaning up calculate_section_intra_ratio()."
hkuang [Wed, 21 May 2014 17:08:06 +0000 (10:08 -0700)]
Fix the memory alignment issue due to patch:
https://gerrit.chromium.org/gerrit/#/c/70162/
Change-Id: I797be6a4b21460de6d791125fc20d2be3a35364f
Jingning Han [Wed, 21 May 2014 16:16:04 +0000 (09:16 -0700)]
Merge "Adjust the forward 16x16 DCT computation steps"
Deb Mukherjee [Wed, 21 May 2014 05:10:09 +0000 (22:10 -0700)]
Merge "Updates libyuv to version 1005"
Dmitry Kovalev [Wed, 21 May 2014 02:24:01 +0000 (19:24 -0700)]
Cleaning up calculate_section_intra_ratio().
Change-Id: I3258b789ce8c59fdfeaaca1acb9638b565e82a2a
Dmitry Kovalev [Wed, 21 May 2014 01:41:14 +0000 (18:41 -0700)]
Merge "Cleaning up vp9_twopass_postencode_update()."
Dmitry Kovalev [Wed, 21 May 2014 01:40:34 +0000 (18:40 -0700)]
Merge "Replacing int_mv with MV."
Dmitry Kovalev [Wed, 21 May 2014 01:32:30 +0000 (18:32 -0700)]
Merge "Hiding struct diff in *.c file."
Deb Mukherjee [Sat, 17 May 2014 01:52:01 +0000 (18:52 -0700)]
Updates libyuv to version 1005
Also adds compile check and a libyuv configure flag
Change-Id: Ib9f0f4a71c4083e6f0aea7b5a5d175531ef0f66b
Deb Mukherjee [Tue, 20 May 2014 23:31:28 +0000 (16:31 -0700)]
Merge "Extends temporal filtering to work for 422 data"
Tom Finegan [Tue, 20 May 2014 22:48:04 +0000 (15:48 -0700)]
Merge "Add make target for running example tests."
Tom Finegan [Tue, 20 May 2014 22:47:51 +0000 (15:47 -0700)]
Merge "tools_common.sh: Allow over ride of test name."
hkuang [Tue, 20 May 2014 22:33:10 +0000 (15:33 -0700)]
Merge "Refactor decode_tiles and loopfilter code."
James Zern [Tue, 20 May 2014 22:24:20 +0000 (15:24 -0700)]
Merge "make spatial svc an experiment"
James Zern [Tue, 20 May 2014 22:23:29 +0000 (15:23 -0700)]
Merge "configure.sh: only execute toupper when necessary"
Deb Mukherjee [Tue, 20 May 2014 17:48:54 +0000 (10:48 -0700)]
Extends temporal filtering to work for 422 data
This is needed for profiles 1 and 2.
Change-Id: I5dd7644c2932d055ab89e050d4be7d4117cd1028
hkuang [Thu, 15 May 2014 17:51:55 +0000 (10:51 -0700)]
Refactor decode_tiles and loopfilter code.
The current decode_tiles decodes the frame one tile by one tile
and then loopfilter the whole frame or use another worker thread to
do loopfiltering.
|------|------|------|------|
|Tile1-|Tile2-|Tile3-|Tile4-|
|------|------|------|------|
For example, if a tile video has one row and four cols, decode_tiles
will decode the Tile1, then Tile2, then Tile3, then Tile4.
And during decode each tile, decode_tile will decode row by row in
each tile.
For frame parallel decoding, decode_tiles will decode video in row order
across the tiles. So the order will be:
"Decode 1st row of Tile1" -> "Decode 1st row of Tile2"
-> "Decode 1st row of Tile3" -> "Decode 1st row of Tile4"
-> "Decode 2nd row of Tile1" -> "Decode 2nd row of Tile2"
-> "Decode 2nd row of Tile3" -> "Decode 2nd row of Tile4"-> "loopfilter 1st row"
Change-Id: I2211f9adc6d142fbf411d491031203cb8a6dbf6b
Dmitry Kovalev [Tue, 20 May 2014 21:44:02 +0000 (14:44 -0700)]
Cleaning up vp9_twopass_postencode_update().
Change-Id: Id79138f2dd472ee95c784b0eb2781d4037c51dd8
Dmitry Kovalev [Tue, 20 May 2014 21:22:10 +0000 (14:22 -0700)]
Cleaning up calculate_modified_err().
Change-Id: I87bb1876f8a04ef28cb7135b657815e12f2f31cb
Minghai Shang [Tue, 20 May 2014 18:00:30 +0000 (11:00 -0700)]
[spatial svc] Remove some restrictions that are needed to improve the quality
Change-Id: I76a48b03388a8c5cc74b871deb836cd92263b306
Paul Wilkins [Tue, 20 May 2014 09:34:56 +0000 (02:34 -0700)]
Merge "Cosmetic clean up."
James Zern [Tue, 20 May 2014 01:06:04 +0000 (18:06 -0700)]
Merge "Add test for vpx_temporal_svc_encoder example."
Tom Finegan [Tue, 20 May 2014 00:44:17 +0000 (17:44 -0700)]
Merge "Add test for vp9_spatial_svc_encoder example."
Jingning Han [Mon, 19 May 2014 23:06:35 +0000 (16:06 -0700)]
Merge "Make x86inc support local variable array"
Jingning Han [Thu, 15 May 2014 01:22:18 +0000 (18:22 -0700)]
Make x86inc support local variable array
This commit modifies the x86inc to allow explicit local buffer
allocation and the corresponding stack pointer adjustment.
Change-Id: I3cb2174e0242b5869a4ba0ca0cd240ee066836c3
Jim Bankoski [Mon, 19 May 2014 20:39:17 +0000 (13:39 -0700)]
Merge "Fix valgrind read out of bounds error."
Alex Converse [Mon, 19 May 2014 20:20:12 +0000 (13:20 -0700)]
Merge "Exit with error when vpxenc cannot correctly scale the input."
Yunqing Wang [Mon, 19 May 2014 20:01:29 +0000 (13:01 -0700)]
Merge "Add static-threshold skipping in non-rd mode"