Jingning Han [Sun, 5 May 2013 05:09:43 +0000 (22:09 -0700)]
Merge SB8X8 into the codebase
Pull sb8x8 out of experimental list. verified via borg run tests.
Fixed unit test failures.
Change-Id: I12a4bbd17395930580c048ab68becad1ffe46e76
Jingning Han [Tue, 7 May 2013 05:28:04 +0000 (22:28 -0700)]
Merge "Fix tile independency issue in sb8x8" into experimental
John Koleszar [Tue, 7 May 2013 05:20:11 +0000 (22:20 -0700)]
Merge "Remove heap alloc of FIRSTPASS_STATS" into experimental
John Koleszar [Tue, 7 May 2013 05:20:00 +0000 (22:20 -0700)]
Merge "Y4M input support for 4:2:2, 4:4:4, 4:4:4:4" into experimental
Jingning Han [Tue, 7 May 2013 04:53:00 +0000 (21:53 -0700)]
Fix tile independency issue in sb8x8
Resolved the unit test failure on tile independence when sb8x8
enabled.
Change-Id: I23ca86c88170e49ca160e8e897d913905e6080ce
Dmitry Kovalev [Tue, 7 May 2013 00:17:18 +0000 (17:17 -0700)]
Merge "Adding model_rd_for_sb function." into experimental
John Koleszar [Mon, 6 May 2013 21:42:47 +0000 (14:42 -0700)]
Merge "Removing 3 unused bits from bitstream." into experimental
John Koleszar [Mon, 6 May 2013 21:07:18 +0000 (14:07 -0700)]
Remove heap alloc of FIRSTPASS_STATS
There is only one instance of these structures, no need for them
to be allocated separately on the heap.
Change-Id: I1333cc92d06bbe21be643c2b2f0e3936f0264cac
John Koleszar [Mon, 6 May 2013 18:01:35 +0000 (11:01 -0700)]
Y4M input support for 4:2:2, 4:4:4, 4:4:4:4
Adds a new experiment CONFIG_NON420 that allows other chroma subsamplings
to be passed to the codec. This commit allows the data to be passed from
a y4m input file through vpxenc to the codec, where they're currently
rejected. Later commits will finish support for this inside the codec.
Change-Id: Ib3aac604d8cad9e24cef395fa1067f16ba7e8e43
Dmitry Kovalev [Mon, 6 May 2013 21:00:58 +0000 (14:00 -0700)]
Removing 3 unused bits from bitstream.
Change-Id: I9cd21c5c9107d6197caab6949700b29c51658af3
Dmitry Kovalev [Mon, 6 May 2013 19:42:53 +0000 (12:42 -0700)]
Adding model_rd_for_sb function.
Iterating over all planes in the loop instead of custom y,uv code inside
handle_inter_mode function.
Change-Id: I301f9276d6d544c2fd7203d84f1318ac80ea625d
James Zern [Mon, 6 May 2013 18:45:03 +0000 (11:45 -0700)]
test/tile_independence_test: check decode return
abort on failure
Change-Id: I52882613e466ae57e1ed7f10ca64e25b9724fb61
Johann [Mon, 6 May 2013 18:04:04 +0000 (11:04 -0700)]
Merge "Automatically flag intrinsic files" into experimental
Jingning Han [Mon, 6 May 2013 17:25:38 +0000 (10:25 -0700)]
Fix a unit test failure of sb8x8 on scaling ref
Disable the use of scaled reference frame for motion search in
SPLITMV mode. This fixes the unit test failure issue triggered
when merging sb8x8 from experimental list.
Change-Id: I02ac25fd8db8d5762f8fee29513b947189875fa0
Ronald S. Bultje [Sat, 4 May 2013 22:49:41 +0000 (15:49 -0700)]
Fix first-pass intra4x4 for sb8x8 experiment.
Change-Id: I1df17f45721c690d157800daa6a0b377e3d32bc2
James Zern [Sat, 4 May 2013 02:01:44 +0000 (19:01 -0700)]
Merge "fix permissions on cpplint.py (0644->0755)" into experimental
James Zern [Sat, 4 May 2013 01:59:37 +0000 (18:59 -0700)]
fix permissions on cpplint.py (0644->0755)
Change-Id: Ief419d894efbd89b6aa2451e47d8ed03cb9fb21e
Ronald S. Bultje [Sat, 4 May 2013 01:03:06 +0000 (18:03 -0700)]
Merge "Fix overflow in RD error calculation code." into experimental
John Koleszar [Sat, 4 May 2013 00:29:55 +0000 (17:29 -0700)]
Merge "Remove old_block_idx_4x4" into experimental
John Koleszar [Sat, 4 May 2013 00:23:56 +0000 (17:23 -0700)]
Merge "update cpplint" into experimental
John Koleszar [Fri, 3 May 2013 17:24:11 +0000 (10:24 -0700)]
Remove old_block_idx_4x4
Removes several instances where the old block numbering was
still in use.
Change-Id: Id35130591455a4abe6844613e45c0b70c1220c08
John Koleszar [Sat, 4 May 2013 00:19:01 +0000 (17:19 -0700)]
Merge "Separate transform and quant from vp9_encode_sb" into experimental
James Zern [Fri, 3 May 2013 23:28:27 +0000 (16:28 -0700)]
Merge "configure: special case flag test for clang" into experimental
Johann [Wed, 1 May 2013 01:22:10 +0000 (18:22 -0700)]
Automatically flag intrinsic files
Change-Id: Iee9894615265d42aa23c43a4183924953aedb0c6
James Zern [Fri, 3 May 2013 21:34:13 +0000 (14:34 -0700)]
configure: use .cc as c++ extension
clang++ will warn causing flag check failures when using -Werror
Change-Id: Ib7157140a7af2cf5bc41f86ea9ff8d9527f30414
James Zern [Fri, 3 May 2013 21:00:33 +0000 (14:00 -0700)]
configure: special case flag test for clang
(while still abusing the gcc targets)
Change-Id: I40f33f619ed1ee760caf23f5598587b30cf8a9ed
James Zern [Fri, 3 May 2013 19:54:50 +0000 (12:54 -0700)]
update cpplint
latest from (r103):
http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py
Change-Id: I474bf11e0f08115d5e579c92f43577978960d4ed
John Koleszar [Fri, 3 May 2013 00:05:14 +0000 (17:05 -0700)]
Separate transform and quant from vp9_encode_sb
This allows removing a large number of transform size specific functions,
as well as supporting 444/alpha by routing all code through the
subsampling-aware path.
Change-Id: Ieb085cebe9f37f24fc24de179898b22abfda08a4
James Zern [Fri, 3 May 2013 18:27:45 +0000 (11:27 -0700)]
Merge "vp9/count_segs: fix out of bounds read" into experimental
Ronald S. Bultje [Fri, 3 May 2013 17:33:07 +0000 (10:33 -0700)]
Fix overflow in RD error calculation code.
Change-Id: I61ef1f198c876f9f79787ea7d7385a862cfbae19
John Koleszar [Fri, 3 May 2013 17:26:53 +0000 (10:26 -0700)]
Merge "Create common vp9_encode_sb{,y}" into experimental
Adrian Grange [Fri, 3 May 2013 16:59:54 +0000 (09:59 -0700)]
Merge "Extend number of reference buffers to 8." into experimental
Adrian Grange [Thu, 2 May 2013 23:41:19 +0000 (16:41 -0700)]
Extend number of reference buffers to 8.
The number of reference buffers is extended to 8 and
a reference sign-bias added for the LAST_FRAME.
Whilst the number of reference buffers used by an
individual frame remains unchanged at 3, these may
now be selected from 8 possible buffers.
Change-Id: I2d247b9c1c2b3a339d6c9fac125e81ba373f75a7
Scott LaVarnway [Fri, 3 May 2013 14:34:29 +0000 (07:34 -0700)]
Merge "Removed is_inter_mode() check" into experimental
Scott LaVarnway [Fri, 3 May 2013 14:30:31 +0000 (07:30 -0700)]
Merge "Reduced y_dequant, uv_dequant size" into experimental
Ronald S. Bultje [Fri, 3 May 2013 04:03:38 +0000 (21:03 -0700)]
Fix use of wrong rate/distortion variables in 16x8 r/d check.
Change-Id: Ib5961b4c8ca84d54c84b2651a4e0317c72fe7da4
Dmitry Kovalev [Fri, 3 May 2013 03:48:36 +0000 (20:48 -0700)]
Merge "Removing MAXF macro and using MAX instead." into experimental
James Zern [Fri, 3 May 2013 02:32:03 +0000 (19:32 -0700)]
Merge changes Ifea8618a,I014b832a into experimental
* changes:
convolve_test: cosmetics
convolve_test: remove unnecessary memset
James Zern [Thu, 2 May 2013 20:08:19 +0000 (13:08 -0700)]
convolve_test: cosmetics
fix indent, whitespace, casts
Change-Id: Ifea8618a90f9da263a8955dd242bb3aa7fc59ae5
James Zern [Fri, 3 May 2013 02:11:28 +0000 (19:11 -0700)]
vp9/count_segs: fix out of bounds read
don't access mi until mi_{row,col} validation has been done
Change-Id: Ie1be052612cfccb2730dff9281c222bca28bf2c6
John Koleszar [Fri, 3 May 2013 01:53:27 +0000 (18:53 -0700)]
Merge "superframe_test: use delete[] where appropriate" into experimental
James Zern [Fri, 3 May 2013 01:14:38 +0000 (18:14 -0700)]
superframe_test: use delete[] where appropriate
Change-Id: Id374267c93a7e14e985b8079833364c8eff5248b
Ronald S. Bultje [Thu, 2 May 2013 23:40:57 +0000 (16:40 -0700)]
Fix 16x16-iteration indexing bug in main encode_sb_row loop.
With this, encoder/decoder appear to match with sb8x8 experiment.
Needs some larger-scale testing.
Change-Id: I44d3cac37b3c98264985ed0a0fc763c30089aa64
Jingning Han [Thu, 2 May 2013 21:38:01 +0000 (14:38 -0700)]
Fix state update in sb8x8 rate-distortion loop
Update mode_info of 8x8 blocks within the scope of current block.
Change-Id: I110c599e60664a5acde6afd919b107cea8419a0d
Jingning Han [Thu, 2 May 2013 21:32:57 +0000 (14:32 -0700)]
Merge "Cache splitmv motion vectors appropriately in decoder." into experimental
John Koleszar [Tue, 30 Apr 2013 18:29:27 +0000 (11:29 -0700)]
Create common vp9_encode_sb{,y}
Creates a common encode (subtract, transform, quantize, optimize,
inverse transform, reconstruct) function for all sb sizes, including
the old 16x16 path.
Change-Id: I964dff1ea7a0a5c378046a069ad83495f54df007
Ronald S. Bultje [Thu, 2 May 2013 20:56:06 +0000 (13:56 -0700)]
Merge "Fix i4x4 mode reading and writing in sb8x8 bitstream." into experimental
Ronald S. Bultje [Thu, 2 May 2013 20:55:08 +0000 (13:55 -0700)]
Cache splitmv motion vectors appropriately in decoder.
This fixes some problems in splitmv-related bitstream parsing in the
sb8x8 experiment.
Change-Id: Id168f9ec9c88626877d8f536e6f394b6f4f782e4
Ronald S. Bultje [Thu, 2 May 2013 20:00:33 +0000 (13:00 -0700)]
Fix i4x4 mode reading and writing in sb8x8 bitstream.
Don't allow i4x4 except for sb8x8 recursion step. Read only 4 (not 16)
i4x4 submodes if we are i4x4.
Change-Id: Iaaaced1a134006b2c96eed66f014300eae41e0ed
Ronald S. Bultje [Thu, 2 May 2013 19:35:59 +0000 (12:35 -0700)]
Merge "Set transform size correctly for non-tx_select splitmv/i4x4_pred." into experimental
James Zern [Thu, 2 May 2013 19:29:34 +0000 (12:29 -0700)]
convolve_test: remove unnecessary memset
input_ is filled with random values just afterward.
the size was wrong anyway as input_ is allocated with memalign so
sizeof(input_)==sizeof(uint8_t*)
Change-Id: I014b832ac60960cd22b6f369dbc9fd648d4055b5
Ronald S. Bultje [Thu, 2 May 2013 19:26:00 +0000 (12:26 -0700)]
Set transform size correctly for non-tx_select splitmv/i4x4_pred.
Fixes mismatch in keyframes with sb8x8 experiment enabled.
Change-Id: Id44c25e1cd32be5c6543ed8cd840a5b0c8e726f1
Dmitry Kovalev [Thu, 2 May 2013 18:57:16 +0000 (11:57 -0700)]
Removing MAXF macro and using MAX instead.
Change-Id: I51c53692b1150005645bf362c5e5a8275178a8fd
Ronald S. Bultje [Thu, 2 May 2013 18:10:07 +0000 (11:10 -0700)]
Merge "Fix intra4x4 decoder reconstruction stride for sb8x8 experiment." into experimental
Ronald S. Bultje [Thu, 2 May 2013 18:00:35 +0000 (11:00 -0700)]
Fix intra4x4 decoder reconstruction stride for sb8x8 experiment.
Change-Id: I5a886a6fa19086629a274f9ada7a862fd0ddf62f
Ronald S. Bultje [Thu, 2 May 2013 17:53:51 +0000 (10:53 -0700)]
Merge "Always initialize values in sb/mb_partitioning." into experimental
Scott LaVarnway [Thu, 2 May 2013 17:44:33 +0000 (13:44 -0400)]
Removed is_inter_mode() check
If a reference frame is inter, the only valid modes would
be inter modes. This check is unnecessary.
Change-Id: Ib8433ab5a3418f94149ee4e3062d48d7740d225a
Dmitry Kovalev [Thu, 2 May 2013 17:40:58 +0000 (10:40 -0700)]
Merge "Using treed_read/treed_write functions for segment ids." into experimental
Ronald S. Bultje [Thu, 2 May 2013 17:34:37 +0000 (10:34 -0700)]
Always initialize values in sb/mb_partitioning.
This doesn't affect the output, because in previous cases where the
values were uninitialized, this was because the mb_row/col is outside
the codable area, and thus encode_sb will test them for the next
decomposition-level, but return right after that on size-check. All
this does is prevent a warning in valgrind.
Change-Id: I90d8a29e6f8ebb2b0143684e08fe77ae3a0816b1
Ronald S. Bultje [Thu, 2 May 2013 17:15:24 +0000 (10:15 -0700)]
Fix right-edge availability for intra prediction in sb8x8.
Fixes valgrind uninitialized value use warnings.
Change-Id: Ie9314d684e2ad194f8aca5bde1729fb9b7c0221d
Ronald S. Bultje [Thu, 2 May 2013 16:08:33 +0000 (09:08 -0700)]
Merge "Fix some more offset errors in sb8x8." into experimental
Jingning Han [Thu, 2 May 2013 16:04:28 +0000 (09:04 -0700)]
Merge "Fix bug in sb8x8 partition context" into experimental
Ronald S. Bultje [Thu, 2 May 2013 14:54:18 +0000 (07:54 -0700)]
Fix some more offset errors in sb8x8.
Change-Id: I83677227f7610fdf2db9f15f87fecd4d8e072427
Ronald S. Bultje [Thu, 2 May 2013 14:11:36 +0000 (07:11 -0700)]
Merge "Fix block reconstruction with sb8x8 enabled." into experimental
Jingning Han [Thu, 2 May 2013 05:26:08 +0000 (22:26 -0700)]
Fix bug in sb8x8 partition context
Fix the issue that causes array bound excess in getting partition
context.
Change-Id: I66166f047f0bcaefebb0bcf441c5b1f777d8da44
Jingning Han [Thu, 2 May 2013 03:52:07 +0000 (20:52 -0700)]
Merge "Fix bugs in sb8x8 experiment/context prob update" into experimental
Ronald S. Bultje [Thu, 2 May 2013 02:28:17 +0000 (19:28 -0700)]
Fix block reconstruction with sb8x8 enabled.
The encoder reconstruction is now correct. Decoder to follow shortly.
Change-Id: Iedf98cdaebb4ca1256c7714cad7024a75853ad6a
Ronald S. Bultje [Thu, 2 May 2013 02:26:26 +0000 (19:26 -0700)]
Merge "Fix bug in sb8x8 bitstream decoding." into experimental
Ronald S. Bultje [Thu, 2 May 2013 00:26:46 +0000 (17:26 -0700)]
Merge "Store splitmv modes in context after 8x8 rd loop." into experimental
Ronald S. Bultje [Wed, 1 May 2013 21:50:39 +0000 (14:50 -0700)]
Fix bug in sb8x8 bitstream decoding.
Change-Id: I7ac69a369851b09d9422f2e3c62b12b3fcd49a4c
Ronald S. Bultje [Wed, 1 May 2013 21:43:33 +0000 (14:43 -0700)]
Store splitmv modes in context after 8x8 rd loop.
Change-Id: I07aa89a67e0ac5f99ef0c448553dbc46b0ed27f2
Jingning Han [Wed, 1 May 2013 21:35:07 +0000 (14:35 -0700)]
Fix bugs in sb8x8 experiment/context prob update
Fix bugs occur in contextual partition probability update, when
sb8x8 is enabled.
Change-Id: I19e2cec8a54c2dafd2be2803bbfde7337a2ae45f
Johann [Wed, 1 May 2013 22:13:42 +0000 (15:13 -0700)]
Merge "Remove unused quantize optimizations." into experimental
James Zern [Wed, 1 May 2013 21:58:36 +0000 (14:58 -0700)]
Merge "Change to fourcc to enable decoding of ffmpeg files." into experimental
Ronald S. Bultje [Wed, 1 May 2013 21:45:27 +0000 (14:45 -0700)]
Fix some crashes in sb8x8 experiment.
Change-Id: I390bb1cedc835f439fd5dd6cda6572b29cbb139c
Jingning Han [Wed, 1 May 2013 20:48:14 +0000 (13:48 -0700)]
Merge "Enable bit-stream support to SB8X8" into experimental
Scott LaVarnway [Wed, 1 May 2013 20:25:10 +0000 (16:25 -0400)]
Reduced y_dequant, uv_dequant size
Currently, only two values are used. Removed the unused
values.
Change-Id: Idc5b8be354d84ffc68df39ea3e45f9f50d977b35
Jingning Han [Wed, 1 May 2013 16:43:59 +0000 (09:43 -0700)]
Enable bit-stream support to SB8X8
This commit enables bit-stream writing and reading for recursive
partition down to block 8x8.
Change-Id: I163cd48d191cc94ead49cbb7fc91374f6bf204e2
Dmitry Kovalev [Wed, 1 May 2013 19:04:21 +0000 (12:04 -0700)]
Merge "Adding vp9_get_qindex function." into experimental
John Koleszar [Wed, 1 May 2013 04:43:26 +0000 (21:43 -0700)]
Merge "Make vp9_optimize_sb* common" into experimental
John Koleszar [Tue, 30 Apr 2013 16:54:51 +0000 (09:54 -0700)]
Make vp9_optimize_sb* common
Unify the various vp9_optimize_sb functions into one that handles all
transform sizes.
Change-Id: I48b642fbfb3e72cc2e0bcf1d0317a80a80547882
Jingning Han [Tue, 30 Apr 2013 19:08:32 +0000 (12:08 -0700)]
Migrating MB decoding into decode_sb/atom
The decode_mb only carries I8X8_PRED decoding, which will be covered
by the regular MB intra modes when SB8X8 is on. To be removed later.
Change-Id: I3b9ee55917a30b42518b81987bc10c22b1a19e7f
Johann [Wed, 1 May 2013 01:42:05 +0000 (18:42 -0700)]
Remove unused quantize optimizations.
Files were copied from vp8 and never maintained.
Change-Id: I9659a8755985da73e8c19c3c984423b6666d8871
Dmitry Kovalev [Wed, 1 May 2013 00:49:55 +0000 (17:49 -0700)]
Merge "Cleaning up encoder segmentation code." into experimental
Ronald S. Bultje [Wed, 1 May 2013 00:41:57 +0000 (17:41 -0700)]
Merge "Use more restrictive block radius for 8x8 block MV references." into experimental
Ronald S. Bultje [Wed, 1 May 2013 00:34:02 +0000 (17:34 -0700)]
Use more restrictive block radius for 8x8 block MV references.
Change-Id: If02e006aa8a89da9de23da92362bd2e7718ea07c
Ronald S. Bultje [Wed, 1 May 2013 00:29:46 +0000 (17:29 -0700)]
Merge "sb8x8 integration in rd loop." into experimental
Ronald S. Bultje [Tue, 30 Apr 2013 23:13:20 +0000 (16:13 -0700)]
sb8x8 integration in rd loop.
Work-in-progress, not yet ready for review. TODO items:
- bitstream writing (encoder) and reading (decoder)
- decoder reconstruction
Change-Id: I5afb7284e7e0480847b47cd0097cb469433c9081
John Koleszar [Tue, 30 Apr 2013 22:34:58 +0000 (15:34 -0700)]
Merge "Expand UMV border to 96 pixels" into experimental
Dmitry Kovalev [Tue, 30 Apr 2013 21:06:49 +0000 (14:06 -0700)]
Using treed_read/treed_write functions for segment ids.
Changing the order of probabilities inside mb_segment_tree_probs in order
to use treed_read/treed_write function instead of custom code.
Change-Id: I843487d5057913b9358db73da270893eefecc6c8
Dmitry Kovalev [Tue, 30 Apr 2013 20:39:50 +0000 (13:39 -0700)]
Adding vp9_get_qindex function.
Moving common code from encoder and decoder to vp9_get_qindex function.
Also moving quant-related constants from vp9_onyxc_int.h to
vp9_quant_common.h.
Change-Id: I70c5bfbaa1c8bf00fde0bfc459d077f88b6d46c8
Yaowu Xu [Tue, 30 Apr 2013 19:26:09 +0000 (12:26 -0700)]
Merge "Removed code no longer being used." into experimental
Jingning Han [Tue, 30 Apr 2013 19:17:56 +0000 (12:17 -0700)]
Merge "Migrating SPLITMV_4X4 decoding into decode_atom" into experimental
Yaowu Xu [Tue, 30 Apr 2013 19:09:27 +0000 (12:09 -0700)]
Removed code no longer being used.
Change-Id: Iab9a88f250614a790b6ad96bf3150a74210910df
Dmitry Kovalev [Tue, 30 Apr 2013 19:00:35 +0000 (12:00 -0700)]
Merge "Adding vp9_update_frame_size function." into experimental
Jim Bankoski [Mon, 29 Apr 2013 21:24:21 +0000 (14:24 -0700)]
Change to fourcc to enable decoding of ffmpeg files.
Change-Id: Ia16f167d904d53bc38cb3a8c841c6c52daad500f
(cherry picked from commit
296421d84cd1ffd074ff3fe4a772238c897f1bda)
reverts: dbd050c vpxdec: correct VP[89] fourccs
Dmitry Kovalev [Tue, 30 Apr 2013 18:14:27 +0000 (11:14 -0700)]
Adding vp9_update_frame_size function.
Moving common code from encoder and decoder to vp9_update_frame_size.
Change-Id: I6ca758b7d05ffd52821bd3f7ad68089da11e4165
Dmitry Kovalev [Tue, 30 Apr 2013 18:07:05 +0000 (11:07 -0700)]
Merge "General cleanup inside vp9_bitstream.c." into experimental
Jingning Han [Tue, 30 Apr 2013 17:16:09 +0000 (10:16 -0700)]
Migrating SPLITMV_4X4 decoding into decode_atom
Separate the decoding process of 4x4 block based coding (both intra
and inter) from decode_mb and move it into decode_atom_. This allows
to further move the rest per 16x16 block decoding of decode_mb into
decode_sb, and hence eventually deprecating decode_mb when SB8X8 is
enabled.
Change-Id: I678cb8007d8a57b792d7a23020edb0c74fbf4237
Dmitry Kovalev [Tue, 30 Apr 2013 17:21:24 +0000 (10:21 -0700)]
Merge "Renaming refresh_entropy_probs to refresh_frame_context." into experimental