4099 Commits

Author SHA1 Message Date
Dmitry Kovalev
32c51e8222 Merge "Inlining setup_key_frame() and setup_inter_frame()." 2014-05-13 15:00:22 -07:00
Jingning Han
3f96081a15 Tune minq index table for P frames in one_pass_cbr coding mode
Allow slightly larger minq-maxq range for P frames. This improves
the compression performance of speed -5 for rtc set by 2.7% in psnr.

Change-Id: I438653d52d0fe51111509c6092e2334bac2de0cf
2014-05-13 12:27:42 -07:00
Adrian Grange
9e0b5abc30 Merge "Move frame stats output to after update" 2014-05-13 10:07:36 -07:00
Dmitry Kovalev
889887aa68 Inlining setup_key_frame() and setup_inter_frame().
Change-Id: I6c0f0f91c189c041559f724f4faeada144390353
2014-05-12 17:13:07 -07:00
Dmitry Kovalev
ae7d3ef39f Moving loopfilter call to vp9_decode_frame().
Inline loopfilter has been already handled in vp9_decode_frame().
Collecting all similar code in one place now.

Change-Id: I358a0280fc7c2b27cca520bc1e8c16c4eb6491dd
2014-05-12 16:19:19 -07:00
Yaowu Xu
38f3cf125e Merge "vp9_pickmode.c: Removed unused function parameters" 2014-05-12 14:56:54 -07:00
Yaowu Xu
69d2fb856b Merge "Change to use proper type" 2014-05-12 14:05:52 -07:00
Yaowu Xu
c80287f02d Merge "fixed comparison of different int types." 2014-05-12 14:05:47 -07:00
Yaowu Xu
3e81ee26cc vp9_pickmode.c: Removed unused function parameters
Change-Id: I4ec07d3935dc56ca16ea4ba1e5730b09f1bf1f21
2014-05-12 12:10:23 -07:00
Yaowu Xu
26cb7bee7d Change to use proper type
Change-Id: If1afb9f3eaec88079d1d97907870409bce691c2a
2014-05-12 11:56:17 -07:00
Yaowu Xu
77c754df79 Merge "Cleanup unused parameters" 2014-05-12 11:05:54 -07:00
Yaowu Xu
7145e3f797 fixed comparison of different int types.
Change-Id: Iaa5543eb9e17589d46d9ed2bc363e2646ed4e01e
2014-05-12 10:01:00 -07:00
Yaowu Xu
d22faee98d Cleanup unused parameters
Remove unused function parameters from:
vp9_encodemb.c
vp9_encodeframe.c

Change-Id: I07725e5099cf98486e70c9c70babb0cd785c58a9
2014-05-12 09:53:11 -07:00
Paul Wilkins
702e25839e Clean up of firstpass.c
Re-factor duplicate code.
Add two pass check for use of section_intra_rating as
it is un-initialised in the 1 pass and rt case.

Change-Id: I93120796f07961b8a21fb26e1a9f0d3d13949994
2014-05-12 12:32:42 +01:00
Paul Wilkins
00d54aa331 First pass clean up.
One of a series of changes to clean up two pass
allocation as precursor to support for multiple arf
or boosted frames per GF/ARF group.

This change pulls out the calculation of the total bits
allocated to a GF/ARF group into a function, to aid
readability and reduce the line count for define_gf_group().

This change should have no material impact on output.

Change-Id: I716fba08e26f9ddde3257e7d9b188453791883a3
2014-05-12 12:31:02 +01:00
Jingning Han
6d065ba3cb Merge "Apply constrained partition search range to non-RD mode decision" 2014-05-10 10:39:26 -07:00
Jingning Han
734c5ffa2c Apply constrained partition search range to non-RD mode decision
This commit enables a chessboard pattern for partition search. All
the black blocks run regular partition search ranging from 8x8 to
32x32. The rest white blocks take the nearby blocks' information
to adaptively decide the effective search range.

The compression performance for rtc set at speed -5 is down by 1.5%.
For pedestrian 1080p at speed -5, the runtime goes from 41594 ms to
39697 ms, i.e., about 5% faster.

Change-Id: Ia4b96e237abfaada487c743bca08fe1afd298685
2014-05-09 17:07:19 -07:00
Alex Converse
ec8a3272fa Merge "Add an x86inc MMX fwht4x4." 2014-05-09 13:48:49 -07:00
Alex Converse
09d947ecb9 Allow speed 5 lossless
tx_mode supercedes whatever mechanism is used to push for 16x16
allowing for the use of the 4x4 transform.

Change-Id: I6c3f05ab9fe52050e40cc6303de9334653763289
2014-05-09 09:53:46 -07:00
Adrian Grange
8d2fff7cb4 Move frame stats output to after update
Frame-level stats were being output before the
post-encode update had been carried out.

Change-Id: I67405c67c020cde4468f5db3cee76f7de5b624eb
2014-05-09 09:44:47 -07:00
Alex Converse
4bb70ea136 Skip testing large tx sizes when encoding lossless.
Change-Id: Ib7a17893f6dc0f501b1252ae32804ede144dde37
2014-05-08 18:07:14 -07:00
Alex Converse
b5422fab46 Add an x86inc MMX fwht4x4.
Change-Id: Ib0a73d4863478f9b8a00976379d25d2f6ebbb197
2014-05-08 12:01:27 -07:00
Frank Galligan
07f9fa4336 Merge "vp9_pickmode: Fix signed/unsigned mismatch." 2014-05-08 08:49:12 -07:00
Frank Galligan
aa3d59fcf9 Merge "vp9_firstpass: Fix MSVC data loss warning." 2014-05-08 08:49:04 -07:00
Tom Finegan
86a89d740e vp9_svc_layercontext: Clean up function definition mismatch.
vp9_is_upper_layer_key_frame() definition does not match declaration--
it was missing the second const.

Change-Id: I71312579eb443be1924b8b06d8b3177c3dcb40f3
2014-05-07 18:32:27 -07:00
Tom Finegan
7811039d47 vp9_firstpass: Fix MSVC data loss warning.
Change-Id: I5307fe85ee081fbcfdf55a974f7eba1e0070c723
2014-05-07 18:27:29 -07:00
Tom Finegan
0fc027ad33 vp9_pickmode: Fix signed/unsigned mismatch.
Avoids getting reverted on the next libvpx chrome roll attempt.

Change-Id: I2431bd601111a78320af5f211f6413009674f1c8
2014-05-07 18:20:29 -07:00
Jingning Han
7af0e984b8 Merge "Tune rate-distortion modeling to account for frame light change" 2014-05-07 17:36:00 -07:00
Yaowu Xu
5a65790814 Merge "Remove separate arf and gf minq tables." 2014-05-07 17:04:49 -07:00
Yaowu Xu
9b4d0e81a2 Merge "Rate control adjustment." 2014-05-07 17:04:41 -07:00
Dmitry Kovalev
dc554abc59 Merge "Cleaning up vp9_encode_frame() function." 2014-05-07 14:10:07 -07:00
Dmitry Kovalev
e91616a5d4 Merge "Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range()." 2014-05-07 14:07:33 -07:00
Paul Wilkins
ed30c8eff2 Remove separate arf and gf minq tables.
Merged minq tables for arf and gf cases.
These tables were almost the same and for
VBR the arf table was not used at all.

Change-Id: Ie3c87e91dab613cf06f6945ac1ace0e0e4213d34
2014-05-07 14:00:15 -07:00
Paul Wilkins
38ff3e328f Rate control adjustment.
Small adjustment to the active Q range calculations.
These changes should slightly extend the available Q range
for KF/GF/ARF and narrow it for other frames.

The results for this change in isolation are broadly positive
for SSIM and average PSNR and slightly up but mixed for opsnr.

derf +0.293% opsnr, +1.286% SSIM
std-hd + 0.528% opsnr, + 1.746% SSIM
yt +0.056% opsnr, +0.457% SSIM
yt-hd -0.147% opsnr, + 0.226% SSIM

Change-Id: If065280342027ecc5d44b49fc1d440dfef041002
2014-05-07 13:56:05 -07:00
Dmitry Kovalev
68a600d82a Merge "Moving pair_set_epi32 macro into vp9_dct32x32_sse2.c." 2014-05-07 13:34:05 -07:00
Dmitry Kovalev
cc5eee12bf Merge "Removing MODE_TEST_HIT_STATS." 2014-05-07 10:40:31 -07:00
Alex Converse
1354d0bb39 Merge "Revert "Add an MMX fwht4x4"" 2014-05-07 10:09:04 -07:00
Yunqing Wang
fffeaa395c Merge "Clean up full-pixel search calling code" 2014-05-07 08:33:03 -07:00
Paul Wilkins
33b1c457ed Revert "Add an MMX fwht4x4"
Includes changes that are not compatible with VS windows builds.
Amongst other things stdint.h is not supported in VS.

This reverts commit 89fbf3de501b5d7fd90047192521eae3198705cd.

Change-Id: Ifa86d7df250578d1ada9b539c9ff12ed0c523cdd
2014-05-07 12:53:27 +01:00
Jingning Han
74f98e6f45 Tune rate-distortion modeling to account for frame light change
When the variance is far less than sse, the block is considered to
be under light change. All the energy is compacted into DC coeff
and can be coded at low cost. In such situation, switch the rate-
distortion modeling from sse+var based back to variance based.

Note that this is a temporary solution to handle the rare situations
where the scene light changes.

Change-Id: I1ee0fe2b9eda6b5fac40152e1841bf23f4d229fd
2014-05-06 16:50:50 -07:00
Alex Converse
75d05d5ed4 Merge "Add an MMX fwht4x4" 2014-05-06 11:12:27 -07:00
Jingning Han
d289deb04c Merge "SSSE3 implementation of full inverse 8x8 2D-DCT" 2014-05-06 09:17:22 -07:00
Minghai Shang
e9f46ebd38 Merge "[spatial svc] No need to code full width and height for non key frame" 2014-05-05 23:21:53 -07:00
Dmitry Kovalev
3af5eab2c1 Merge "Cleaning up vp9_full_range_search_c() function." 2014-05-05 22:01:02 -07:00
Dmitry Kovalev
e8bbb3d9db Making vp9_get_sse_sum_{8x8, 16x16} static.
Change-Id: Ifb7937c977308c682986f0ce9645a0807d2aa46a
2014-05-05 19:12:38 -07:00
Dmitry Kovalev
ec234eb5e1 Merge "Moving costs from MACROBLOCK to VP9_COMP." 2014-05-05 19:10:25 -07:00
Dmitry Kovalev
a4533957b0 Merge "Cleaning up vp9_variance.c" 2014-05-05 19:09:57 -07:00
Yunqing Wang
a3c5a79426 Clean up full-pixel search calling code
Removed repetitive code.

Change-Id: Ib6adb6eaf7d4e3feeabb71651f4cc447974a925d
2014-05-05 17:44:13 -07:00
Alex Converse
89fbf3de50 Add an MMX fwht4x4
7% faster encoding a desktop lossless at RT speed 4.

Change-Id: I41627f5b737752616b6512bb91a36ec45995bf64
2014-05-05 15:10:48 -07:00
Adrian Grange
928b34e895 Fix rounding in ARNR calculation
The rounding of the ARNR filter output prior to
normalization by the filter strength was incorrect
when strength = 0.

In this case 1 << (strength - 1) would not create the
required rounding of 0, rather it would outrange. This
patch fixes this issue.

Change-Id: I771809ba34d6052b17d34c870ea11ff67b418dab
2014-05-05 11:00:43 -07:00