Commit Graph

12813 Commits

Author SHA1 Message Date
Johann
42eb97eb91 Declare function used by 'once' with 'void' parameters
Visual Studio is exceptionally picky about this:
vp9_reconintra.c(900): warning C4113: 'void (__cdecl *)()' differs in
parameter lists from 'void (__cdecl *)(void)'
[.build-x86_64-win64-vs10\vpx.vcxproj]

Change-Id: I564c7415f4608fd962be8c699d6133a996b545f7
2015-03-04 15:34:55 -08:00
hkuang
c45b9564b9 Merge "Fix variable shadowing." 2015-03-04 14:23:01 -08:00
Adrian Grange
4b546583c4 Merge "Small rationalization of code in vp9_first_pass" 2015-03-04 12:49:58 -08:00
hkuang
31fae6ac08 Fix variable shadowing.
Change-Id: I287c61ad4aa85654aef3c871a62131bcd0d891ac
2015-03-04 11:40:20 -08:00
hkuang
2f06f5087e Merge "Remove unnecessary loopfilter init." 2015-03-04 11:27:58 -08:00
Adrian Grange
a34a042615 Merge "Make encoder buffer allocation dynamic" 2015-03-04 10:54:10 -08:00
Adrian Grange
fed9e1fee9 Small rationalization of code in vp9_first_pass
Change-Id: I87cc0e038171c60a957298827e312fead500f7fb
2015-03-04 10:49:03 -08:00
Jingning Han
50c06052e9 Merge "Use SAD value to set chroma cost flag" 2015-03-04 10:47:56 -08:00
Jingning Han
7d8061a44a Use SAD value to set chroma cost flag
This saves an extra 64x64 variance calculation and replaces two
32x32 variance functions with sad functions. The compression
performance change is unnoticeable.

Change-Id: I6d33868695664ec73b56c42945162ae61c484856
2015-03-04 09:46:39 -08:00
Jingning Han
0fe8304d0b Merge "Properly handle the boundary blocks for integral projection search" 2015-03-04 09:01:33 -08:00
Adrian Grange
3807dd82ab Make encoder buffer allocation dynamic
Frame buffers are now allocated dynamically on-demand.

Entries in the reference frame map, cm->ref_frame_map,
may now be set to -1 (INVALID_IDX) to indicate that
there is not a valid reference buffer in that "slot".

All slots in the reference frame map are now initialized
to the empty state (-1) and each buffer is initialized
to have a reference count of 0.

Change-Id: Id1afe98de98db4ae8b2dfefed7889c3b28c68582
2015-03-04 07:58:32 -08:00
Deb Mukherjee
87d1a488ed Merge "dc quantizer fix for 32x32 transforms" 2015-03-03 23:23:44 -08:00
Jingning Han
540318d3f8 Merge "Scale the normalization factor depending on the block size" 2015-03-03 19:04:34 -08:00
Jingning Han
e5fe165840 Properly handle the boundary blocks for integral projection search
Use rectangular block size for integral projection motion estimation
if the the 64x64 block has over half block outside the frame. This
avoids the issue that the motion information of these blocks is
dominated by the extended pixels, instead of the pixels of interest.

Change-Id: I22f4d2bb7f6a20db9b3f5e2e5463a7f4b9d1b737
2015-03-03 16:15:12 -08:00
Deb Mukherjee
6910e92d04 dc quantizer fix for 32x32 transforms
The rounding factor needs to be scaled down by a factor of 2.
Also, the quantized and dequantized coefficients are memset to 0
when dc quantizer is used.

Change-Id: Ifa68bab02addbf1b83d249c5b4cbd5cda796b1cf
2015-03-03 15:58:27 -08:00
Yunqing Wang
6e5115e12e Merge "fix a race condition caused by intra function pointer initialization" 2015-03-03 15:47:06 -08:00
Yaowu Xu
767d63d076 Merge "Adapt color sensitiviy threshold to luma signal energy" 2015-03-03 15:33:55 -08:00
Jingning Han
a521008201 Scale the normalization factor depending on the block size
Change-Id: I0a26994bf65ea224e496b09af2ce71e1a4210433
2015-03-03 11:29:46 -08:00
Yaowu Xu
47ac3ea0bb Adapt color sensitiviy threshold to luma signal energy
Instead using only a fixed threshold, this commit adapts the threshold
for color sensitivity decision to luma signal energy: chroma channel's
sse is at least 1/6 of that in luma for color sensitivity flag to be
set to active.

This recoups a large portion of the speed loss due to accounting for
chroma component costs in RTC mode decision.

Change-Id: Ie01f747f6037dba6a1d1ed3e10b71a0ef1abc42c
2015-03-03 11:15:13 -08:00
hkuang
f9420b45e5 Remove unnecessary loopfilter init.
Loopfilters are init in vp9_decode_frame.

Change-Id: I4fbf6286b9b231451452e4ef3c19877a7b9a6768
2015-03-03 10:40:39 -08:00
Yunqing Wang
55639c383b fix a race condition caused by intra function pointer initialization
This patch fixed webm issue 962.
(https://code.google.com/p/webm/issues/detail?id=962)
The data races occurred when an encoder and a decoder were created
at the same time, and the function pointers were initialized twice.

Change-Id: I8851b753c4b4ad4767d6eea781b61f0ac9abb44b
2015-03-03 09:58:37 -08:00
Johann
6cf7b3b240 Merge "libyuv: update to r1305" 2015-03-03 09:20:02 -08:00
James Zern
40f177ab3e ResizeCspTest: request PSNR packets
without VPX_CODEC_USE_PSNR they're only generated by default with
--enable-internal-stats

Change-Id: I9a5a8874a3aa4bde39ae09a4101ed5616c83c9a1
2015-03-02 18:54:22 -08:00
Johann
223bf29307 libyuv: update to r1305
MIPS build fixes

https://code.google.com/p/webm/issues/detail?id=957

Change-Id: I9d53900af36d783c369b5dff27a7479cb94fd16b
2015-03-02 15:19:31 -08:00
Jingning Han
1790d45252 Use variance metric for integral projection vector match
This commit replaces the SAD with variance as metric for the
integral projection vector match. It improves the search accuracy
in the presence of slight light change. The average speed -6
compression performance for rtc set is improved by 1.7%. No speed
changes are observed for the test clips.

Change-Id: I71c1d27e42de2aa429fb3564e6549bba1c7d6d4d
2015-03-01 10:42:56 -08:00
Jingning Han
f4e0eb17e8 Merge "Fix source frame border extension" 2015-02-27 18:19:18 -08:00
Jingning Han
fe85fabbac Fix source frame border extension
This commit fixes an issue in source frame border extension. It
causes certain frame resolution such as 640x480 to have a portion
of the right/bottom extension filled by zeros, which misleads
motion search and degrades transform coding performance when large
block size is used.

This fix improves the speed 2 compression performance of a few
yt sequence, typically ranging from 1% - 2%, up to 5% at median
to low bit-rate.

Change-Id: Id6b09a5695d9e7651c6dfbc2c6a72288b08af7fb
2015-02-27 15:48:01 -08:00
Adrian Grange
94bba48525 Merge "Fix calc_highbd_psnr" 2015-02-27 15:42:08 -08:00
Alex Converse
2b2fc812f1 Merge "Make SVC compatible with external resize." 2015-02-27 14:37:48 -08:00
Adrian Grange
54293ee3c7 Fix calc_highbd_psnr
Should use the crop dimensions of the frame rather
than the extended size.

Change-Id: I49ed041a46ff0753d43e074020857b7ff2f95e17
2015-02-27 14:05:02 -08:00
Marco
2b0ed0842f Merge "Fix arithmetic overflow warnings." 2015-02-27 11:53:57 -08:00
James Zern
dfc888f1f8 Merge "use LC_ALL=C to sort libvpx_*srcs.txt" 2015-02-27 10:59:59 -08:00
Jingning Han
89ee460ee4 Merge "Refactor integral projection based motion estimation" 2015-02-27 09:49:30 -08:00
Jingning Han
c4cb8059ff Merge "Fix high bit-depth loop-filter sse2 compiling issue - part 4" 2015-02-27 09:49:10 -08:00
Jingning Han
43bb97f7d0 Merge "Fix high bit-depth loop-filter sse2 compiling issue - part 3" 2015-02-27 09:49:00 -08:00
Jingning Han
4800b0e80d Merge "Fix high bit-depth loop-filter sse2 compiling issue - part 2" 2015-02-27 09:48:51 -08:00
Jingning Han
47431f6c1e Merge "Fix high bit-depth loop-filter sse2 compiling issue - part 1" 2015-02-27 09:48:39 -08:00
James Zern
8ef6dadbbe test-data.mk: fix perf test data dependency
both the encode and decode perf tests require niklas_1280_720_30.yuv
broken since:
28eebf3 Merge "tests: add a shorter 720p test clip"
7839d03 tests: add a shorter 720p test clip

Change-Id: I51ebbf7261832e25d8f2c1da5c7df5c2e47f748e
2015-02-26 23:14:54 -08:00
James Zern
0f96f02b94 use LC_ALL=C to sort libvpx_*srcs.txt
Change-Id: I387da141ebade4fc4d2f3c0a2b6aa5aaea091c0c
2015-02-26 20:48:40 -08:00
James Zern
099049efb3 tools_common.sh: use $$ in VPX_TEST_OUTPUT_DIR
a bit simpler than invoking awk for rand()

Change-Id: I36ac474708f7bf0157ae59b882c2a9f69b0aaf41
2015-02-26 18:30:24 -08:00
James Zern
f1e0183c81 Merge "tools_common.sh: add directory name to error output" 2015-02-26 15:54:41 -08:00
Marco
c3f7bb16b4 Fix arithmetic overflow warnings.
Change-Id: Ib85b5bc135aa0907a76b8c74faafe577e27d014f
2015-02-26 15:27:21 -08:00
Jingning Han
8ec22296b3 Fix high bit-depth loop-filter sse2 compiling issue - part 3
Change-Id: Idb14b9a285f8098126f967c5e2750221d6a58f69
2015-02-26 15:21:22 -08:00
Yaowu Xu
776a6cfd9e Merge "Fix the encoder to support profile change" 2015-02-26 15:13:28 -08:00
Yaowu Xu
d973fbb1de Merge "Correct parameter order in a function call" 2015-02-26 15:13:06 -08:00
James Zern
28eebf3e36 Merge "tests: add a shorter 720p test clip" 2015-02-26 14:51:44 -08:00
Jingning Han
73a00d3219 Refactor integral projection based motion estimation
Support variable block size integral projection based motion
estimation.

Change-Id: Iee6d65e44df4480aa13fb7b84b9c91914b89caa1
2015-02-26 14:48:59 -08:00
James Zern
2ebe0aee11 tools_common.sh: add directory name to error output
+ add a helper function to reduce the duplication

this is a bit clearer when the environment variable is set, but the
directory is missing

Change-Id: I08f9b56122b5741bb40a5f795f7f82f5b49f1047
2015-02-26 12:57:30 -08:00
Jingning Han
14ff1cb74a Fix high bit-depth loop-filter sse2 compiling issue - part 2
Change-Id: I6728b69bb3dff1daa64ff7142f691e80a089f1c4
2015-02-26 12:41:19 -08:00
Yaowu Xu
754bbcfdc8 Fix the encoder to support profile change
Change-Id: Iefb928ad1174e274409facfb44f80265ff0f7683
2015-02-26 11:41:01 -08:00