Frank Galligan
10f891696b
Add support to pass in external frame buffers.
...
VP9 decoder can now use frame buffers passed in by the application.
Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
2013-12-15 18:45:46 -08:00
Dmitry Kovalev
4d2d1591a3
Converting mode_lf_lut struct member into static lookup table.
...
Change-Id: I6e6c7cb5ff5b60fbe6a7c314daec5ccdc2cafcc3
2013-12-14 17:42:12 -08:00
Dmitry Kovalev
2aadc06e0d
Yet another vp9_pred_common.c cleanup.
...
Change-Id: I617d6c610d181076773c5c3d6f3dbc6717b02580
2013-12-14 17:39:24 -08:00
Dmitry Kovalev
b41574e379
Removing unnecessary assert(delta != 0) from encode_loopfilter().
...
Change-Id: I8ae093d0b61d71d3c294b95d98d0178f7f67c8f6
2013-12-13 18:05:15 -08:00
Dmitry Kovalev
095b03231c
Using MV struct instead of int_mv union in encoder (2).
...
Change-Id: I068345f722a7116e3119927295ad23a28d3066a0
2013-12-13 17:20:40 -08:00
Dmitry Kovalev
64cf398713
Merge "Using MV struct instead of int_mv union in encoder."
2013-12-13 16:42:54 -08:00
Dmitry Kovalev
33df4f0483
Merge "vp9_convole.c cleanup."
2013-12-13 15:40:00 -08:00
Dmitry Kovalev
f54b515797
Merge "Cleaning up vp9_append_sub8x8_mvs_for_idx()."
2013-12-13 15:38:53 -08:00
Dmitry Kovalev
25da21b14e
Using MV struct instead of int_mv union in encoder.
...
Change-Id: I8b81a3e4b4fa530a654c28d9c136afa0c1d379fd
2013-12-13 15:24:48 -08:00
Yunqing Wang
d4b500d9d7
Merge "Increase disable_filter_search_var_thresh threshold"
2013-12-13 15:11:17 -08:00
Jingning Han
84acc988eb
Remove redefinition in handle_inter_mode
...
Change-Id: I44513b9db6d42e2c52723e1a429f06a93d300c8b
2013-12-13 13:38:05 -08:00
Dmitry Kovalev
466cc94e7a
Getting rid of b_{width, height}_log2 calls in non-420 loop filter.
...
Using num_{4x4, 8x8}_blocks_{wide, high}_lookup instead.
Change-Id: I66a7ab807fa57395253b2d0e636c2479fa8c4adf
2013-12-13 12:53:41 -08:00
James Zern
3aa75bcef6
Merge "vp9 asserts: fix compile warning"
2013-12-13 12:41:31 -08:00
Jingning Han
a793cf953f
Merge "Rename so -> scan_order in vp9_encodemb.c"
2013-12-13 12:14:48 -08:00
Dmitry Kovalev
df13e01665
Merge "Renaming treed_write() to vp9_write_tree()."
2013-12-13 11:19:04 -08:00
Dmitry Kovalev
15a23c8131
Merge "zz_motion_search() cleanup."
2013-12-13 11:18:13 -08:00
Dmitry Kovalev
33859ad8e3
Merge "Moving mi configuration loop from vp9_read_mode_info to set_offsets."
2013-12-13 11:16:59 -08:00
Jingning Han
2f9d118f21
Merge "Remove some dead code"
2013-12-13 11:10:39 -08:00
Jingning Han
930ae71ef0
Rename so -> scan_order in vp9_encodemb.c
...
Change-Id: I7ff2899ea18a55b37f5c581431ef59806f01e009
2013-12-13 11:06:23 -08:00
Yunqing Wang
da9f55c3fb
Increase disable_filter_search_var_thresh threshold
...
Increased threshold(t) for interp filter search. This sped up the
encoder with some PSNR loss.
Borg tests were ran at speed 2.
t = 100, PSNR loss:
-0.710%(derf); -0.561%(stdhd); -0.647%(youtube)
speedup:
9%(derf); 3%(stdhd); 5.7%(youtube)
t = 500, PSNR loss:
-1.687%(derf); -1.665%(stdhd); -1.664%(youtube)
speedup:
18%(derf); 10%(stdhd); 8%(youtube)
Change-Id: I180e3657c1e156aaa88dc7c437f8bcbd19f5caba
2013-12-13 10:47:14 -08:00
Jingning Han
8b73296d7b
Merge "Enable adaptive pred filter type for sub8x8"
2013-12-13 09:34:24 -08:00
Dmitry Kovalev
e121bf4c1d
Moving mi configuration loop from vp9_read_mode_info to set_offsets.
...
set_offsets() is a right place to configure all mi-related pointers.
Change-Id: I7d2fda72de5fc27e86c6589543b41fa044681dbf
2013-12-12 19:56:30 -08:00
James Zern
178db94cd6
vp9 asserts: fix compile warning
...
string literal to int within an assert
Change-Id: I0c889256b67a078e6e2a79577f0b7ae084243258
2013-12-12 19:49:19 -08:00
Jingning Han
3b5a90bd86
Enable adaptive pred filter type for sub8x8
...
This commit enables an adaptive prediction filter type selection
for sub8x8 block sizes. In speed 1, it re-uses the filter type of
collocated 8x8 block if it is tested in the rate-distortion optimization
loop, for the sub8x8 blocks. Otherwise, it runs the normal test
over all the three filter types. In speed 2, it re-uses the 8x8
block's prediction filter type, if available. Otherwise, force it
to be EIGHTTAP.
Compression and speed performance wise:
speed 1
derf -0.266%
yt -0.138%
bus at 2000 kbps: 33766ms -> 30451ms (10% speed-up)
football at 600 kbps: 48173ms -> 43786ms (9% speed-up)
speed 2
derf -0.026%
yt +0.134%
bus at 2000 kbps: 18973ms -> 17698ms (6% speed-up)
football at 600 kbps: 26748ms -> 25096ms (6% speed-up)
Change-Id: I77e097533b969fd3472147225fa79fc98095d342
2013-12-12 17:54:34 -08:00
Dmitry Kovalev
52bf93479c
zz_motion_search() cleanup.
...
Change-Id: I4991bc36e1627bd3a9495ca72c0738f1a937da2e
2013-12-12 11:18:17 -08:00
Dmitry Kovalev
629fb85f17
vp9_convole.c cleanup.
...
Making overall logic more clear, moving "hacked" calculation of base filter
array pointer to get_filter_base() function.
Change-Id: Ibbd38a9f937e48d35bbbfef3ad933ab36664cccb
2013-12-12 11:14:06 -08:00
Dmitry Kovalev
2a6c7a1a9b
Merge "Little cleanup in vp9_encode_block_intra()."
2013-12-11 17:58:02 -08:00
Deb Mukherjee
7edd5170b5
Merge "Changes interfaces to vp9_get_compressed_data fn"
2013-12-11 15:50:40 -08:00
Dmitry Kovalev
1b92ab0ecb
Little cleanup in vp9_encode_block_intra().
...
Change-Id: Ibfe04b920648e15bf7116f4fdc98960572a7007e
2013-12-11 15:26:45 -08:00
Dmitry Kovalev
efe5b28c09
Reusing nmv_frame_counts from FRAME_COUNTS in encoder.
...
Change-Id: Iadf2fcc9a5bfa5d02fc166f31963be1cc814831c
2013-12-11 15:16:10 -08:00
Jingning Han
a4ccfadcc2
Merge "Rename clamp_mv_min_max to set_mv_search_range"
2013-12-11 14:45:06 -08:00
Dmitry Kovalev
b8dc52f4a3
Cleaning up encode_sb() and encode_b() functions.
...
Trying to make encode_sb() more similar to write_modes_sb() and
decode_mode_sb() because essentially all branching logic should be the
same.
Change-Id: Ib7dec7b48fce29418142abad4d1dcfdb1c770735
2013-12-11 14:38:22 -08:00
Dmitry Kovalev
e79103166f
Merge "Renames for consistency in vp9_pred_common.{c, h} files."
2013-12-11 14:30:44 -08:00
Deb Mukherjee
e33855cc47
Changes interfaces to vp9_get_compressed_data fn
...
Silences some lint warnings in previous patches
Change-Id: I04bf47ebe7e63a95fd322719a3154e589c115d78
2013-12-11 14:22:51 -08:00
Jingning Han
9d6e7ce12d
Rename clamp_mv_min_max to set_mv_search_range
...
This function sets the motion search range limit. Rename it to be
more informative.
Change-Id: I2e8e01073dcb99c9bea9c9acd0a61d672d615444
2013-12-11 14:00:08 -08:00
Jingning Han
cf83dfb283
Merge "Enforce motion search range clamp for sub8x8"
2013-12-11 13:51:32 -08:00
hkuang
9460226acd
Merge "Fix valgrind error."
2013-12-11 13:22:32 -08:00
hkuang
1339f3842c
Fix valgrind error.
...
Temporarily change memcpy to memmove.
Change-Id: I700a197bc1ce496be1ddad7118429c5da465b0ca
2013-12-11 13:21:28 -08:00
Jingning Han
a67e654b6c
Enforce motion search range clamp for sub8x8
...
This commit constrains the maximal motion search range for sub8x8
blocks to be [-1023, 1023], in the unit of full pixel.
Change-Id: I955b60649364ab410f2453cafd46a496f2fcb43e
2013-12-11 10:59:27 -08:00
James Zern
345fbfef06
vp9 mt decode: reorder tile decode
...
reorder the tiles based on size and their presumed complexity. this
minimizes the cases where the main thread is waiting on a worker to
complete.
Change-Id: Ie80642c6a1d64ece884f41683d23a3708ab38e0c
2013-12-10 18:33:27 -08:00
Dmitry Kovalev
3274fc30ee
Renames for consistency in vp9_pred_common.{c, h} files.
...
Change-Id: Icba06e84ca55c419abbacedf5825eeb394a1b140
2013-12-10 18:31:46 -08:00
Dmitry Kovalev
021a15fe9f
Renaming treed_write() to vp9_write_tree().
...
Making name consistent with vp9_read_tree().
Change-Id: Ie213ffe0d5345bf3035f28e17f610894fec79205
2013-12-10 18:13:29 -08:00
Dmitry Kovalev
098d13ba10
Cleaning up vp9_append_sub8x8_mvs_for_idx().
...
Replacing if-else with switch statement, reordering function arguments.
Change-Id: I4825d2ef311ba8999b6d4ceb0eef003587a13434
2013-12-10 17:56:53 -08:00
Yaowu Xu
014b9c70f7
Merge "Fix a bug"
2013-12-10 16:06:42 -08:00
Dmitry Kovalev
1048a7e314
Merge "Cleaning up skip context calculation."
2013-12-10 15:00:22 -08:00
Dmitry Kovalev
bcee73f7ae
Merge "Cleaning up read_inter_block_mode_info() function."
2013-12-10 14:59:36 -08:00
Guillaume Martres
020a1e7006
Merge "avoid crash when using --best on cpus with SSE3 (but not SSE4) support"
2013-12-10 14:49:10 -08:00
Yaowu Xu
e0f82c6ed6
Fix a bug
...
In evaluating partition split case, Wrong partition size is used in
calling partition_plane_context(). This commit change to use the
correct sub partition size. The incorrect partition size used were
causing an ASAN error in unit test.
Change-Id: Iab695b764bc51cc61580075f2ae4001421132362
2013-12-10 14:34:32 -08:00
Dmitry Kovalev
2dd20e468a
Cleaning up skip context calculation.
...
Renames:
vp9_get_pred_context_mbskip => vp9_get_skip_context
vp9_get_pred_prob_mbskip => vp9_get_skip_prob
Change-Id: I2af499848ef73f3f5cd8cdb27852d0bcdfe31d09
2013-12-10 14:11:26 -08:00
Dmitry Kovalev
35b7b0b549
Merge "Removing unused vp9_get_pred_flag_mbskip() function."
2013-12-10 13:58:35 -08:00