Dmitry Kovalev
20eef67573
Adding encode_loopfilter function.
...
Moving code from huge vp9_pack_bitstream to encode_loopfilter function.
Change-Id: Idceb836da5b346cd54fc33402283e7cfb6d9097d
2013-05-02 14:23:56 -07:00
John Koleszar
3f4e80634b
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
2013-05-02 14:02:03 -07:00
Ronald S. Bultje
c8de931e06
Merge "Fix i4x4 mode reading and writing in sb8x8 bitstream." into experimental
2013-05-02 13:56:06 -07:00
Ronald S. Bultje
168d313888
Cache splitmv motion vectors appropriately in decoder.
...
This fixes some problems in splitmv-related bitstream parsing in the
sb8x8 experiment.
Change-Id: Id168f9ec9c88626877d8f536e6f394b6f4f782e4
2013-05-02 13:55:35 -07:00
Ronald S. Bultje
e931dac733
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
2013-05-02 13:01:09 -07:00
Ronald S. Bultje
1cc0e67d85
Merge "Set transform size correctly for non-tx_select splitmv/i4x4_pred." into experimental
2013-05-02 12:35:59 -07:00
Ronald S. Bultje
06df1f82fb
Set transform size correctly for non-tx_select splitmv/i4x4_pred.
...
Fixes mismatch in keyframes with sb8x8 experiment enabled.
Change-Id: Id44c25e1cd32be5c6543ed8cd840a5b0c8e726f1
2013-05-02 12:26:40 -07:00
Dmitry Kovalev
7ab2d7bf55
Removing MAXF macro and using MAX instead.
...
Change-Id: I51c53692b1150005645bf362c5e5a8275178a8fd
2013-05-02 11:57:16 -07:00
Ronald S. Bultje
ef6007867f
Merge "Always initialize values in sb/mb_partitioning." into experimental
2013-05-02 10:53:51 -07:00
Dmitry Kovalev
519d9f3e16
Merge "Using treed_read/treed_write functions for segment ids." into experimental
2013-05-02 10:40:58 -07:00
Ronald S. Bultje
4aad30a3cf
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
2013-05-02 10:40:53 -07:00
Ronald S. Bultje
3e345cd4d8
Fix some more offset errors in sb8x8.
...
Change-Id: I83677227f7610fdf2db9f15f87fecd4d8e072427
2013-05-02 07:54:18 -07:00
Ronald S. Bultje
31b842637f
Merge "Store splitmv modes in context after 8x8 rd loop." into experimental
2013-05-01 17:26:46 -07:00
Ronald S. Bultje
f37d8400db
Store splitmv modes in context after 8x8 rd loop.
...
Change-Id: I07aa89a67e0ac5f99ef0c448553dbc46b0ed27f2
2013-05-01 17:13:23 -07:00
Johann
9b94f647cd
Merge "Remove unused quantize optimizations." into experimental
2013-05-01 15:13:42 -07:00
Ronald S. Bultje
b6c2d872f0
Fix some crashes in sb8x8 experiment.
...
Change-Id: I390bb1cedc835f439fd5dd6cda6572b29cbb139c
2013-05-01 14:45:27 -07:00
Jingning Han
650e632400
Merge "Enable bit-stream support to SB8X8" into experimental
2013-05-01 13:48:14 -07:00
Scott LaVarnway
94ed11d89d
Reduced y_dequant, uv_dequant size
...
Currently, only two values are used. Removed the unused
values.
Change-Id: Idc5b8be354d84ffc68df39ea3e45f9f50d977b35
2013-05-01 16:25:10 -04:00
Jingning Han
2bf1dc2e23
Enable bit-stream support to SB8X8
...
This commit enables bit-stream writing and reading for recursive
partition down to block 8x8.
Change-Id: I163cd48d191cc94ead49cbb7fc91374f6bf204e2
2013-05-01 13:03:54 -07:00
Dmitry Kovalev
6e4ed2f0fe
Merge "Adding vp9_get_qindex function." into experimental
2013-05-01 12:04:21 -07:00
John Koleszar
d139655b14
Merge "Make vp9_optimize_sb* common" into experimental
2013-04-30 21:43:26 -07:00
John Koleszar
1f80a568d2
Make vp9_optimize_sb* common
...
Unify the various vp9_optimize_sb functions into one that handles all
transform sizes.
Change-Id: I48b642fbfb3e72cc2e0bcf1d0317a80a80547882
2013-04-30 21:34:58 -07:00
Johann
e43662e8e6
Remove unused quantize optimizations.
...
Files were copied from vp8 and never maintained.
Change-Id: I9659a8755985da73e8c19c3c984423b6666d8871
2013-04-30 18:42:05 -07:00
Dmitry Kovalev
79590f186c
Merge "Cleaning up encoder segmentation code." into experimental
2013-04-30 17:49:55 -07:00
Dmitry Kovalev
aea29cd278
General code cleanup inside treewriter-related files.
...
Change-Id: Ifaa40612a9c054d96112ba350c6f4adb46b1bd5b
2013-04-30 16:39:07 -07:00
Ronald S. Bultje
d068d869b9
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
2013-04-30 16:13:20 -07:00
Dmitry Kovalev
b5364d4f3b
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
2013-04-30 14:06:49 -07:00
Dmitry Kovalev
3f6c6ffc86
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
2013-04-30 13:39:50 -07:00
Jingning Han
dc8cd7d9f4
Merge "Migrating SPLITMV_4X4 decoding into decode_atom" into experimental
2013-04-30 12:17:56 -07:00
Dmitry Kovalev
347ad7fff0
Merge "Adding vp9_update_frame_size function." into experimental
2013-04-30 12:00:35 -07:00
Dmitry Kovalev
15b5e465f2
Adding vp9_update_frame_size function.
...
Moving common code from encoder and decoder to vp9_update_frame_size.
Change-Id: I6ca758b7d05ffd52821bd3f7ad68089da11e4165
2013-04-30 11:14:27 -07:00
Dmitry Kovalev
be9cf215a3
Merge "General cleanup inside vp9_bitstream.c." into experimental
2013-04-30 11:07:05 -07:00
Jingning Han
ce3a8a6e37
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
2013-04-30 10:42:03 -07:00
Dmitry Kovalev
70d12c3a75
Merge "Renaming refresh_entropy_probs to refresh_frame_context." into experimental
2013-04-30 10:21:24 -07:00
Dmitry Kovalev
51a73fbba2
Merge "Consistent names for quant-related functions and variables." into experimental
2013-04-30 10:19:48 -07:00
John Koleszar
e8315aeea0
Merge "Fix incorrect 32x64, 16x32 subpel variance" into experimental
2013-04-30 08:43:08 -07:00
Jingning Han
7492edac93
Merge "Separate I4X4_PRED coding from macroblock modules" into experimental
2013-04-29 21:51:59 -07:00
Jingning Han
94191b5c82
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
2013-04-29 18:59:36 -07:00
Dmitry Kovalev
ee97da2c03
Cleaning up encoder segmentation code.
...
Moving code from vp9_pack_bitstream to new function encode_segmentation.
Change-Id: I1f1e59a1f038618ad95162b7db4b6f8164850ea8
2013-04-29 16:07:17 -07:00
John Koleszar
907541ee18
Fix incorrect 32x64, 16x32 subpel variance
...
Incorrect strides caused use of uninitialized stack data.
Change-Id: Ifc12174285311bcf0453987d4283e91141f979ef
2013-04-29 12:59:30 -07:00
John Koleszar
bbac4094e4
Merge "Use foreach_transformed_block with tokenize_b" into experimental
2013-04-29 12:53:04 -07:00
Ronald S. Bultje
767dd469b3
Merge "Merge encode_sb and encode_sb64 in a recursive encode_sb/b function." into experimental
2013-04-29 12:41:55 -07:00
Ronald S. Bultje
02d8cbaa15
Merge "Fix mi_row argument to update_stats()." into experimental
2013-04-29 12:41:53 -07:00
Ronald S. Bultje
b2d8d58cf0
Merge "Factor out assigning correct partitioning seg_context pointers." into experimental
2013-04-29 12:41:50 -07:00
Ronald S. Bultje
846a67e047
Merge "Use recursive function in resetting txfm_size for skip-blocks." into experimental
2013-04-29 12:41:47 -07:00
Ronald S. Bultje
56d61f8b07
Merge "Use recursive function in choosing segmentation map coding method." into experimental
2013-04-29 12:33:18 -07:00
John Koleszar
5c24469c2c
Use foreach_transformed_block with tokenize_b
...
Updates the tokenizer to use the common block walker used by the
detokenizer, to support non-4:2:0 and more than 3 planes.
Change-Id: If1854117a9c7c1427349209fa2b3051ce6459dcb
2013-04-29 12:07:39 -07:00
Ronald S. Bultje
e4f0c541dd
Merge encode_sb and encode_sb64 in a recursive encode_sb/b function.
...
Change-Id: Ifd1f7319e398381ca7d55aaacc68c39a1319d651
2013-04-29 12:05:20 -07:00
Ronald S. Bultje
7c5eb6d5da
Fix mi_row argument to update_stats().
...
This doesn't change output, because the argument isn't actually used
ATM. However, we should fix it for consistency.
Change-Id: I7b7326a8e92c0d411c999ec2c781204b516ed53d
2013-04-29 12:05:20 -07:00
Ronald S. Bultje
247c4f769c
Factor out assigning correct partitioning seg_context pointers.
...
Change-Id: I6e787915a92e0abdea86adaa3e1106aa9c165034
2013-04-29 12:05:19 -07:00