Commit Graph

11175 Commits

Author SHA1 Message Date
Dmitry Kovalev
1acc96fb80 Removing vp9_rescale().
Now everything is int64_t, so we don't need that function.

Change-Id: I7dd2023677b4943ecd968d68cc06f9d4862c3c3f
2014-08-15 17:02:10 -07:00
Johann
49fef90405 Merge "Set uv_crop_height/width in all the places" 2014-08-15 16:48:30 -07:00
Pengchong Jin
eca93642e2 Add a speed feature to give the tighter search range
Add a speed feature to give the tighter partition search
range. Before partition search, calculate the histogram
of the partition sizes of the left, above and previous
co-located blocks of the current block. If the variance of
observed partition sizes is small enough, adjust the search
range around the mean partition size, which will be tigher.

The feature is currently turned on at speed 2. Experiments on
sample youtube clips show on average the runtime is reduced
by 3-7%.

For hard stdhd clips:
park_joy_1080p @ 15000kbps:       509251 ms -> 491953 ms (3.3%)
pedestrian_area_1080p @ 2000kbps: 223941 ms -> 214226 ms (4.3%)

The PSNR performance is changed:
derf: -0.112%
yt:   -0.099%
hd:   -0.090%
stdhd:-0.102%

Change-Id: Ie205ec5325bf92ec5676c243e30ba9d0adca10f2
2014-08-15 16:14:20 -07:00
Tom Finegan
a04db185db vpxenc.sh: Add 2-pass and lagged encode tests for VP8 and VP9.
- Fix nit: make test function definitions match test order.
- Fix nit: use elog instead of echo for env verification error.

Change-Id: I0eec078fc056a5bb2bd88d5833e43de48d77ec08
2014-08-15 15:56:58 -07:00
Dmitry Kovalev
dc35b40a67 Merge "Simplifying vp9_set_speed_features() function." 2014-08-15 15:31:43 -07:00
Jingning Han
5386df41ba Remove unused variables in vp9_rd_pick_inter_mode_sb
Change-Id: Ib52e1ce5aa4a22d70e124c3c29a92e00ffac50e4
2014-08-15 15:28:25 -07:00
Yunqing Wang
c2ac7da981 Merge "Remove a unused speed feature" 2014-08-15 15:22:33 -07:00
Jingning Han
5d453e39cf Remove unused code in vp9_rd_pick_inter_mode_sb
Change-Id: I4f0bac3367b1a7c5e7f746b97ca619b81c8dfc49
2014-08-15 15:08:46 -07:00
Johann
69dc876b4e Set uv_crop_height/width in all the places
When configuring the buffer make sure to set all the (now) required
fields. Use the canonical variables and match the style from vpx_scale.

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

Change-Id: I71b43d4a03756b8b2d6d60fdf8d7bf41b8041787
2014-08-15 14:55:21 -07:00
James Zern
d637c2b41f frame_size_tests: reduce 'large' size for win32
this test allocates >2GB currently. depending on the order of the test
runs the allocation may fail most regularly with mingw+wine.

Change-Id: Ibee1c18cfbe29a4de6c65075647ec3955d8206c0
2014-08-15 14:43:53 -07:00
Dmitry Kovalev
5509b7fd8f Removing duplicated code from init_config().
Change-Id: I50f4485cfbdaadc3084aa5bc63bf3a2f15a0d903
2014-08-15 14:25:00 -07:00
Tom Finegan
45d12e0bd3 Merge "vpxdec.sh: Fix some style nits." 2014-08-15 14:21:25 -07:00
Tom Finegan
b77ef13d89 vpxdec.sh: Fix some style nits.
Change-Id: I960c26dcb0db230e50f923d00f64ded1a39bf783
2014-08-15 14:20:47 -07:00
Yunqing Wang
28b1437d77 Remove a unused speed feature
Removed disable_split_var_thresh, which is not used anymore.

Change-Id: I50119b150442e1571157433b5effc6aae0dbe0fd
2014-08-15 14:10:27 -07:00
Deb Mukherjee
6a1c052f3f Merge "Removes fileno check to prevent valgrind error" 2014-08-15 14:04:18 -07:00
Tom Finegan
250fc1f6a2 Merge "examples.sh: Run all example tests." 2014-08-15 13:53:05 -07:00
Dmitry Kovalev
fa8de273e7 Merge "Cleaning up vp9_encoder.c." 2014-08-15 12:52:44 -07:00
Dmitry Kovalev
56c40a047c Merge "vp8cx_set_ref: Flush encoder." 2014-08-15 12:52:16 -07:00
Dmitry Kovalev
a646d7ff69 Merge "Removing active_arnr_{strength, frames} from VP9_COMP." 2014-08-15 12:51:56 -07:00
Tom Finegan
4d91e16501 examples.sh: Run all example tests.
- Remove vpxdec and vpxenc from the exclude list.
- vpx{dec,enc}.sh: Updates to support finding their executable when
  LIBVPX_BIN_PATH is setup for the examples.
- tools_common.sh: New library function, vpx_tool_path(). Provides
  support for finding the exectuables in vpx{dec,enc}.sh.

Change-Id: I730f11cceb44646491a7a7ff58603a4a760129ef
2014-08-15 11:31:30 -07:00
Adrian Grange
c5d8c1e785 Merge "get_ref_frame: fix test for valid buffer." 2014-08-15 10:41:28 -07:00
Dmitry Kovalev
965af79241 vp8cx_set_ref: Flush encoder.
According to the current API spec we need to call vpx_codec_encode() until
vpx_codec_get_cx_data() returns NULL.

Change-Id: Ide0c531dc0d453df8ec1edb8acb894856d6cc22e
2014-08-15 10:26:45 -07:00
Dmitry Kovalev
f1ec9e8712 Cleaning up vp9_encoder.c.
Change-Id: Ib06c59d1adefb841a6ff653619dffb7e23f3318d
2014-08-15 10:26:03 -07:00
Dmitry Kovalev
31e54bbf42 Removing active_arnr_{strength, frames} from VP9_COMP.
Change-Id: I60472b71ca75ee0522ed2611f43e1207d44b66d0
2014-08-15 10:22:00 -07:00
Deb Mukherjee
4851b99bf1 Removes fileno check to prevent valgrind error
Explicitly makes the fileptr null when close source is called
on a temporary file. This avoids a valgrind error.

Change-Id: I9c364290eeb6842fde946dd9bf817814c7178aaa
2014-08-15 09:20:54 -07:00
Marco Paniconi
715bab6e55 Merge "Add an adaptive denoising mode." 2014-08-15 08:51:08 -07:00
Marco
a251755500 Merge "vp8: Modify to use closest reference in zero_mv bias." 2014-08-15 07:57:48 -07:00
James Zern
2bfbe9a886 Merge "vpxenc.sh: use --test-decode=fatal for vp9" 2014-08-14 20:27:12 -07:00
James Zern
a0d8ddb453 vpxenc.sh: use --test-decode=fatal for vp9
vp8 is broken:
https://code.google.com/p/webm/issues/detail?id=841

Change-Id: If73afe0e2314279b560ad758cb04b1760dcc3605
2014-08-14 20:11:15 -07:00
James Zern
1043474665 Merge "vp9_copy_reference_dec: check ref frame index before use" 2014-08-14 18:53:39 -07:00
Jingning Han
80e5550723 Merge "Remove redundant vp9_init_plane_quantizers call" 2014-08-14 18:50:16 -07:00
James Zern
2ba201fcdb Merge "32 Align Load bug In the sub_pixel_avg_variance the parameter sec was also aligned load and changed to unaligned." 2014-08-14 18:42:34 -07:00
Dmitry Kovalev
480693b995 Merge "Moving framerate from VP9EncoderConfig to VP9_COMP." 2014-08-14 18:26:35 -07:00
Marco Paniconi
8db245b6a1 Add an adaptive denoising mode.
On key frame, will always start with normal denoising mode,
but based on a computed noise metric (normalized mse on source diff)
may switch to aggressive mode (and back down again).

Change-Id: I20330b2dcf3056287be37223302b2cab5fc103eb
2014-08-14 17:29:51 -07:00
Marco
21a0dade42 vp8: Modify to use closest reference in zero_mv bias.
Modify zero_mv bias condition to include check that "closest" reference is last_frame.
This is needed for temporal layers, where the last_frame is not always the closest reference.
Also, constain zeromv_count to be for last_frame reference.

Change-Id: I7af54a809ebf01ef43b9933c9d4095b6cb189390
2014-08-14 15:55:20 -07:00
Yaowu Xu
2aea20d613 Merge "Mask out H_PRED and V_PRED for 32x32 blocks" 2014-08-14 15:25:34 -07:00
Yaowu Xu
d0f256e9d4 Merge "Set max_intra_bsize to 32x32" 2014-08-14 15:25:30 -07:00
James Zern
a07d09ff34 vp9_copy_reference_dec: check ref frame index before use
use get_ref_frame() to ensure a valid frame is retrieved if one exists

Change-Id: I4b116d928e643ee62a991babd4b974037b6b3830
2014-08-14 14:57:54 -07:00
Adrian Grange
54f8cb78c6 Merge "Fix bug 837: realloc mode info buffers on resize" 2014-08-14 14:53:33 -07:00
Jingning Han
d67b608c5d Remove redundant vp9_init_plane_quantizers call
When aq mode is on, the quantizer will be reset later in the same
function (line 571).

Change-Id: I20635db31261d136d04d5deeb881ad3957078bf1
2014-08-14 14:21:08 -07:00
levytamar82
efdfdf5787 32 Align Load bug
In the sub_pixel_avg_variance the parameter sec was also aligned load and
changed to unaligned.

Change-Id: I4d4966e0291059ea4d705baed1503dc58444fcb7
2014-08-14 14:07:28 -07:00
Adrian Grange
89a213b4b0 get_ref_frame: fix test for valid buffer.
In the current implementation of the encoder,
frame buffers may come from the wider set of
12 such buffers, and is not restricted to the
8 allowed as reference frames. This is only
an implementation detail and does not affect
the constraint of having a total of 8 reference
buffers overall.

Change-Id: I075f777146c2df49c275d89232933f8127235175
2014-08-14 12:42:11 -07:00
Yaowu Xu
5966586aef Mask out H_PRED and V_PRED for 32x32 blocks
Change-Id: I2847af5062b5fa320629fcabb9fa6b23ba3e5513
2014-08-14 10:52:10 -07:00
Yaowu Xu
4d6d061316 Set max_intra_bsize to 32x32
At --good and speed 3 or above for resolution less than 720p. This
disables the tests for 64x64 intra prediction modes. Encoding time
reduction is about 1%.

Change-Id: Ib396e3d1417fece416e3f0fee929b128acbb130f
2014-08-14 10:51:44 -07:00
Yaowu Xu
d4a47a6cc0 Merge "Replace current_video_frame with better alternatives" 2014-08-14 09:06:38 -07:00
Adrian Grange
4e30565a9f Fix bug 837: realloc mode info buffers on resize
The test to determine if the mode info buffers need
to be resized when the frame size changes was
incorrect, as per bug 837.

By storing the size of the allocated data structure,
a simple test determines whether to allocate more
memory when the frame size changes.

Change-Id: I1544698f2882cf958fc672485614f2f46e9719bd
2014-08-14 08:59:15 -07:00
Jim Bankoski
940db8fc4e Merge "vpx_codec_internal.h : clean out unused function warning" 2014-08-14 06:22:00 -07:00
Adam Xu
1d476a9ba4 Merge "Simplify select_tx_mode()" 2014-08-13 19:50:01 -07:00
James Zern
41c89f7aee Merge "cq_test: allow test cases to be run out of order" 2014-08-13 19:39:43 -07:00
Jim Bankoski
c89d151250 vpx_codec_internal.h : clean out unused function warning
Change-Id: I53659e3ff8ba1b70d89d152e0580ac7a412b89b2
2014-08-13 18:09:05 -07:00