Remove redundant buffer initialization and mode_info assignments

There is no need to initialize source/dst frame buffers at frame
level. These will be done at block coding stage. This commit hence
removes the redundant operations.

Change-Id: I11d9f2556058c6205c8e58ed53e31f78622c41b7
Replacing cpu_used with speed in VP9_CONFIG.

Change-Id: I86b85b5c11388e84a48f8936330c0d920df5d1f0
add a context tree structure to encoder

This patch sets up a quad_tree structure (pc_tree) for holding all of
pick_mode_context data we use at any square block size during encoding
or picking modes.  That includes contexts for 2 horizontal and 2 vertical
splits, one none, and pointers to 4 sub pc_tree nodes corresponding
to split.  It also includes a pointer to the current chosen partitioning.

This replaces code that held an index for every level in the pick
modes array including:  sb_index, mb_index,
b_index, ab_index.

These were used as stateful indexes that pointed to the current pick mode
contexts you had at each level stored in the following arrays

array ab4x4_context[][][],
sb8x4_context[][][], sb4x8_context[][][], sb8x8_context[][][],
sb8x16_context[][][], sb16x8_context[][][], mb_context[][], sb32x16[][],
sb16x32[],  sb32_context[], sb32x64_context[], sb64x32_context[],
sb64_context

and the partitioning that had been stored in the following:
b_partitioning, mb_partitioning, sb_partitioning, and sb64_partitioning.

Prior to this patch before doing an encode you had to set the appropriate
index for your block size ( switch statement),  update it ( up to 3
lookups for the index array value) and then make your call into a recursive
function at which point you'd have to call get_context which then
had to do a switch statement based on the blocksize,  and then up to 3
lookups based upon the block size to find the context to use.

With the new code the context for the block size is passed around directly
avoiding the extraneous switch statements and multi dimensional array
look ups that were listed above.   At any level in the search all of the
contexts are local to the pc_tree you are working on (in?).

In addition in most places code that used to call sub functions and
then check if the block size was 4x4 and index was > 0 and return
now don't preferring instead to call the right none function on the inside.



Change-Id: I06e39318269d9af2ce37961b3f95e181b57f5ed9
rename mode_index to ref index in vp9_rd_pick_inter_mode_sub_8x8

Change-Id: I00bceb9de2009963c91e5102564c05c31ac1ad78
Relax the threshold for datarate test by 5%

Change-Id: Ibc770df77939a68f9f0d1d78c0edd737b0d398ad
renamed pick_best_mbsegmentation and remove rd_check_segment_txsize

Change-Id: Ia7d33bc3eb595965bccf4b2231df1e3b2a0243c6
Merge "Remove redundant buffer initialization and mode_info assignments"
examples: remove off_t overrides

this is error prone, int64 will suffice for all cases

Change-Id: I94883f93518cfc356ed57b14dc39d79aebccf47d
Skip fetching original frame pointers for UV in background check

The background detection only tracks luma component. This commits
removes the frame buffer pointer retrieval for chroma components.

Change-Id: I098bd2950f5e5829ed5dc2b48568167248da7fad
Merge "Relax the threshold for datarate test by 5%"
rename labels2mode because it was a terrible name.

Change-Id: I2d577d11966fcc5ffaaf0896bf51d18078ad1e9c
Merge "Replacing cpu_used with speed in VP9_CONFIG."
Removing cq_target_quality from VP9_COMP.

Use cq_level (which is identical) from VP9_CONFIG instead.

Change-Id: I1aaf2fcef3d2dbd4577f613d27693ff8a68989fd
Merge "examples: remove off_t overrides"
Adding is_best_mode() function.

Change-Id: Idca7c1cd8a12df465c58b6ba064a99404b3b4bce
Merge "Skip fetching original frame pointers for UV in background check"
Adding get_pass() function.

Change-Id: I43de248615b79828d5164b670e7358b8a520d075
Fix broken encoding process at sub8x8 block size

Use the correct buffer to update the coding mode decision for
sub8x8 blocks.

Change-Id: I091ef27d2047eeb8b73ceb7c2c7c45b38ba8c6d5
Merge "rename mode_index to ref index in vp9_rd_pick_inter_mode_sub_8x8"
Merge "renamed pick_best_mbsegmentation and remove rd_check_segment_txsize"