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
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
Dmitry Kovalev [Tue, 30 Apr 2013 17:19:48 +0000 (10:19 -0700)]
Merge "Consistent names for quant-related functions and variables." into experimental
John Koleszar [Tue, 30 Apr 2013 15:43:07 +0000 (08:43 -0700)]
Merge "Fix incorrect 32x64, 16x32 subpel variance" into experimental
Jingning Han [Tue, 30 Apr 2013 04:51:59 +0000 (21:51 -0700)]
Merge "Separate I4X4_PRED coding from macroblock modules" into experimental
Jingning Han [Mon, 29 Apr 2013 19:43:38 +0000 (12:43 -0700)]
Separate I4X4_PRED coding from macroblock modules
Separate the functionality of I4X4_PRED from decode_mb. Use
decode_atom_intra instead, to enable recursive partition of superblock
down to 8x8.
Change-Id: Ifc89a3be82225398954169d0a839abdbbfd8ca3b
Ronald S. Bultje [Tue, 30 Apr 2013 00:38:25 +0000 (17:38 -0700)]
Make sure 32x32 coefficients fit in int16_t.
Fixes mismatches on yt.
Change-Id: I65444137578b29a4984af5c01b2874c5ab086acc
John Koleszar [Mon, 29 Apr 2013 20:44:54 +0000 (13:44 -0700)]
Expand UMV border to 96 pixels
Ensures that the full 64 pixel border is available for prediction (need a minimum of
64+INTERP_EXTEND on all sides, and 32+INTERP_EXTEND on UV). Value also must be a
multiple of 32 to keep UV stride alignment. The smaller border was causing the prediction
to read outside the frame, which can cause a mismatch.
TODO: Get rid of this explicit border and use edge emulation instead.
Change-Id: I3f68453a088ec0ab4349d0f5cc02b573be06d7c4
Yaowu Xu [Mon, 29 Apr 2013 23:16:27 +0000 (16:16 -0700)]
Merge "fixed new intra code for rectanglar blocks" into experimental
Dmitry Kovalev [Mon, 29 Apr 2013 23:07:17 +0000 (16:07 -0700)]
Cleaning up encoder segmentation code.
Moving code from vp9_pack_bitstream to new function encode_segmentation.
Change-Id: I1f1e59a1f038618ad95162b7db4b6f8164850ea8
Yaowu Xu [Mon, 29 Apr 2013 23:05:19 +0000 (16:05 -0700)]
Merge "Enabled i4x4 to use right above pixels" into experimental
Yaowu Xu [Mon, 29 Apr 2013 23:02:35 +0000 (16:02 -0700)]
Merge "Use same intra prediction for all block size" into experimental
Yaowu Xu [Mon, 29 Apr 2013 22:49:00 +0000 (15:49 -0700)]
fixed new intra code for rectanglar blocks
Also fixed two minor subtle boundary conditions in intra prediction
code, and replaced memcpy/memset with vpx_ prefixed version.
Change-Id: I9cddff3be831228b628f1f2f065a61feacbcbee6
Yaowu Xu [Fri, 26 Apr 2013 00:52:09 +0000 (17:52 -0700)]
Enabled i4x4 to use right above pixels
Change-Id: I7442b4600b6812bed13e655ccf68f9ea56cc83a2
Yaowu Xu [Tue, 23 Apr 2013 18:06:11 +0000 (11:06 -0700)]
Use same intra prediction for all block size
The commmit changed to use same intra prediction function for all
block sizes.
Some details on the changes:
1. All directional modes except DC/TM/V/H now have built-in filtering
for all pixels with filter taps either (1, 2, 1)/4 or (1, 1)/2.
2. Above edge get automatic extended to double width (bw*2), which
makes a lot of the prediciton mode computation simpler.
3. Same intra prediction function is called with different size
for i4x4_pred and all other larger size.
Overall, the change helped keyframe only coding for both cif size
and std-hd size test sets by .5% consistently on all encodings.
For normal coding with single/auto key frame, the change now also
is consistently net positive for all encodings. The overall gains
is about .15% on std-hd set.
Change-Id: I01ceb31fbc73d49776262e6bdc06853b03bbd1d1
John Koleszar [Mon, 29 Apr 2013 19:59:30 +0000 (12:59 -0700)]
Fix incorrect 32x64, 16x32 subpel variance
Incorrect strides caused use of uninitialized stack data.
Change-Id: Ifc12174285311bcf0453987d4283e91141f979ef
John Koleszar [Mon, 29 Apr 2013 19:53:04 +0000 (12:53 -0700)]
Merge "Use foreach_transformed_block with tokenize_b" into experimental