Commit Graph

8177 Commits

Author SHA1 Message Date
Yaowu Xu
ebe160568b Prevent invaid memory access
Reading second motion vector only when it has a second ref_frame

Change-Id: Ica72c1cd955832e15ceccda5e5a17b0bfcd83044
2014-01-22 09:10:44 -08:00
Dmitry Kovalev
347b30603a Removing out_open() & out_close() functions from vpxdec.
Change-Id: I60f2ce77638cf7d2116bc1e64b466942c76644e0
2014-01-22 09:04:07 -08:00
Dmitry Kovalev
ed6bb10f0f Fixing simple_weight() function + cleanup.
We used y_width/y_height instead of y_crop_width/y_crop_height.

Change-Id: Ia796494956f16d7a4085e043d58bdfe6de19abe7
2014-01-22 08:57:13 -08:00
Dmitry Kovalev
73b7405a90 Merge "Simplifying target_size_from_buffer_level() function." 2014-01-22 08:54:59 -08:00
Dmitry Kovalev
e0740c1e76 Merge "Removing unnecessary vp9_clear_system_state() calls." 2014-01-22 08:49:23 -08:00
Adrian Grange
c77c5413e0 Merge "Force show_frame=1 when show_existing_frame=1" 2014-01-22 08:34:48 -08:00
Dmitry Kovalev
36406fdb07 Removing unnecessary vp9_clear_system_state() calls.
Change-Id: I597645a15fff2d3a1104861a5c90f64394952e0b
2014-01-22 02:39:52 -08:00
Dmitry Kovalev
3cdcb2f567 Simplifying target_size_from_buffer_level() function.
Change-Id: I1d556ddf04ab0a98eadf412972a6977c1055446f
2014-01-22 02:24:01 -08:00
Dmitry Kovalev
2b6e0fe010 Merge "Cleaning up first_pass_motion_search() function." 2014-01-22 01:51:08 -08:00
Martin Storsjo
e5647d6826 arm: Use vreinterpret instead of a plain cast for converting between neon vector types
This fixes building with MSVC for arm.

Change-Id: Iffae0408e0c68760e87e96b9e17d9df8e8cadb1a
2014-01-22 11:28:37 +02:00
Dmitry Kovalev
6e706ed783 Merge "Cleaning up vp9_ratectrl.c." 2014-01-21 23:12:42 -08:00
Dmitry Kovalev
52bcaf426d Merge "Cleaning up vp9_setup_buffer_inter() function." 2014-01-21 23:11:39 -08:00
Dmitry Kovalev
209a3ae4f4 Merge "Replacing cpi->twopass with twopass." 2014-01-21 23:01:27 -08:00
Dmitry Kovalev
ef9f7446be Cleaning up vp9_setup_buffer_inter() function.
Change-Id: Ia63e2d05fa5dca3fb67788b0f1f28e9802ef27dd
2014-01-21 19:46:07 -08:00
Yaowu Xu
4e2ae30287 Merge "remove complex rd modeling." 2014-01-21 18:02:50 -08:00
James Zern
da54de0c09 Merge changes I57a94d2f,Ifb305185
* changes:
  test/: remove some unnecessary extern "C"s
  rtcd.sh: add extern "C" to generated headers
2014-01-21 17:59:26 -08:00
James Zern
3fcaf97fd5 cpplint: restore runtime/sizeof
dropped in r113; this check is helpful in this project

Change-Id: If810607b7cbf89ad701b4865d685f4b96aeee2dc
2014-01-21 17:56:04 -08:00
James Zern
1edc498eb2 update cpplint
adds --linelength / --extensions and support for eclipse style output

latest from (r119):
http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py

Change-Id: I58be3a2d60daa9ba0d0bc1574fd13a2144c5d13d
2014-01-21 17:55:04 -08:00
Johann
6c492fc2f9 Match vp9_coefband_trans_* declarations
VS2013 Chromium builds failed with:
warning C4742: 'vp9_coefband_trans_8x8plus' has different alignment in

https://code.google.com/p/chromium/issues/detail?id=336620

Change-Id: I865f72bc23ae958531eeb5f497002c12e9a36fcd
2014-01-21 17:07:23 -08:00
Deb Mukherjee
3cd37dfeb5 Adds a non-normative resize library to vp9 encoder
Adds an arbitrary-size resize library for use in scaling of input
frames in a non-normative manner in the vp9 encoder. The method
used is as follows:
Downsampling - Uses a 8 tap filter for factor of 2 decimation upto
a size just higher than the desired size. Then interpolates pixels
at a precision of 1/32 pel using a set of 8-tap filters.
Upsampling - Interpolates pixels at a precision of 1/32 pel using
a set of 8-tap filters.

There is no assembly optimization yet.

Change-Id: Ib5b81e174fc139da322bb97c8214d52289d60d8a
2014-01-21 16:50:00 -08:00
Alex Converse
7a197b2d49 Merge "Have check_initial_width() take subsampling as arguments directly." 2014-01-21 16:31:14 -08:00
Yaowu Xu
000efb5711 Merge "Enforce key frame placement" 2014-01-21 16:04:35 -08:00
hkuang
437004c710 Seperate the border size for encoder and decoder.
Encoder's boarder is still 160, while decoder's boarder will be 32.
With on demand and separate boarder buffer for boarder extension.
The decoder's boarder does not need to to 160 anymore.

Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
2014-01-21 15:28:41 -08:00
Dmitry Kovalev
c2b5a39345 Removing duplicated SAD calculation code.
Change-Id: I8d693371a29103769d5bed9d5f9cfe4f58ca3189
2014-01-21 14:24:37 -08:00
Yaowu Xu
dbae98082c Enforce key frame placement
Change-Id: I2f85c6b058638571d68a7209779de8ca8168934f
2014-01-21 14:08:43 -08:00
Jingning Han
20cf22a128 Enforce effective motion vector search range
This commit explicitly enforces the effective motion vector range
in the motion search stage. The range needs to be the intersection
of UMV border, effective absolute motion vector value range, and
the target search area.

Change-Id: I1cf7c563e02b1086040dad6c1f4f6be1538635a6
2014-01-21 12:03:18 -08:00
Adrian Grange
3246692ebc Force show_frame=1 when show_existing_frame=1
When showing a previously decoded frame, we need to
explicitly set the show_frame flag.

For the current frame being decoded this flag is
explicitly set in the frame header.

This should fix WebM Issue 696:
http://code.google.com/p/webm/issues/detail?id=696

Change-Id: I5751a809813f88d2ca6f62c47c3878475ff9ba8d
2014-01-21 10:39:39 -08:00
Dmitry Kovalev
575a083bcc Merge "Replacing macros with inline functions." 2014-01-21 10:17:29 -08:00
Dmitry Kovalev
16954cb327 Merge "Moving vp8_multi_resolution_encoder to examples folder." 2014-01-21 10:16:22 -08:00
Dmitry Kovalev
2696ba0be6 Merge "Removing duplicated example file example_xma.c." 2014-01-21 10:15:59 -08:00
Jim Bankoski
3fa1356994 remove complex rd modeling.
The affect on quality was minimal.  Less than .1%, various sets
yt ( +.15%), derf (-.1%), hd ( -.1% ), std hd(-.15%)...

The affect on speed of encode at speed -5 was substantial ( ~3% ).

Change-Id: I8903346fbae0c35f5b9ea20f81fdd239ae81247d
2014-01-21 09:59:49 -08:00
Yaowu Xu
466f42aa10 Merge "Deprecate best_mv from encoder" 2014-01-21 09:35:52 -08:00
James Zern
f061968213 test/: remove some unnecessary extern "C"s
Change-Id: I57a94d2f9e26a872a20d805a506855a20e61c356
2014-01-18 13:14:14 -08:00
James Zern
d9a9c45b90 rtcd.sh: add extern "C" to generated headers
Change-Id: Ifb30518555402eb473c3fde81bc860fbe17851dd
2014-01-18 13:14:14 -08:00
Dmitry Kovalev
9c8b74f121 Merge "Moving y4m encoding functions into separate files." 2014-01-17 23:59:21 -08:00
Dmitry Kovalev
5088631410 Merge "Cleaning up vp9_picklpf.c file." 2014-01-17 18:19:06 -08:00
Dmitry Kovalev
6031abeb38 Cleaning up vp9_ratectrl.c.
Change-Id: I3a260d3ca68db3a9352ae5409de76e56202976e5
2014-01-17 17:43:04 -08:00
Dmitry Kovalev
a001016996 Removing MODE_STATS.
Change-Id: I7520e1cc82b749187c9445356dd7b54f3f3826cc
2014-01-17 17:30:22 -08:00
Jingning Han
b461c0884e Deprecate best_mv from encoder
This commit deprecates the use of best_mv from encoding and bit-stream
writing stages. It hence removes the definition from MACROBLOCKD.

Change-Id: I8e5302775a2aa4a18900726df407bff881f2dfb1
2014-01-17 17:15:34 -08:00
Yaowu Xu
829c3530be Merge "Change the vp8 END_USAGE typedef" 2014-01-17 17:04:32 -08:00
Dmitry Kovalev
5ab63583db Moving y4m encoding functions into separate files.
Change-Id: I03f614872167841515a74740d654c008b60104a4
2014-01-17 17:02:37 -08:00
Dmitry Kovalev
98254a441b Moving vp8_multi_resolution_encoder to examples folder.
Change-Id: If0e1cd13aecd1620d26c28bf95e4f84469f78456
2014-01-17 16:57:37 -08:00
Dmitry Kovalev
5bdecc65b5 Removing duplicated example file example_xma.c.
The same file is in examples folder now.

Change-Id: I0f541f4424a0f0a67abd95907cb9d32132112f37
2014-01-17 16:44:45 -08:00
hkuang
671df8486d Merge "Use a temp buffer for reconstruction when reference buffer is out of boarder." 2014-01-17 16:17:36 -08:00
hkuang
7459fee8c6 Use a temp buffer for reconstruction when
reference buffer is out of boarder.

Change-Id: Ic7ad136e54a4d68abe0fd4345146a86b0ba824e1
2014-01-17 16:15:54 -08:00
Dmitry Kovalev
2f4e6ee55d Cleaning up vp9_picklpf.c file.
Change-Id: Id54f317846f61a320cc5aeef47248e074376ee5d
2014-01-17 16:09:21 -08:00
Alex Converse
7e157467dc Merge "Fix output cropping in vp9_get_preview_raw_frame." 2014-01-17 15:49:06 -08:00
Dmitry Kovalev
c5b633975c Merge "Removing unused vp9_yv12_copy_partial_frame() function." 2014-01-17 15:43:02 -08:00
Deb Mukherjee
67fb3bf639 Change the vp8 END_USAGE typedef
Makes the END_USAGE typedef compatible with the vpxenc input

Change-Id: If784586fdb90a1e6f7badcb522ea9e93d4ddc030
2014-01-17 15:39:49 -08:00
Dmitry Kovalev
d8bfe9e24c Cleaning up vp9_refining_search_sad() function.
Change-Id: I660b53da8ebf3049832ce8a10721051c4e0ebb00
2014-01-17 15:20:28 -08:00