Commit Graph

4690 Commits

Author SHA1 Message Date
John Koleszar
006247ac33 Merge remote branch 'internal/upstream' into HEAD 2010-11-21 00:05:06 -05:00
John Koleszar
b13d1c307e Merge remote branch 'origin/master' into experimental 2010-11-21 00:05:05 -05:00
Paul Wilkins
70b885a0e8 Added extra two pass stats gathering.
Added code to record spend so far against planed budget.

Change-Id: I5a3335346fa1771b2b1219df9f6127f9993d2594
2010-11-19 14:12:33 -05:00
John Koleszar
1a1a8ea4df Merge remote branch 'internal/upstream-experimental' into HEAD 2010-11-19 00:05:03 -05:00
Yaowu Xu
0867b81678 remove low pass filtering from two 4x4 intra prediction
In the process of developing new intra prediction modes, tests have
shown removal of the low pass filtering from B_HE_PRED and B_VE_PRED
has an overall minor positive impact in both PSNR and SSIM metric.
Overall difference is about 0.1%. The change shall also have a small
positive impact on speed. Intuitively, this change should also reduce
some of the tendency of "flattening"

Change-Id: I3c43b0daca833c6eff77d00f19c811f9ef9368a3
2010-11-18 10:42:08 -08:00
Yaowu Xu
39ceef38a7 changed MAX_PSNR to 100
Changing the MAX_PSNR to 100 to allow testing of further experiments
on extending quantizer range to near lossless. With an effective
quantizer of 1, encoder achieves ~68DB, which is consistent with
fdct/idct round trip error.

Change-Id: I7b6d0e94a8936968ef42e82e63ebb13999c36832
2010-11-18 09:12:02 -08:00
Yaowu Xu
06c70d304f extends the range of tokens
Extending the value range of tokens allows further experiments on
extending quantizer range. Encoder and decoder were verified to
produce matching reconstructed buffers by tests with forced
quantized value of 1.

Change-Id: I12faf92832867870b6f71ddeafbf643f1040086d
2010-11-18 09:07:16 -08:00
John Koleszar
a2ebd0f3e4 Merge remote branch 'origin/master' into experimental 2010-11-18 00:05:05 -05:00
John Koleszar
f3919f1879 Merge remote branch 'internal/upstream' into HEAD 2010-11-18 00:05:04 -05:00
John Koleszar
3702229d9f Merge remote branch 'internal/upstream-experimental' into HEAD 2010-11-18 00:05:04 -05:00
Pascal Massimino
ed5ab7fa49 remove warning
was having: "vp8/encoder/onyx_if.c:5365: warning: comparison of unsigned expression >= 0 is always true"
2010-11-17 16:50:02 -08:00
Scott LaVarnway
9a6740af80 Merge "Removed unnecessary checks." 2010-11-17 11:28:22 -08:00
Scott LaVarnway
f7670acc68 Removed unnecessary checks.
macro_block_yrd and vp8_rdcost_mby are not called for SPLITMV.

Change-Id: I2224d3c8725df526d48426447482768d543752f1
2010-11-17 14:25:48 -05:00
Suman Sunkara
15a1dca2fb Merge "FIXED bug in when CONFIG_SEGMENTATION NOT DEFINED" into experimental 2010-11-17 12:07:24 -05:00
Jim Bankoski
c35057f0f6 FIXED bug in when CONFIG_SEGMENTATION NOT DEFINED 2010-11-17 11:30:24 -05:00
Paul Wilkins
f874391e02 Replaced recode loop test with a function call
Replaced existing code to decide if a frame recode is required
with a function call. This is to simplify addition of extra clauses
that may be needed for the planned constrained quality mode.

Also fixed a bug where by alt ref not considered in the test.

Change-Id: I3d40bb21abe3e19f8456761e6849deb171738b60
2010-11-17 15:12:04 +00:00
John Koleszar
7ee516d2b3 vp8_set_maps: remove hard-coded width/height
The example for disabling the active map used a hard-coded 320x240
resolution, rather than using what was passed on the command line.

Fixes #218

Change-Id: I3aed713e8aa7fcbf18dfbffd57f142b5cd9ee492
2010-11-17 09:24:05 -05:00
John Koleszar
8d94796cad vp8mt_alloc_temp_buffers: make prototype return void
This function was never called in a context expecting a return value,
the return value was always a constant, and the !CONFIG_MULTITHREAD
path didn't have a return statement, which caused a compiler warning.
This patch changes the function to return void instead.

Fixes issue #231

Change-Id: I9ef7f56e54418b7265026c54fc4ed5660c1418d1
2010-11-17 09:13:57 -05:00
John Koleszar
79e2b1f39b Disable compile warning for ERROR macro
The ERROR macro collides wiith the MS SDK on Windows. Since we're not
making any win32 calls in this function, just #undef it first to take
ownership.

Change-Id: Ic18c60dfa3a33c52e6c49d3f4f8d3e7e3ac3341d
2010-11-17 09:08:51 -05:00
John Koleszar
3a778de77a Merge remote branch 'origin/master' into experimental 2010-11-17 00:05:05 -05:00
John Koleszar
8232a3a0e4 Merge remote branch 'internal/upstream' into HEAD 2010-11-17 00:05:04 -05:00
John Koleszar
0661ab00f3 Merge remote branch 'internal/upstream-experimental' into HEAD 2010-11-17 00:05:04 -05:00
Fritz Koenig
99d02c0f9f Merge "Comments for alt ref flags." 2010-11-16 16:11:39 -08:00
Fritz Koenig
69ee697fef Comments for alt ref flags.
Clarify what the alt ref flags do when encoding.

Change-Id: I71f78e0f42edae633fb91840f29dfbe64362c44c
2010-11-16 15:16:24 -08:00
Yaowu Xu
4fedfa75f8 Merge "correct errors in token alphabet descriptions" 2010-11-16 14:06:44 -08:00
Suman Sunkara
388546bc93 Merge branch 'experimental' of ssh://on2-git.corp.google.com:29418/libvpx into test
Conflicts:
	configure

Change-Id: Id874dc46b13e8b5da4179fc3b48e354ec313a2cd
2010-11-16 16:31:59 -05:00
Suman Sunkara
4b3f72001d Merge branch 'experimental' of ssh://on2-git.corp.google.com:29418/libvpx into test
Conflicts:
	vp8/common/blockd.h
	vp8/decoder/decodemv.c
	vp8/decoder/decodframe.c
	vp8/decoder/demode.c
	vp8/decoder/onyxd_if.c
	vp8/decoder/onyxd_int.h
	vp8/encoder/encodeframe.c

Change-Id: Ic379f4dffaded9796dc19d56be304d3f8527c61f
2010-11-16 16:30:59 -05:00
tomfinegan
faaa57b945 Add x86_64-darwin10-gcc target.
Adds native build configuration for Snow Leopard.  Useful when
users configure without arguments on OSX 10.6.

Change-Id: I0bd63912a25bbfb9d4c8d58a781d0f390792429c
2010-11-16 14:52:05 -05:00
Jim Bankoski
b4a3602f66 changes to start experimenting with color segmentation prediction modes. 2010-11-16 14:38:40 -05:00
Yaowu Xu
d49da085c0 correct errors in token alphabet descriptions
There were a few errors in the comment section that describe VP8 token
alphabet table.

Change-Id: Ie6728a0e08bc3798893221b60408d5b201064bdc
2010-11-16 10:51:43 -08:00
John Koleszar
791cae74da Merge remote branch 'origin/master' into experimental 2010-11-16 00:05:04 -05:00
John Koleszar
00fe7441e9 Merge remote branch 'internal/upstream' into HEAD 2010-11-16 00:05:04 -05:00
Fritz Koenig
e180255375 Remove stack shadowing for x86-x64 for SAD functions.
x86-64 passes arguments in registers.  There is no need to push
them to the stack before using them.

This fixes 15acc84f10 where ebx
was not getting preserved on x86.

Change-Id: I1214b5f818a0201f75ab6ad7d5c6f448e09b16c2
2010-11-15 10:56:02 -08:00
Paul Wilkins
f4709d2895 Merge "Bad cost tables used in ARNR filtering." 2010-11-15 09:55:35 -08:00
Paul Wilkins
373f5c3144 Bad cost tables used in ARNR filtering.
The use of incorrect mv costing tables in the ARNR sub-pel
filtering code led to corruption of the altref buffer in some cases,
particularly at low data rates.

The average gain from this fix is about 0.3% but there are a few
extreme cases where nasty and visible artifacts manifested and
for these few data points the improvement is > 10%.

PGW and AWG

Change-Id: I95cc02b196a433e71d0d2bd2b933fe68ed31e796
2010-11-15 17:47:12 +00:00
Yaowu Xu
73189f21b3 Merge "make rdmult adaptive for intra in quantizer RDO" 2010-11-15 09:22:45 -08:00
John Koleszar
389228e408 Merge remote branch 'internal/upstream-experimental' into HEAD 2010-11-14 00:05:04 -05:00
John Koleszar
9b5cd1c3ff Merge remote branch 'internal/upstream' into HEAD 2010-11-13 00:05:05 -05:00
John Koleszar
adbb1de01c Merge remote branch 'internal/upstream-experimental' into HEAD 2010-11-13 00:05:05 -05:00
John Koleszar
25fa447acb Merge remote branch 'origin/master' into experimental 2010-11-13 00:05:04 -05:00
Frank Galligan
8c2dfde3ed Fixed bug first cluster timecode of webm file is wrong.
When the first pts equaled 0 ivfenc was incorrectly increasing the
pts by 1. I changed the pts and last pts to be signed. I also set
the default value of last pts to -1.

Change-Id: I30bcec5af9b16d93fa9e3abbea7764b133e9cd73
2010-11-12 11:48:17 -05:00
John Koleszar
08d45a99b5 Merge remote branch 'internal/upstream' into HEAD 2010-11-12 00:05:03 -05:00
John Koleszar
7d799d2ced Merge remote branch 'origin/master' into experimental 2010-11-12 00:05:03 -05:00
John Koleszar
9b48257afe Merge remote branch 'internal/upstream-experimental' into HEAD 2010-11-12 00:05:03 -05:00
Yaowu Xu
ef2f27f10e make rdmult adaptive for intra in quantizer RDO
This intends to correct the tendency that VP8 aggressively favors rate
on intra coded frames. Experiments tested different numbers in [0, 1]
and found 9/16 overall provided about 2-4% gains for all-intra coded
clips based on vpx-ssim metric. The impact on regular encoded clips
is much smaller but positive overall. Overall impact on psnr is also
positive even though very small.

Change-Id: If808553aaaa87fdd44691f9787820ac9856d9f8a
2010-11-11 11:33:35 -08:00
John Koleszar
0a49747b01 quantizer: fix assertion in fast quantizer path
The fast quantizer assembly code has not been updated to match the new
exact quantizer, which was made the default in commit 6adbe09.
Specifically, they are not aware of the potential for the coefficient
to be scaled, which results in the quantized result exceeding the range
of the DCT. This patch restores the previous behavior of using the
non-shifted coefficients when in the fast quantizer code path, but
unfortunately requires rebuilding the tables when switching between the
two.

Change-Id: I0a33f5b3850335011a06906f49fafed54dda9546
2010-11-11 13:05:20 -05:00
Suman Sunkara
b9a18344cf Use of temporal context for encoding delta updates.
- Used three probability approach for temporal context as follows:
P0 - probability of no change if both above and left not changed
P1 - probability of no change if one of above and left has changed
P2 - probability of no change if both above and left have changed

In addition, a 1 bit/frame has been used to decide whether to use temporal context or to encode directly.  The cost of using both the schemes is calculated ahead and the temporal_update flag is set if the cost of using temporal context is lower than encoding the segment ids directly.

This approach has given around 20% reduction in cost of bits needed to encode segmentation ids.

Change-Id: I44a5509599eded215ae5be9554314280d3d35405
2010-11-11 11:31:36 -05:00
Fritz Koenig
58083cb34d Revert "Remove stack shadowing for x86-64"
This reverts commit 15acc84f10.

Change-Id: Ia640be8cbc134432914849c1750f62575ea084e6
2010-11-11 08:20:02 -08:00
John Koleszar
f225211256 Merge remote branch 'origin/master' into experimental
Conflicts:
	configure

Change-Id: Ifa63e4610657f75cb953aa7ca08f997267612cc0
2010-11-11 09:25:10 -05:00
John Koleszar
1ea4c2924c Merge remote branch 'internal/upstream' into HEAD
Conflicts:
	configure

Change-Id: I1c7bae5241f999387cae3f2abf2dfc84fe3f6651
2010-11-11 09:22:46 -05:00