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
Yaowu Xu [Fri, 23 May 2014 15:02:28 +0000 (08:02 -0700)]
Merge "change to use assembly version of ssse3 filter code"
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"
Deb Mukherjee [Thu, 22 May 2014 23:29:29 +0000 (16:29 -0700)]
Merge "Fix for missing initialization of ratectrl vars"
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: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
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"
Jim Bankoski [Mon, 19 May 2014 19:46:22 +0000 (12:46 -0700)]
Fix valgrind read out of bounds error.
MMX variance code in vp8 was reading out of bounds..
TODO(JBB): The best fix would involve removing duplicate library
functions between vp8 and vp9...
Change-Id: I5722853a6a58d3b55257ff385fa54c773bf98ded
Jingning Han [Mon, 19 May 2014 19:33:40 +0000 (12:33 -0700)]
Adjust the forward 16x16 DCT computation steps
This commit adjusts the forward 16x16 DCT computation steps to
simplify the register level operations. It fixes the corresponding
sse2 version accordingly.
Change-Id: I72a9c25b8ca9442fc5e113f47cd701ae55aa7f08
Yunqing Wang [Wed, 7 May 2014 17:39:00 +0000 (10:39 -0700)]
Add static-threshold skipping in non-rd mode
Added a skipping test in non-rd inter-mode. After interpolation
prediction step, the residuals are tested to see if they will be
quantized to 0 based on modeling between spatial domain and
frequency domain.
Set static-thresh to 800 for >=720p and 300 for <720p, rtc set
tests showed
1. Speed 5, psnr: -0.514%; ssim: -1.748%;
speedup on related clips: 5% -11%
2. Speed 6, psbr: -0.628%; ssim: -1.637%;
speedup on related clips: 4% - 9%
Change-Id: I62fbf26bc043ecd2b584f255f1a4ee5ab52bfcf3
Dmitry Kovalev [Mon, 19 May 2014 18:43:07 +0000 (11:43 -0700)]
Replacing int_mv with MV.
Change-Id: Icd7eea20e944e3e28e5eb20cdc088866a54d53b4
James Zern [Mon, 19 May 2014 18:36:12 +0000 (11:36 -0700)]
configure.sh: only execute toupper when necessary
speeds up windows configure by ~40%
Change-Id: Ie3138b8fe39ff4c901c35c5d689c1ed12da34866
Yaowu Xu [Mon, 19 May 2014 18:28:33 +0000 (11:28 -0700)]
Merge "Remove unused varables"
Dmitry Kovalev [Mon, 19 May 2014 18:19:21 +0000 (11:19 -0700)]
Hiding struct diff in *.c file.
Change-Id: Ia0dc05e530428af9ab5aa57e24f1115b0b4765d3
Dmitry Kovalev [Mon, 19 May 2014 17:41:58 +0000 (10:41 -0700)]
Removing unused members from PICK_MODE_CONTEXT struct.
Change-Id: Ieb3bc037a2ae7791323a0f9cec04381ba9b0c795
Dmitry Kovalev [Mon, 19 May 2014 17:31:19 +0000 (10:31 -0700)]
Merge "Cleaning up vp9_cx_iface.c."
Dmitry Kovalev [Mon, 19 May 2014 17:29:42 +0000 (10:29 -0700)]
Merge "Cleaning up vp9_pick_inter_mode()."
Dmitry Kovalev [Mon, 19 May 2014 17:28:51 +0000 (10:28 -0700)]
Merge "Reusing swap_block_ptr() function."
Dmitry Kovalev [Mon, 19 May 2014 17:27:47 +0000 (10:27 -0700)]
Merge "Removing unused fields from twopass_rc struct."
Dmitry Kovalev [Mon, 19 May 2014 17:27:16 +0000 (10:27 -0700)]
Merge "Hiding vp9_sub_pel_filters_{8, 8s, 8lp} filters in *.c file."
Dmitry Kovalev [Mon, 19 May 2014 17:27:07 +0000 (10:27 -0700)]
Merge "Making vp9_initialize_dec() static."
Alex Converse [Mon, 19 May 2014 17:10:13 +0000 (10:10 -0700)]
Merge "Rewrite encoder input format handling."
Yaowu Xu [Mon, 19 May 2014 15:37:47 +0000 (08:37 -0700)]
Merge "Add a TODO"
Paul Wilkins [Fri, 16 May 2014 10:31:30 +0000 (11:31 +0100)]
Cosmetic clean up.
Use type TWO_PASS instead of "struct twopass".
Change-Id: I9d92920893bd436537b2ca19e9c9d355cca56c7c
Tom Finegan [Sat, 17 May 2014 21:14:51 +0000 (14:14 -0700)]
Add test for vp9_spatial_svc_encoder example.
Change-Id: I6f392ee38842120c0ff32b6c8853333af032ccb9
Tom Finegan [Thu, 15 May 2014 22:31:02 +0000 (15:31 -0700)]
tools_common.sh: Allow over ride of test name.
Use VPX_TEST_NAME instead of the script name sans path and extension
when reporting test results when the variable is not empty.
Also: Clean up some style nits while I'm at it.
Change-Id: I0319745a3b7a90d0f307e55c5108fea2204187cd
Dmitry Kovalev [Sat, 17 May 2014 05:46:45 +0000 (22:46 -0700)]
Merge "Moving PC_TREE from MACROBLOCK to VP9_COMP."
Alex Converse [Sat, 17 May 2014 01:49:04 +0000 (18:49 -0700)]
Exit with error when vpxenc cannot correctly scale the input.
Change-Id: I4713406b751da06c41962f444f8873accc4fa044
Johann [Sat, 17 May 2014 01:32:39 +0000 (18:32 -0700)]
Merge "vp8: Add increase_denoising parameter to denoiser."
Dmitry Kovalev [Fri, 16 May 2014 23:57:22 +0000 (16:57 -0700)]
Merge "Removing MACROBLOCKD dependency from loop filter."
Johann [Fri, 16 May 2014 23:48:49 +0000 (16:48 -0700)]
Merge "Correct HAVE_NEON_ASM define"
Marco Paniconi [Fri, 16 May 2014 21:32:04 +0000 (14:32 -0700)]
vp8: Add increase_denoising parameter to denoiser.
Change-Id: I96ed73e109c4f89dd06f3583cf7ecf9277401fae
Yaowu Xu [Fri, 16 May 2014 14:39:55 +0000 (07:39 -0700)]
Add a TODO
Change-Id: I16bf93d40e9b345705b49bf09dd4b6996b513a83
Alex Converse [Fri, 16 May 2014 19:29:36 +0000 (12:29 -0700)]
Rewrite encoder input format handling.
The previous approach can't scale to all of or new formats. This also
fixes YV12 input.
Change-Id: Ic4ad333770bbbd0e921f519199b57862afcbe1ab
Tom Finegan [Thu, 15 May 2014 00:46:47 +0000 (17:46 -0700)]
Add test for vpx_temporal_svc_encoder example.
Change-Id: Icbb0ca1c899f7a58d6f73970e6434451738195b7
Dmitry Kovalev [Thu, 15 May 2014 19:01:34 +0000 (12:01 -0700)]
Moving PC_TREE from MACROBLOCK to VP9_COMP.
Because PC_TREE is encoder-level data, not MACROBLOCK-level data.
Change-Id: I4f620c0781acd3a2744860610117e74948e0b2b5
Dmitry Kovalev [Wed, 14 May 2014 19:11:51 +0000 (12:11 -0700)]
Cleaning up vp9_cx_iface.c.
Marking unused parameters with (void), adding consts, fixing formatting.
Change-Id: I8ac1e6606c0f2673f78bc41830e672a680ffed02
Dmitry Kovalev [Fri, 16 May 2014 16:48:26 +0000 (09:48 -0700)]
Removing MACROBLOCKD dependency from loop filter.
Change-Id: I9ef40f3d95ab8f94f69e92ea25678a40956bc1ce
Dmitry Kovalev [Fri, 16 May 2014 16:45:51 +0000 (09:45 -0700)]
Merge "Removing redundant decoder_init flag."
Adrian Grange [Fri, 16 May 2014 16:01:41 +0000 (09:01 -0700)]
Merge "Fix post-processor macros & remove vizualization"
Johann [Fri, 16 May 2014 15:14:18 +0000 (08:14 -0700)]
Correct HAVE_NEON_ASM define
These optimizations are currently disabled.
Change-Id: I19c58c9cb82d017638b86196641b9e001dfa798b