Frank Galligan [Wed, 18 Dec 2013 01:34:36 +0000 (17:34 -0800)]
Increase required number of external frame buffers
Make applications pass in VPX_MAXIMUM_WORK_BUFFERS as well as
VP9_MAXIMUM_REF_BUFFERS.
Change-Id: I9c07ce83fa19c90ed43227b801b2013690e81edd
Frank Galligan [Tue, 17 Dec 2013 19:59:46 +0000 (11:59 -0800)]
Add external constants.
Change-Id: I8d329513c87bd8622306aba27c83bf04ef170fa4
James Zern [Mon, 16 Dec 2013 02:40:23 +0000 (18:40 -0800)]
{,vpx_scale}: normalize include guards
Change-Id: Ib8aafeee30d59521ee256dc1801e0db6b4b8a371
James Zern [Mon, 16 Dec 2013 02:36:00 +0000 (18:36 -0800)]
vpx_ports: normalize include guards
Change-Id: I4e931aadecfe1761c720b080bdd67a1875794979
James Zern [Mon, 16 Dec 2013 02:32:02 +0000 (18:32 -0800)]
vpx_mem: normalize include guards
Change-Id: Iac433b5823c572cfa79e5b6b839cd40b49c0389c
James Zern [Mon, 16 Dec 2013 02:26:15 +0000 (18:26 -0800)]
vpx: normalize include guards
Change-Id: Iee670353cffa1f9e97976ac507ad9519e5dda7f7
James Zern [Mon, 16 Dec 2013 02:25:05 +0000 (18:25 -0800)]
vp8/encoder: normalize include guards
Change-Id: I82834550503a43ff7ec8422342dc65136453b287
James Zern [Mon, 16 Dec 2013 02:21:07 +0000 (18:21 -0800)]
vp8/decoder: normalize include guards
Change-Id: Ifa7934927cc8461cd58ca0b05bf76533abd78cb6
James Zern [Mon, 16 Dec 2013 02:20:21 +0000 (18:20 -0800)]
vp8/common: normalize include guards
Change-Id: Ia8789a8f864e0edc0bf94f00f6430846f86911c3
James Zern [Mon, 16 Dec 2013 02:00:43 +0000 (18:00 -0800)]
vp9: normalize include guards
Change-Id: If4ddbdcfb3ab387cbca6910b42cf4df8111e6879
Johann [Tue, 17 Dec 2013 03:17:57 +0000 (19:17 -0800)]
Merge "Avoid mixed comparison"
Johann [Tue, 17 Dec 2013 03:17:43 +0000 (19:17 -0800)]
Merge "Add const to match declaration"
Johann [Tue, 17 Dec 2013 03:17:33 +0000 (19:17 -0800)]
Merge "Include files in the same directory directly"
Yaowu Xu [Tue, 17 Dec 2013 02:21:55 +0000 (18:21 -0800)]
Merge "Define POSITION to differentiate from MV"
Yaowu Xu [Tue, 17 Dec 2013 02:09:51 +0000 (18:09 -0800)]
Merge "Move two functions to encoder"
Jingning Han [Tue, 17 Dec 2013 01:57:02 +0000 (17:57 -0800)]
Merge "Fix rd_filter_cache update in sub8x8 RD loop"
Jingning Han [Tue, 17 Dec 2013 01:56:41 +0000 (17:56 -0800)]
Merge "Remove redefinition in handle_inter_mode"
Deb Mukherjee [Tue, 17 Dec 2013 01:40:30 +0000 (17:40 -0800)]
Merge "Rate control changes on active_worst_quality"
Yaowu Xu [Mon, 16 Dec 2013 20:56:08 +0000 (12:56 -0800)]
Define POSITION to differentiate from MV
MV struct was ussed to indicate the postition of a MI_BLOCK with row
and col components. The expression was confusing, this commit added a
new stucture "POSITION" with row and col component to better describe
the position of a mi_block.
Change-Id: I59fdd4b45010fe7d85a8db22a55503265c4f5b2b
Yaowu Xu [Mon, 16 Dec 2013 20:09:34 +0000 (12:09 -0800)]
Move two functions to encoder
As they are used by encoder only.
Change-Id: I7b1e6955b218aba66fe156523521a8121c9a84a4
Yaowu Xu [Tue, 17 Dec 2013 01:27:37 +0000 (17:27 -0800)]
Merge "Added a test vector"
Deb Mukherjee [Fri, 13 Dec 2013 17:32:05 +0000 (09:32 -0800)]
Rate control changes on active_worst_quality
Various cleanups and refactoring.
Removes feedback of active worst qaulity and uses last_q
instead to make the interface cleaner. Active worst quality
is now decided only once for a frame being coded in the
beginning based on last_q and other stats. Also, adds other
cleaups on last_q to store also the last_q for altref frames,
and reduces the altref interval a little.
The output does change a little.
derfraw300: +0.224% (global psnr)
stdhdraw250: +0.442% (global psnr)
Change-Id: Ie634cdc032697044c472dd0fe79c109b3e7f9767
Dmitry Kovalev [Tue, 17 Dec 2013 00:56:07 +0000 (16:56 -0800)]
Merge "Using MV struct instead of int_mv union in encoder (2)."
Yaowu Xu [Mon, 16 Dec 2013 19:23:16 +0000 (11:23 -0800)]
Added a test vector
The added vector was encoded with aq mode on, with the intent to
exercise the decode code around segment feature.
Change-Id: Iedcb7261e87d3e11b25ecf031d3a69385271148e
Johann [Mon, 16 Dec 2013 23:16:15 +0000 (15:16 -0800)]
Avoid mixed comparison
Silences warning C4018: '>' : signed/unsigned mismatch
Change-Id: I07d34060043e8ada7d995ea6dc8276cb881c7d95
Johann [Mon, 16 Dec 2013 22:37:07 +0000 (14:37 -0800)]
Add const to match declaration
The definition fell out of sync in
I7d2fda72de5fc27e86c6589543b41fa044681dbf
Change-Id: I3ce3f6ba96bb121f51efaa08f64a69ad9f731a9e
Johann [Mon, 16 Dec 2013 21:15:26 +0000 (13:15 -0800)]
Include files in the same directory directly
Change-Id: I56706a8326d9356a6735d13eb5e0832d04221c91
Dmitry Kovalev [Mon, 16 Dec 2013 23:10:25 +0000 (15:10 -0800)]
Merge "Getting rid of b_{width, height}_log2 calls in non-420 loop filter."
Jingning Han [Mon, 16 Dec 2013 22:38:45 +0000 (14:38 -0800)]
Fix rd_filter_cache update in sub8x8 RD loop
Properly handle the rd_filter_cache update, when early termination
or skip prediction filter type check is triggered.
Change-Id: Ie7b9a75fed3358f45ffd15817f2b36670c14eb2d
hkuang [Mon, 16 Dec 2013 22:48:54 +0000 (14:48 -0800)]
Merge "Remove border extension in intra frame prediction."
Dmitry Kovalev [Mon, 16 Dec 2013 22:10:52 +0000 (14:10 -0800)]
Merge "Yet another vp9_pred_common.c cleanup."
Dmitry Kovalev [Mon, 16 Dec 2013 22:10:13 +0000 (14:10 -0800)]
Merge "Reusing nmv_frame_counts from FRAME_COUNTS in encoder."
hkuang [Fri, 13 Dec 2013 04:33:06 +0000 (20:33 -0800)]
Remove border extension in intra frame prediction.
Change-Id: Id677df4d3dbbed6fdf7319ca6464f19cf32c8176
Dmitry Kovalev [Mon, 16 Dec 2013 20:21:38 +0000 (12:21 -0800)]
Merge "Cleaning up encode_sb() and encode_b() functions."
Dmitry Kovalev [Mon, 16 Dec 2013 19:41:36 +0000 (11:41 -0800)]
Merge "Removing unnecessary assert(delta != 0) from encode_loopfilter()."
Deb Mukherjee [Mon, 16 Dec 2013 17:29:37 +0000 (09:29 -0800)]
Change in data rate test to be less stringent
Makes the thresholds for bitrate control more leniant to
prevent test failures.
Change-Id: I535c1565174a8a46493b033531eb40360def883b
Frank Galligan [Wed, 11 Dec 2013 01:22:41 +0000 (17:22 -0800)]
Add frame buffer lru cache.
Add an option for libvpx to return the least recently used
frame buffer.
Change-Id: I886a96ffb94984f1c42de53086e0131922df3260
Frank Galligan [Mon, 16 Dec 2013 03:18:25 +0000 (19:18 -0800)]
Merge "Add support to pass in external frame buffers."
Frank Galligan [Wed, 11 Dec 2013 17:06:35 +0000 (09:06 -0800)]
Add support to pass in external frame buffers.
VP9 decoder can now use frame buffers passed in by the application.
Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
Dmitry Kovalev [Sun, 15 Dec 2013 01:39:24 +0000 (17:39 -0800)]
Yet another vp9_pred_common.c cleanup.
Change-Id: I617d6c610d181076773c5c3d6f3dbc6717b02580
James Zern [Sat, 14 Dec 2013 03:03:08 +0000 (19:03 -0800)]
webmdec/tests: fix leak when file isn't read to eof
the nestegg packet was only freed by subsequent reads
Change-Id: Ib687a13907861c7575830783e47a596d85169cf1
Dmitry Kovalev [Sat, 14 Dec 2013 02:05:15 +0000 (18:05 -0800)]
Removing unnecessary assert(delta != 0) from encode_loopfilter().
Change-Id: I8ae093d0b61d71d3c294b95d98d0178f7f67c8f6
Dmitry Kovalev [Sat, 14 Dec 2013 01:20:40 +0000 (17:20 -0800)]
Using MV struct instead of int_mv union in encoder (2).
Change-Id: I068345f722a7116e3119927295ad23a28d3066a0
Dmitry Kovalev [Sat, 14 Dec 2013 00:42:54 +0000 (16:42 -0800)]
Merge "Using MV struct instead of int_mv union in encoder."
Dmitry Kovalev [Fri, 13 Dec 2013 23:40:00 +0000 (15:40 -0800)]
Merge "vp9_convole.c cleanup."
Dmitry Kovalev [Fri, 13 Dec 2013 23:38:53 +0000 (15:38 -0800)]
Merge "Cleaning up vp9_append_sub8x8_mvs_for_idx()."
Dmitry Kovalev [Fri, 13 Dec 2013 23:24:48 +0000 (15:24 -0800)]
Using MV struct instead of int_mv union in encoder.
Change-Id: I8b81a3e4b4fa530a654c28d9c136afa0c1d379fd
Yunqing Wang [Fri, 13 Dec 2013 23:11:17 +0000 (15:11 -0800)]
Merge "Increase disable_filter_search_var_thresh threshold"
Jingning Han [Fri, 13 Dec 2013 20:58:49 +0000 (12:58 -0800)]
Remove redefinition in handle_inter_mode
Change-Id: I44513b9db6d42e2c52723e1a429f06a93d300c8b
Dmitry Kovalev [Fri, 13 Dec 2013 20:53:41 +0000 (12:53 -0800)]
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
James Zern [Fri, 13 Dec 2013 20:47:19 +0000 (12:47 -0800)]
Merge "obj_int_extract: fix compile warning"
James Zern [Fri, 13 Dec 2013 20:41:31 +0000 (12:41 -0800)]
Merge "vp9 asserts: fix compile warning"
Jingning Han [Fri, 13 Dec 2013 20:14:48 +0000 (12:14 -0800)]
Merge "Rename so -> scan_order in vp9_encodemb.c"
Dmitry Kovalev [Fri, 13 Dec 2013 19:19:04 +0000 (11:19 -0800)]
Merge "Renaming treed_write() to vp9_write_tree()."
Dmitry Kovalev [Fri, 13 Dec 2013 19:18:13 +0000 (11:18 -0800)]
Merge "zz_motion_search() cleanup."
Dmitry Kovalev [Fri, 13 Dec 2013 19:16:59 +0000 (11:16 -0800)]
Merge "Moving mi configuration loop from vp9_read_mode_info to set_offsets."
Jingning Han [Fri, 13 Dec 2013 19:10:39 +0000 (11:10 -0800)]
Merge "Remove some dead code"
Jingning Han [Fri, 13 Dec 2013 19:05:26 +0000 (11:05 -0800)]
Rename so -> scan_order in vp9_encodemb.c
Change-Id: I7ff2899ea18a55b37f5c581431ef59806f01e009
Yunqing Wang [Fri, 13 Dec 2013 17:59:02 +0000 (09:59 -0800)]
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
Adrian Grange [Fri, 13 Dec 2013 18:30:46 +0000 (10:30 -0800)]
Merge "Set rc_2pass_vbr_maxsection_pct to correct value"
Jingning Han [Fri, 13 Dec 2013 17:34:24 +0000 (09:34 -0800)]
Merge "Enable adaptive pred filter type for sub8x8"
Adrian Grange [Fri, 13 Dec 2013 16:48:12 +0000 (08:48 -0800)]
Set rc_2pass_vbr_maxsection_pct to correct value
Corrected a typo that set rc_2pass_vbr_minsection_pct to
two different values on consecutive lines. Second line
should have set rc_2pass_vbr_maxsection_pct.
Change-Id: Ie07ac67cd5455afe556bef34da8127304db9c97c
Dmitry Kovalev [Fri, 13 Dec 2013 03:56:30 +0000 (19:56 -0800)]
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
James Zern [Fri, 13 Dec 2013 03:44:08 +0000 (19:44 -0800)]
vp9 asserts: fix compile warning
string literal to int within an assert
Change-Id: I0c889256b67a078e6e2a79577f0b7ae084243258
James Zern [Fri, 13 Dec 2013 03:43:01 +0000 (19:43 -0800)]
obj_int_extract: fix compile warning
string literals should be returned as const char*
Change-Id: Iaab98711ed22f9c6eff1ca922c0576a1ff93a58f
Jingning Han [Fri, 13 Dec 2013 01:31:04 +0000 (17:31 -0800)]
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
James Zern [Thu, 12 Dec 2013 19:57:10 +0000 (11:57 -0800)]
Merge "test-data.sha1: add missing sha1sums"
Dmitry Kovalev [Thu, 12 Dec 2013 19:18:17 +0000 (11:18 -0800)]
zz_motion_search() cleanup.
Change-Id: I4991bc36e1627bd3a9495ca72c0738f1a937da2e
Dmitry Kovalev [Thu, 12 Dec 2013 19:14:06 +0000 (11:14 -0800)]
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
Frank Galligan [Thu, 12 Dec 2013 16:36:34 +0000 (08:36 -0800)]
Cleanup copyright headers.
Change-Id: I7ff2b18e085f3fffaa7f25d40e4e50427b808f43
Frank Galligan [Thu, 12 Dec 2013 16:28:48 +0000 (08:28 -0800)]
Merge "Move test vector list into a separate header."
Frank Galligan [Thu, 12 Dec 2013 16:26:43 +0000 (08:26 -0800)]
Merge "Add pre decode frame hook to decoder test class."
Frank Galligan [Wed, 11 Dec 2013 17:01:47 +0000 (09:01 -0800)]
Move test vector list into a separate header.
Change-Id: I36f9033492f12fda7f9ce0e7a97a009aab9aab57
James Zern [Thu, 12 Dec 2013 03:19:39 +0000 (19:19 -0800)]
test-data.sha1: add missing sha1sums
vp90-2-02-size-lf-1920x1080.webm{,.md5} were added in:
ebb583d Add a test vector for loopfilter
Change-Id: I021808338935932cb742ea2621b94f44f22e3037
Dmitry Kovalev [Thu, 12 Dec 2013 01:58:02 +0000 (17:58 -0800)]
Merge "Little cleanup in vp9_encode_block_intra()."
Deb Mukherjee [Wed, 11 Dec 2013 23:50:40 +0000 (15:50 -0800)]
Merge "Changes interfaces to vp9_get_compressed_data fn"
Dmitry Kovalev [Wed, 11 Dec 2013 23:26:45 +0000 (15:26 -0800)]
Little cleanup in vp9_encode_block_intra().
Change-Id: Ibfe04b920648e15bf7116f4fdc98960572a7007e
Dmitry Kovalev [Wed, 11 Dec 2013 23:16:10 +0000 (15:16 -0800)]
Reusing nmv_frame_counts from FRAME_COUNTS in encoder.
Change-Id: Iadf2fcc9a5bfa5d02fc166f31963be1cc814831c
Jingning Han [Wed, 11 Dec 2013 22:45:06 +0000 (14:45 -0800)]
Merge "Rename clamp_mv_min_max to set_mv_search_range"
Dmitry Kovalev [Wed, 11 Dec 2013 22:38:22 +0000 (14:38 -0800)]
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
Dmitry Kovalev [Wed, 11 Dec 2013 22:30:44 +0000 (14:30 -0800)]
Merge "Renames for consistency in vp9_pred_common.{c, h} files."
Yaowu Xu [Wed, 11 Dec 2013 22:26:11 +0000 (14:26 -0800)]
Merge "Reduce the number of frames used in lossless test"
Deb Mukherjee [Fri, 6 Dec 2013 01:20:01 +0000 (17:20 -0800)]
Changes interfaces to vp9_get_compressed_data fn
Silences some lint warnings in previous patches
Change-Id: I04bf47ebe7e63a95fd322719a3154e589c115d78
Jingning Han [Wed, 11 Dec 2013 21:59:10 +0000 (13:59 -0800)]
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
Jingning Han [Wed, 11 Dec 2013 21:51:32 +0000 (13:51 -0800)]
Merge "Enforce motion search range clamp for sub8x8"
Yaowu Xu [Wed, 11 Dec 2013 21:45:07 +0000 (13:45 -0800)]
Reduce the number of frames used in lossless test
Change-Id: I976f70b640b06f20533ad29578a5b2acca134fd4
hkuang [Wed, 11 Dec 2013 21:22:32 +0000 (13:22 -0800)]
Merge "Fix valgrind error."
hkuang [Wed, 11 Dec 2013 20:11:57 +0000 (12:11 -0800)]
Fix valgrind error.
Temporarily change memcpy to memmove.
Change-Id: I700a197bc1ce496be1ddad7118429c5da465b0ca
James Zern [Wed, 11 Dec 2013 21:16:41 +0000 (13:16 -0800)]
Merge "vp8: remove 2 unused tables"
Adrian Grange [Wed, 11 Dec 2013 20:50:04 +0000 (12:50 -0800)]
Merge "Fix the printf format string"
Jingning Han [Wed, 11 Dec 2013 18:57:15 +0000 (10:57 -0800)]
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
Adrian Grange [Wed, 11 Dec 2013 18:44:50 +0000 (10:44 -0800)]
Fix the printf format string
There were two problems with the format string in
the conditionally compiled print statement. It referred
to a variable that is no longer available and it used
incorrect format specifiers.
Change-Id: I315e22bea2691bb535a2e33f5ca206fc55287a37
Frank Galligan [Tue, 10 Dec 2013 01:07:10 +0000 (17:07 -0800)]
Add pre decode frame hook to decoder test class.
Adds a hook that derived test classes can implement to be notified
before every call to decode a frame.
Change-Id: Iefa836459cf3e5d7df9ee27f8198daf82b1be088
James Zern [Wed, 11 Dec 2013 05:13:21 +0000 (21:13 -0800)]
vp8: remove 2 unused tables
Change-Id: Ib5ba4e0b438107741efa28251848306322fd7f89
James Zern [Thu, 5 Dec 2013 23:42:47 +0000 (15:42 -0800)]
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
Dmitry Kovalev [Wed, 11 Dec 2013 02:31:46 +0000 (18:31 -0800)]
Renames for consistency in vp9_pred_common.{c, h} files.
Change-Id: Icba06e84ca55c419abbacedf5825eeb394a1b140
Dmitry Kovalev [Wed, 11 Dec 2013 02:13:29 +0000 (18:13 -0800)]
Renaming treed_write() to vp9_write_tree().
Making name consistent with vp9_read_tree().
Change-Id: Ie213ffe0d5345bf3035f28e17f610894fec79205
Dmitry Kovalev [Wed, 11 Dec 2013 01:56:53 +0000 (17:56 -0800)]
Cleaning up vp9_append_sub8x8_mvs_for_idx().
Replacing if-else with switch statement, reordering function arguments.
Change-Id: I4825d2ef311ba8999b6d4ceb0eef003587a13434
Yaowu Xu [Wed, 11 Dec 2013 00:06:42 +0000 (16:06 -0800)]
Merge "Fix a bug"
Dmitry Kovalev [Tue, 10 Dec 2013 23:00:22 +0000 (15:00 -0800)]
Merge "Cleaning up skip context calculation."