Ronald S. Bultje [Thu, 30 May 2013 23:17:41 +0000 (16:17 -0700)]
Remove TX_SIZE_MAX_MB.
Change-Id: I715870513d1fef8471bfd0f5218a79360a1ef126
Ronald S. Bultje [Thu, 30 May 2013 22:26:23 +0000 (15:26 -0700)]
Remove one (unused) entry from mvref tables.
Change-Id: Ieb4669ae564bec9f3051485ecdf186cb4e00decb
Ronald S. Bultje [Thu, 30 May 2013 19:49:38 +0000 (12:49 -0700)]
Remove splitmv.
We leave it in rdopt.c as a local define for now - this can be removed
later. In all other places, we remove it, thereby slightly decreasing
the size of some arrays in the bitstream.
Change-Id: Ic2a9beb97a4eda0b086f62c039d994b192f99ca5
Ronald S. Bultje [Thu, 30 May 2013 18:27:40 +0000 (11:27 -0700)]
Remove i4x4_pred.
It remains as a local define in rdopt.c so we can distinguish between
split and non-split modes in the RD loop, but disappears outside that
scope in the codec.
Change-Id: I98c18fe5ab7e4fbd1d6620ec5695e2ea20513ce9
Ronald S. Bultje [Thu, 30 May 2013 20:54:57 +0000 (13:54 -0700)]
Remove unused table.
Change-Id: I80c37cffa176bac942ab3051abdfd585ed5555e1
Ronald S. Bultje [Thu, 30 May 2013 16:58:53 +0000 (09:58 -0700)]
Merge all intra mode coding trees into a single one.
Also merge all counters. This removes a few unused probability updates
from the bitstream.
Change-Id: I20f58853e9dac84d8c0d9703ae012c55917516eb
Deb Mukherjee [Thu, 30 May 2013 15:10:47 +0000 (08:10 -0700)]
Merge "Balancing coef-tree to reduce bool decodes" into experimental
Jim Bankoski [Thu, 30 May 2013 15:04:49 +0000 (08:04 -0700)]
Merge "fix valgrind warning" into experimental
James Zern [Thu, 30 May 2013 00:47:18 +0000 (17:47 -0700)]
sad_test: fix msvc compile
Fixes:
error C2121: '#' : invalid character : possibly the result of a macro expansion
Change-Id: I63d7ebba29f3a3cbb546406be39270290e9dc47d
Ronald S. Bultje [Thu, 30 May 2013 00:35:05 +0000 (17:35 -0700)]
Merge "Remove some unused code related to macroblock/splitmv coding." into experimental
Ronald S. Bultje [Thu, 30 May 2013 00:33:32 +0000 (17:33 -0700)]
Merge "Remove unused and outdated debug code." into experimental
Deb Mukherjee [Thu, 30 May 2013 00:01:43 +0000 (17:01 -0700)]
Merge "Build fix when ENTROPY_STATS is defined" into experimental
Jingning Han [Wed, 29 May 2013 23:35:02 +0000 (16:35 -0700)]
Merge "Refactor 4x4 block level rd loop" into experimental
Deb Mukherjee [Wed, 8 May 2013 17:04:14 +0000 (10:04 -0700)]
Balancing coef-tree to reduce bool decodes
This patch changes the coefficient tree to move the EOB to below
the ZERO node in order to save number of bool decodes.
The advantages of moving EOB one step down as opposed to two steps down
in the other parallel patch are: 1. The coef modeling based on
the One-node becomes independent of the tree structure above it, and
2. Fewer conext/counter increases are needed.
The drawback is that the potential savings in bool decodes will be
less, but assuming that 0s are much more predominant than 1's the
potential savings is still likely to be substantial.
Results on derf300: -0.237%
Change-Id: Ie784be13dc98291306b338e8228703a4c2ea2242
Dmitry Kovalev [Wed, 29 May 2013 22:29:44 +0000 (15:29 -0700)]
Merge "Compressed/uncompressed frame header changes." into experimental
Jingning Han [Wed, 29 May 2013 19:52:57 +0000 (12:52 -0700)]
Refactor 4x4 block level rd loop
This commit makes clean-ups in the rate-distortion loop for 4x4,
4x8, and 8x4 block sizes for the use of iterative motion search.
Removed unnecessary use of bmi in handle_inter_mode.
Deprecated loop over labels in the 4x4/4x8/8x4 block rd search.
Change-Id: I71203dbb68b65e66f073b37abd90d82ef5ae6826
Jim Bankoski [Wed, 29 May 2013 19:34:10 +0000 (12:34 -0700)]
fix valgrind warning
scales for second reference frame vars are unitialized if the
second ref frame is one of of those disallowed by refframeflags
Change-Id: I4ce42de391178c1699dcaede18c5f12c84993c61
Jingning Han [Wed, 29 May 2013 17:55:23 +0000 (10:55 -0700)]
Merge "Refactor rd loop for inter modes" into experimental
Jingning Han [Wed, 29 May 2013 17:55:14 +0000 (10:55 -0700)]
Merge "further clean-ups on intra4x4 coding" into experimental
Sami Pietila [Thu, 23 May 2013 10:08:00 +0000 (13:08 +0300)]
Residual coding to cache energy class of tokens.
Proposal for tuning the residual coding by changing how the context
from previous tokens is calculated. Storing the energy class of previous
tokens instead of the token itself eases the critical path of
HW implementations.
Change-Id: I6d71d856b84518f6c88de771ddd818436f794bab
Ronald S. Bultje [Wed, 29 May 2013 13:29:56 +0000 (06:29 -0700)]
Remove some unused code related to macroblock/splitmv coding.
Change-Id: Ic40d56fb162f4e201547dfae33e62ccd9e865889
Ronald S. Bultje [Wed, 29 May 2013 02:15:45 +0000 (19:15 -0700)]
Remove unused and outdated debug code.
Change-Id: I0e789bdeaed60f920f7a470e56a8d4ea374233fc
Dmitry Kovalev [Wed, 29 May 2013 01:07:54 +0000 (18:07 -0700)]
Compressed/uncompressed frame header changes.
Adding API to read/write uncompressed frame header bits (it is not final
yet). Separate functions to read/write uncompressed header. Moving
clr_type, error_resilient_mode, refresh_frame_context,
frame_parallel_decoding_mode, frame_context_idx from compressed partition
to uncompressed frame header.
Change-Id: Id3ed8a387980c652ae147549412f4ec24a0a5bd0
Deb Mukherjee [Wed, 29 May 2013 00:07:27 +0000 (17:07 -0700)]
Build fix when ENTROPY_STATS is defined
Fixes a build issue due to removal of VP9_KF_BINTRAMODES macro,
when ENTROPY_STATS is on.
Change-Id: I75c61702bf626376c942ab49ab887714b43284f0
Deb Mukherjee [Tue, 28 May 2013 23:55:02 +0000 (16:55 -0700)]
Merge "Clean up related to coefficient modeling" into experimental
Deb Mukherjee [Tue, 28 May 2013 23:25:43 +0000 (16:25 -0700)]
Clean up related to coefficient modeling
Uses reduced arrays for probabilities and branch counts in the
encoder. No change in bitstream.
Change-Id: Iec605446f44db4cd325eb45fa12a3003a6ee29db
Jingning Han [Tue, 28 May 2013 21:02:29 +0000 (14:02 -0700)]
Refactor rd loop for inter modes
This commit pulls the iterative motion search for compound inter-
inter out from handle_inter_mode_ as a separate function. Hence,
it is applicable to 4x4/4x8/8x4 level compound inter search to be
enabled later.
Also edit the rd loop for 4x4 inter block sizes for cosmetic
purpose.
Change-Id: Ibc71a11cbe5a26cd52faba01026cf8446cf4d2b4
Jingning Han [Fri, 24 May 2013 22:21:01 +0000 (15:21 -0700)]
further clean-ups on intra4x4 coding
Removed one 4x4 prediction step that was unnessary in the rd loop.
Removed a unused modecosts estimate from encoder side.
Change-Id: I65221a52719d6876492996955ef04142d2752d86
Ronald S. Bultje [Tue, 28 May 2013 16:40:42 +0000 (09:40 -0700)]
Merge "Moving txfm_size bits before prediction mode bits." into experimental
Scott LaVarnway [Tue, 28 May 2013 16:07:51 +0000 (09:07 -0700)]
Merge "Removed setup_pre_planes() call in read_mb_modes_mv()" into experimental
Paul Wilkins [Tue, 28 May 2013 12:34:14 +0000 (05:34 -0700)]
Merge "Remove loop dering experiment." into experimental
Dmitry Kovalev [Tue, 28 May 2013 09:24:52 +0000 (02:24 -0700)]
Revert "Adding API to read/write uncompressed frame header bits." because of bitstream mismatches.
This reverts commit
df037b615fcc0196386977faae060fdfd9a887a8
Change-Id: I1a529f2590df7bc912f5035d22311268933e3dd6
Yaowu Xu [Mon, 27 May 2013 22:16:21 +0000 (15:16 -0700)]
Merge "a few clean-ups" into experimental
Ronald S. Bultje [Mon, 27 May 2013 21:42:38 +0000 (14:42 -0700)]
Merge "Decrease scope of frame_mv argument to handle_inter_mode()." into experimental
Ronald S. Bultje [Mon, 27 May 2013 21:16:45 +0000 (14:16 -0700)]
Decrease scope of frame_mv argument to handle_inter_mode().
Change-Id: I81c637c61ecc33cb66beb59a2a33166d66b9a0a2
Yaowu Xu [Fri, 24 May 2013 23:13:54 +0000 (16:13 -0700)]
a few clean-ups
1. remove prediction mode conversion
2. unified bmode, same for key and non-key frame
3. set I4X4_PRED count for pdf to 0, as I4X4_PRED is no longer
coded ever. It is determined by ref_frame and block partition
Change-Id: If5b282957c24339b241acdb9f2afef85658fe47d
Timothy B. Terriberry [Fri, 17 May 2013 17:11:30 +0000 (10:11 -0700)]
Reduce WHT complexity.
Saves 1 add, 3 shifts (and a shift bias) per 1-D transform.
Change-Id: I1104bb1679fe342b2f9677df8a9cdc0cb9699e7d
Jingning Han [Mon, 27 May 2013 16:18:50 +0000 (09:18 -0700)]
Merge "Reduce bmi buffer length from 16 to 4" into experimental
Jingning Han [Mon, 27 May 2013 14:55:25 +0000 (07:55 -0700)]
Reduce bmi buffer length from 16 to 4
This commit removes the use of bmi_ in the first-pass encoding by
forcing encode_intra4x4block_ to use DC_PRED, followed by DCT_DCT
only, as John suggested. This makes the need for bmi buffer only
up to 4 entries, instead of 16.
Change-Id: I3410007dfae789ee46a09ae20c39d3ce3c7954aa
Ronald S. Bultje [Fri, 17 May 2013 16:08:17 +0000 (09:08 -0700)]
Remove unused mode_index argument from handle_inter_mode().
Change-Id: I07b8c15f33e6e7c63dd0033c18c4ac5c0303cf32
Ronald S. Bultje [Sat, 25 May 2013 18:41:25 +0000 (11:41 -0700)]
Fix coding statistics compilation.
Change-Id: I21e7c4ef6bc80f4b9281fc94c88fb710b1595c23
Sami Pietila [Mon, 27 May 2013 07:14:53 +0000 (10:14 +0300)]
Moving txfm_size bits before prediction mode bits.
Hardware implementation needs to load coeff probs based on the
transform size. For selectable transform size, moving these bits
earlier in the bitstream adds some delay giving time to preload
the probs and speeds up the decoding process.
Change-Id: I3bfc1f662ae6f219c9286fe9ae6310c7d8a63ea7
Ronald S. Bultje [Sun, 26 May 2013 21:40:49 +0000 (14:40 -0700)]
Remove splitmv.
Also do per-partition motion vector referencing in <sb8x8 partitions,
and adjust mvref finding for sub8x8 partitions.
Change-Id: Id3ed1ed4d2a8910d11d327db6cc63b8eb79f941f
Paul Wilkins [Fri, 24 May 2013 14:40:20 +0000 (15:40 +0100)]
Remove loop dering experiment.
Change-Id: I1a979bf74c286b157c31bab6bdcba0494acb4918
Dmitry Kovalev [Fri, 24 May 2013 20:43:19 +0000 (13:43 -0700)]
Merge "Adding API to read/write uncompressed frame header bits." into experimental
Jingning Han [Fri, 24 May 2013 18:11:06 +0000 (11:11 -0700)]
Fix transform size coding mismatch
This commit fixes a transform size enc/dec mismatch issue in the
key frame coding.
Change-Id: I0c4f40464a367b33dd91ace84506650b1aec2873
Scott LaVarnway [Fri, 24 May 2013 17:39:48 +0000 (13:39 -0400)]
Removed setup_pre_planes() call in read_mb_modes_mv()
This code does not seem to be necessary anymore.
For the 1080p clip used, the decoder performance improved by
~2%.
Change-Id: I66bb0496d4998b0d6c6637c746b642b77bdbef88
Yaowu Xu [Fri, 24 May 2013 16:23:15 +0000 (09:23 -0700)]
Fix two bugs
1) Added an initialization of rd_tx_select_threshs[].
2) Made updating transform size counts to be consistent
Change-Id: Iaa9d6c6be825b0364c9d61a9802873d01356815c
Yaowu Xu [Thu, 23 May 2013 21:39:28 +0000 (14:39 -0700)]
update txfm size counting
Change-Id: I3a26baf8b2f945fea4f1aea156e60fa79f620f86
Paul Wilkins [Thu, 23 May 2013 14:44:45 +0000 (15:44 +0100)]
Fix bug in 4x4 band definition.
Also some unused data structures/references removed.
Change-Id: I295809e887173543e794250cb60ddaf1475ffd24
Yaowu Xu [Wed, 22 May 2013 18:27:38 +0000 (11:27 -0700)]
Removed code not in use
As intra coded blocks are always decoded using decode_sb_intra(), this
commmit removed the code no longer in use.
Change-Id: I09f14fa9cdc875656e8fbe245f72c8fd83b9e31e
Yaowu Xu [Wed, 22 May 2013 17:37:40 +0000 (10:37 -0700)]
Change txfm_type decision
The changing in intra coding to base on transform block, i.e. pred->
txfm->quant->dequant-itxfm->recon, made all blocks within a prediction
unit behave consistently, there is no longer a need to handle blocks
differently based on the position within a predicitn block. So this
commit simplifies the decision of transform type to be based on
prediction mode only.
Change-Id: If96cb72386f2e9186126ace88afa35ef085b6c96
Jingning Han [Thu, 23 May 2013 22:12:54 +0000 (15:12 -0700)]
Fix a bug in intra4x4 level rd loop
This commit fixed a uninitialized value use in the intra 4x4/8x4/4x8
rate-distortion loop.
Change-Id: I5c25b3536b59e4f5fbb23cf85baf93b2ccec7d72
Johann [Thu, 23 May 2013 20:02:44 +0000 (13:02 -0700)]
Remove type from vmvn
datatype is optional for the instruction but clang refuses it.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/CIHIJIHC.html
It is still required when using an immediate.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/CIHGGEEB.html
Change-Id: I0fae956c8c0fa3f97578ce80abea247f7fc88705
Jingning Han [Thu, 23 May 2013 04:09:28 +0000 (21:09 -0700)]
Make comp_inter_inter support 4x4 partition coding
This commit refactors the iterative motion search for compound
inter-inter mode, to make it support all partition types including
4x4/4x8/8x4 block sizes.
Change-Id: I5f1212b0f307377291763e45c6bdc9693b5f04c8
Paul Wilkins [Wed, 22 May 2013 13:09:55 +0000 (14:09 +0100)]
Merge Scatter Scan experiment.
Removal from under configure flag.
A bit renaming
Change-Id: I2213229dfe852001dfec16b149f47c52ce88f3aa
Jingning Han [Wed, 22 May 2013 04:28:42 +0000 (21:28 -0700)]
Merge 4x4 block level partition into codebase
Move 4x4/4x8/8x4 partition coding out of experimental list.
This commit fixed the unit test failure issues. It also resolved
the merge conflicts between 4x4 block level partition and iterative
motion search for comp_inter_inter.
Change-Id: I898671f0631f5ddc4f5cc68d4c62ead7de9c5a58
Yunqing Wang [Wed, 22 May 2013 20:41:04 +0000 (13:41 -0700)]
Merge "Optimize variance functions" into experimental
Deb Mukherjee [Wed, 22 May 2013 17:38:35 +0000 (10:38 -0700)]
Merge "Using 128 entry look up table for coef models" into experimental
Yunqing Wang [Wed, 22 May 2013 16:07:30 +0000 (09:07 -0700)]
Optimize variance functions
Added SSE2 version of variance functions for super blocks.
Change-Id: Ibeaae8771ca21c99d41dd74067574a51e97b412d
Jingning Han [Wed, 22 May 2013 17:00:15 +0000 (10:00 -0700)]
Merge "Make the intra rd search support 8x4/4x8" into experimental
Deb Mukherjee [Wed, 22 May 2013 14:28:29 +0000 (07:28 -0700)]
Using 128 entry look up table for coef models
Reverts to using 128 bit LUT for the coef models rather than 48
to ease hardware implementation.
Also incorporates some cleanups including removing various
hooks to support different lookup tables based on block_type and
ref_type.
Change-Id: I54100c120cca07a2ebd3a7776bc4630fa6a153f6
Paul Wilkins [Wed, 22 May 2013 13:53:12 +0000 (06:53 -0700)]
Merge "changes intra coding to be based on txfm block" into experimental
Paul Wilkins [Wed, 22 May 2013 13:52:32 +0000 (06:52 -0700)]
Merge "Generalized intra 4x4 encoding for all sizes" into experimental
Paul Wilkins [Wed, 22 May 2013 13:51:43 +0000 (06:51 -0700)]
Merge "Merge CONFIG_COMP_INTER_JOINT_SEARCH." into experimental
Scott LaVarnway [Wed, 22 May 2013 12:36:36 +0000 (05:36 -0700)]
Merge "Removed unused idct functions" into experimental
Yaowu Xu [Fri, 17 May 2013 19:50:40 +0000 (12:50 -0700)]
changes intra coding to be based on txfm block
This commit changed the encoding and decoding of intra blocks to be
based on transform block. In each prediction block, the intra coding
iterates thorough each transform block based on raster scan order.
This commit also fixed a bug in D135 prediction code.
TODO next:
The RD mode/txfm_size selection should take this into account when
computing RD values.
Change-Id: I6d1be2faa4c4948a52e830b6a9a84a6b2b6850f6
Yaowu Xu [Thu, 16 May 2013 00:21:15 +0000 (17:21 -0700)]
Generalized intra 4x4 encoding for all sizes
Change-Id: I1b86744fa247233c8df031b3f4b87b212c8dd094
Paul Wilkins [Tue, 21 May 2013 12:57:29 +0000 (13:57 +0100)]
Merge CONFIG_COMP_INTER_JOINT_SEARCH.
Merge this experiment so that it is under a speed feature
flag not a configuration flag.
Change-Id: I536f7f125a4ff5149bb3a64f791e835c324535fd
Jingning Han [Mon, 20 May 2013 23:04:28 +0000 (16:04 -0700)]
Make the intra rd search support 8x4/4x8
This commit allows the rate-distortion optimization of intra coding
capable of supporting 8x4 and 4x8 partition settings.
It enables the entropy coding of intra modes in key frame using a
unified contextual probability model conditioned on its above/left
prediction modes.
Coding performance:
derf 0.464%
Change-Id: Ieed055084e11fcb64d5d5faeb0e706d30268ba18
John Koleszar [Wed, 22 May 2013 00:29:51 +0000 (17:29 -0700)]
Merge "Initial version of alpha channel support" into experimental
Jingning Han [Tue, 21 May 2013 22:59:58 +0000 (15:59 -0700)]
Merge "Deprecate 4x4 intra modes from bit-stream" into experimental
Dmitry Kovalev [Tue, 21 May 2013 22:31:32 +0000 (15:31 -0700)]
Adding API to read/write uncompressed frame header bits.
The API is not final yet and can be changed. Actual layout of
uncompressed frame part will be finalized later. Right now moving
clr_type, error_resilient_mode, refresh_frame_context,
frame_parallel_decoding_mode from first compressed partition to
uncompressed frame part.
Change-Id: I3afc5d4ea92c5a114f4c3d88f96858cccc15b76e
Scott LaVarnway [Tue, 21 May 2013 21:59:54 +0000 (17:59 -0400)]
Removed unused idct functions
No longer used.
Change-Id: Id28c9247cebba183c6fa786dff96824ae100132c
Deb Mukherjee [Tue, 21 May 2013 21:39:22 +0000 (14:39 -0700)]
Merging the model coef prob experiment
Merges the experiment.
Change-Id: I4eb19af6de6df6aa3a96a2e82f231d47ed9b3ae9
Deb Mukherjee [Tue, 21 May 2013 20:41:54 +0000 (13:41 -0700)]
Merge "Refinements on modelcoef expt to reduce storage" into experimental
Scott LaVarnway [Tue, 21 May 2013 18:22:09 +0000 (14:22 -0400)]
Removed diff from macroblockd_plane
No longer used.
Change-Id: I171c5fa33a7600ad45b9466af23a46ccbdfe0480
Scott LaVarnway [Tue, 21 May 2013 17:57:50 +0000 (13:57 -0400)]
Removed vp9_recon functions
No longer used.
Change-Id: Ica5166f7117f4693dffdf7633dcfc1b263103d0d
Scott LaVarnway [Tue, 21 May 2013 17:45:53 +0000 (10:45 -0700)]
Merge "WIP: 4x4 idct/recon merge" into experimental
Dmitry Kovalev [Tue, 21 May 2013 17:35:36 +0000 (10:35 -0700)]
Merge "Moving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c." into experimental
Dmitry Kovalev [Tue, 21 May 2013 17:35:27 +0000 (10:35 -0700)]
Merge "Removing clamp_type from the bitstream." into experimental
Dmitry Kovalev [Tue, 21 May 2013 17:35:12 +0000 (10:35 -0700)]
Merge "Adding get_ref_frame_idx function." into experimental
Deb Mukherjee [Mon, 20 May 2013 20:54:39 +0000 (13:54 -0700)]
Refinements on modelcoef expt to reduce storage
Uses more aggrerssive interpolation to reduce storage for the
model tables by almost more than half. Only 48 lists of probs are
stored (as opposed to 128 before), corresponding to ONE_NODE
probabilities of:
1,
3, 7, 11, ..., 115, 119,
127, 135, ..., 247, 255.
Besides, only 1 table is used as opposed to 2 before. So the overall
memory needed for the tables is just 48 * 8 = 384 bytes.
The table currently used is based on a new Pareto distribution with
heavier tail than a generalized Gaussian - which improves results on
derf by about 0.1% over a single table Generaized Gaussian.
Results overall on derfraw300 is -0.14%.
Change-Id: I19bd03559cbf5894a9f8594b8023dcc3e546f6bd
Yunqing Wang [Tue, 21 May 2013 00:32:50 +0000 (17:32 -0700)]
Unnecessary passing of prev_mi
Passing prev_mi is not needed.
Change-Id: I6453bb47514ddafd555864d190ecf6d1a6bdc136
Dmitry Kovalev [Mon, 20 May 2013 23:23:19 +0000 (16:23 -0700)]
Moving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c.
Change-Id: Ib07d1e707a87cec98ea3a1779fccca078d8c4310
Dmitry Kovalev [Mon, 20 May 2013 22:59:39 +0000 (15:59 -0700)]
Adding get_ref_frame_idx function.
Change-Id: I4f1a4eca6794cda78d00512196caacd5567e2dcc
Deb Mukherjee [Fri, 17 May 2013 13:40:25 +0000 (06:40 -0700)]
Updating the model coef experiment
Cleans up the experiment. Actually uses reduced counts for backward
updates, and reduced number of probabilities in the context.
No change in bitstream when the experiment is on.
Between expt on and off:
derfraw300 is down only -0.062% (which is better than when expts
were run previously).
Change-Id: I55285a049a0c22810bdb42914212ab5a4f8521b5
Jingning Han [Mon, 20 May 2013 19:08:22 +0000 (12:08 -0700)]
Deprecate 4x4 intra modes from bit-stream
Replace B_DC_PRED like syntax element writing/reading with sb_ymode
set (e.g., DC_PRED, etc).
Change-Id: I293006a6b3bcd130c08ea9f053e7a79c6819c6f8
Scott LaVarnway [Mon, 20 May 2013 17:03:17 +0000 (13:03 -0400)]
WIP: 4x4 idct/recon merge
This patch eliminates the intermediate diff buffer usage by
combining the short idct and the add residual into one function.
The encoder can use the same code as well.
Change-Id: I296604bf73579c45105de0dd1adbcc91bcc53c22
Jingning Han [Mon, 20 May 2013 16:25:51 +0000 (09:25 -0700)]
Merge "Enable bit-stream support to 8x4 and 4x8 partition" into experimental
Jingning Han [Sat, 18 May 2013 23:56:12 +0000 (16:56 -0700)]
Give VP9 a different sync code from VP8
The new code is 0x49, 0x83, 0x42
There is nothing particularly special about this code bitstream wise.
Its derivation is the word "sync" coded using 4x6bit alphabetic indices.
Change-Id: Ie2430a854af32ddc5a5c25a6c1c90cf6497ba647
Jingning Han [Thu, 16 May 2013 05:28:36 +0000 (22:28 -0700)]
Enable bit-stream support to 8x4 and 4x8 partition
The recursive partition type search is enabled down to 4x4, 4x8 and
8x4, followed by the corresponding rate-distortion optimization for
the per-partition encoding mode decisions.
The bit-stream writing/reading synchronized in supporting the
rectangular partition of 8x8 block.
This provides above 1% coding performance gains on derf.
To do next:
1. re-design the rate-distortion loop for inter prediction below 8x8.
2. re-design the rate-distortion loop for intra prediction below 4x4.
3. make the loop-filter aware of rectangular partition of 8x8 block.
4. clean the unused probability models.
5. update default probability values.
Change-Id: Idd41a315b16879db08f045a322241f46f1d53f20
Jingning Han [Fri, 17 May 2013 22:54:49 +0000 (15:54 -0700)]
Make nmv_count update 4x8/8x4 aware
This commit modifies the vp9_update_nmv_count_ to support rectangular
partition of 8x8 block.
Change-Id: I3e742f80f18f95b031c1c785d756d9365503c24c
Dmitry Kovalev [Fri, 17 May 2013 22:50:26 +0000 (15:50 -0700)]
Removing clamp_type from the bitstream.
Change-Id: Ica75bdd4905c4a04b7f92795d0b8ce6836a99ef4
Jingning Han [Fri, 17 May 2013 17:03:52 +0000 (10:03 -0700)]
Fix parameters in 4x8 variance calc
Correct the stride parameter of 4x8 in vp9_sub_pixel_variance4x8_
and vp9_sub_pixel_avg_variance4x8.
Change-Id: I2ca74d4043817503b21737563994270e3b0619ff
Jim Bankoski [Fri, 17 May 2013 16:23:36 +0000 (09:23 -0700)]
Merge "holds utility debugging functions" into experimental
Jingning Han [Fri, 17 May 2013 16:19:48 +0000 (09:19 -0700)]
Merge "Refactor encode_sb_ for 4x8/8x4 partition" into experimental
Paul Wilkins [Fri, 17 May 2013 15:58:53 +0000 (08:58 -0700)]
Merge "Replace default counts with default probs." into experimental
Paul Wilkins [Fri, 17 May 2013 13:59:09 +0000 (06:59 -0700)]
Merge "New inter mode context." into experimental
Paul Wilkins [Thu, 16 May 2013 15:29:33 +0000 (16:29 +0100)]
Replace default counts with default probs.
Replace vp9_kf_default_bmode_counts structure with
direct default probabilities. The probability structure is
smaller and it removes the need to specify in the bitstream
how to convert the counts to probabilities.
Note that I have concerns still about the size and value of
the large intra mode context. This may cause problems for
HW but it also means we rely heavily on reverse update as
forwards update of a structure this size is problematic. I
intend to review this more generally in the next few days to
see if we can come up with a competitive solution that does
not rely on such a large context.
Change-Id: I0a36071079d5d26a57ab0e9fbf91af4199aa7984