From: Fritz Koenig Date: Thu, 22 Jul 2010 13:46:54 +0000 (-0400) Subject: Remove CONFIG_NEW_TOKENS files. X-Git-Tag: v0.9.2~65 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=08eed049d4f08943079483cdd5d5d9f865457a67;p=libvpx Remove CONFIG_NEW_TOKENS files. These files were out of date and no longer maintained. Token decoding has implemented the no-crash code which is incompatible with this arm assembly code. Change-Id: Ibf729886c56fca48181af60b44bda896c30023fc --- diff --git a/configure b/configure index 85230d967..9be0624fb 100755 --- a/configure +++ b/configure @@ -230,7 +230,6 @@ CONFIG_LIST=" dequant_tokens dc_recon - new_tokens runtime_cpu_detect postproc multithread @@ -269,7 +268,6 @@ CMDLINE_SELECT=" dequant_tokens dc_recon - new_tokens postproc multithread psnr diff --git a/vp8/decoder/arm/detokenizearm_sjl.c b/vp8/decoder/arm/detokenizearm_sjl.c deleted file mode 100644 index e9917c175..000000000 --- a/vp8/decoder/arm/detokenizearm_sjl.c +++ /dev/null @@ -1,731 +0,0 @@ -/* - * Copyright (c) 2010 The VP8 project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - - -#include "type_aliases.h" -#include "blockd.h" -#include "onyxd_int.h" -#include "vpx_mem/vpx_mem.h" -#include "vpx_ports/mem.h" - -#define BR_COUNT 8 -#define BOOL_DATA UINT8 - -#define OCB_X PREV_COEF_CONTEXTS * ENTROPY_NODES -//ALIGN16 UINT16 onyx_coef_bands_x[16] = { 0, 1*OCB_X, 2*OCB_X, 3*OCB_X, 6*OCB_X, 4*OCB_X, 5*OCB_X, 6*OCB_X, 6*OCB_X, 6*OCB_X, 6*OCB_X, 6*OCB_X, 6*OCB_X, 6*OCB_X, 6*OCB_X, 7*OCB_X}; -DECLARE_ALIGNED(16, UINT8, vp8_coef_bands_x[16]) = { 0, 1 * OCB_X, 2 * OCB_X, 3 * OCB_X, 6 * OCB_X, 4 * OCB_X, 5 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 6 * OCB_X, 7 * OCB_X}; - -#define EOB_CONTEXT_NODE 0 -#define ZERO_CONTEXT_NODE 1 -#define ONE_CONTEXT_NODE 2 -#define LOW_VAL_CONTEXT_NODE 3 -#define TWO_CONTEXT_NODE 4 -#define THREE_CONTEXT_NODE 5 -#define HIGH_LOW_CONTEXT_NODE 6 -#define CAT_ONE_CONTEXT_NODE 7 -#define CAT_THREEFOUR_CONTEXT_NODE 8 -#define CAT_THREE_CONTEXT_NODE 9 -#define CAT_FIVE_CONTEXT_NODE 10 - - - - -DECLARE_ALIGNED(16, static const TOKENEXTRABITS, vp8d_token_extra_bits2[MAX_ENTROPY_TOKENS]) = -{ - { 0, -1, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, //ZERO_TOKEN - { 1, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, //ONE_TOKEN - { 2, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, //TWO_TOKEN - { 3, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, //THREE_TOKEN - { 4, 0, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, //FOUR_TOKEN - { 5, 0, { 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, //DCT_VAL_CATEGORY1 - { 7, 1, { 145, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, //DCT_VAL_CATEGORY2 - { 11, 2, { 140, 148, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, //DCT_VAL_CATEGORY3 - { 19, 3, { 135, 140, 155, 176, 0, 0, 0, 0, 0, 0, 0, 0 } }, //DCT_VAL_CATEGORY4 - { 35, 4, { 130, 134, 141, 157, 180, 0, 0, 0, 0, 0, 0, 0 } }, //DCT_VAL_CATEGORY5 - { 67, 10, { 129, 130, 133, 140, 153, 177, 196, 230, 243, 254, 254, 0 } }, //DCT_VAL_CATEGORY6 - { 0, -1, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, // EOB TOKEN -}; - -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*/ -DECLARE_ALIGNED(16, const UINT8, vp8_block2context_leftabove[25*3]) = -{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, //end of vp8_block2context - 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 0, 0, 1, 1, 0, 0, 1, 1, 0, //end of vp8_block2left - 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 0, 1, 0, 1, 0, 1, 0 //end of vp8_block2above -}; - -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*/ - -void vp8_reset_mb_tokens_context(MACROBLOCKD *x) -{ - ENTROPY_CONTEXT **const A = x->above_context; - ENTROPY_CONTEXT(* const L)[4] = x->left_context; - - ENTROPY_CONTEXT *a; - ENTROPY_CONTEXT *l; - int i; - - for (i = 0; i < 24; i++) - { - - a = A[ vp8_block2context[i] ] + vp8_block2above[i]; - l = L[ vp8_block2context[i] ] + vp8_block2left[i]; - - *a = *l = 0; - } - - if (x->mbmi.mode != B_PRED && x->mbmi.mode != SPLITMV) - { - a = A[Y2CONTEXT] + vp8_block2above[24]; - l = L[Y2CONTEXT] + vp8_block2left[24]; - *a = *l = 0; - } - - -} - -#define ONYXBLOCK2CONTEXT_OFFSET 0 -#define ONYXBLOCK2LEFT_OFFSET 25 -#define ONYXBLOCK2ABOVE_OFFSET 50 - -DECLARE_ALIGNED(16, const static unsigned char, norm[128]) = -{ - 0, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 -}; - -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*/ -void init_detokenizer(VP8D_COMP *dx) -{ - const VP8_COMMON *const oc = & dx->common; - MACROBLOCKD *x = & dx->mb; - - dx->detoken.norm_ptr = (unsigned char *)norm; - dx->detoken.vp8_coef_tree_ptr = (vp8_tree_index *)vp8_coef_tree; - dx->detoken.ptr_onyxblock2context_leftabove = (UINT8 *)vp8_block2context_leftabove; - dx->detoken.ptr_onyx_coef_bands_x = vp8_coef_bands_x; - dx->detoken.scan = (int *)vp8_default_zig_zag1d; - dx->detoken.teb_base_ptr = (TOKENEXTRABITS *)vp8d_token_extra_bits2; - - dx->detoken.qcoeff_start_ptr = &x->qcoeff[0]; - - - dx->detoken.coef_probs[0] = (unsigned char *)(oc->fc.coef_probs [0] [ 0 ] [0]); - dx->detoken.coef_probs[1] = (unsigned char *)(oc->fc.coef_probs [1] [ 0 ] [0]); - dx->detoken.coef_probs[2] = (unsigned char *)(oc->fc.coef_probs [2] [ 0 ] [0]); - dx->detoken.coef_probs[3] = (unsigned char *)(oc->fc.coef_probs [3] [ 0 ] [0]); - -} - -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*/ - - -//shift = norm[range]; \ -// shift = norm_ptr[range]; \ - -#define NORMALIZE \ - /*if(range < 0x80)*/ \ - { \ - shift = detoken->norm_ptr[range]; \ - range <<= shift; \ - value <<= shift; \ - count -= shift; \ - if(count <= 0) \ - { \ - count += BR_COUNT ; \ - value |= (*bufptr) << (BR_COUNT-count); \ - bufptr++; \ - } \ - } -#if 1 -#define DECODE_AND_APPLYSIGN(value_to_sign) \ - split = (range + 1) >> 1; \ - if ( (value >> 24) < split ) \ - { \ - range = split; \ - v= value_to_sign; \ - } \ - else \ - { \ - range = range-split; \ - value = value-(split<<24); \ - v = -value_to_sign; \ - } \ - range +=range; \ - value +=value; \ - if (!--count) \ - { \ - count = BR_COUNT; \ - value |= *bufptr; \ - bufptr++; \ - } - -#define DECODE_AND_BRANCH_IF_ZERO(probability,branch) \ - { \ - split = 1 + ((( probability*(range-1) ) )>> 8); \ - if ( (value >> 24) < split ) \ - { \ - range = split; \ - NORMALIZE \ - goto branch; \ - } \ - value -= (split<<24); \ - range = range - split; \ - NORMALIZE \ - } - -#define DECODE_AND_LOOP_IF_ZERO(probability,branch) \ - { \ - split = 1 + ((( probability*(range-1) ) ) >> 8); \ - if ( (value >> 24) < split ) \ - { \ - range = split; \ - NORMALIZE \ - Prob = coef_probs; \ - ++c; \ - Prob += vp8_coef_bands_x[c]; \ - goto branch; \ - } \ - value -= (split<<24); \ - range = range - split; \ - NORMALIZE \ - } - -#define DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(val) \ - DECODE_AND_APPLYSIGN(val) \ - Prob = coef_probs + (ENTROPY_NODES*2); \ - if(c < 15){\ - qcoeff_ptr [ scan[c] ] = (INT16) v; \ - ++c; \ - goto DO_WHILE; }\ - qcoeff_ptr [ scan[15] ] = (INT16) v; \ - goto BLOCK_FINISHED; - - -#define DECODE_EXTRABIT_AND_ADJUST_VAL(t,bits_count)\ - split = 1 + (((range-1) * vp8d_token_extra_bits2[t].Probs[bits_count]) >> 8); \ - if(value >= (split<<24))\ - {\ - range = range-split;\ - value = value-(split<<24);\ - val += ((UINT16)1<above_context; - ENTROPY_CONTEXT(* const L)[4] = x->left_context; - const VP8_COMMON *const oc = & dx->common; - - BOOL_DECODER *bc = x->current_bc; - - ENTROPY_CONTEXT *a; - ENTROPY_CONTEXT *l; - int i; - - int eobtotal = 0; - - register int count; - - BOOL_DATA *bufptr; - register unsigned int range; - register unsigned int value; - const int *scan; - register unsigned int shift; - UINT32 split; - INT16 *qcoeff_ptr; - - UINT8 *coef_probs; - int type; - int stop; - INT16 val, bits_count; - INT16 c; - INT16 t; - INT16 v; - vp8_prob *Prob; - - //int *scan; - type = 3; - i = 0; - stop = 16; - - if (x->mbmi.mode != B_PRED && x->mbmi.mode != SPLITMV) - { - i = 24; - stop = 24; - type = 1; - qcoeff_ptr = &x->qcoeff[24*16]; - scan = vp8_default_zig_zag1d; - eobtotal -= 16; - } - else - { - scan = vp8_default_zig_zag1d; - qcoeff_ptr = &x->qcoeff[0]; - } - - count = bc->count; - range = bc->range; - value = bc->value; - bufptr = &bc->buffer[bc->pos]; - - - coef_probs = (unsigned char *)(oc->fc.coef_probs [type] [ 0 ] [0]); - -BLOCK_LOOP: - a = A[ vp8_block2context[i] ] + vp8_block2above[i]; - l = L[ vp8_block2context[i] ] + vp8_block2left[i]; - c = (INT16)(!type); - - VP8_COMBINEENTROPYCONTEXTS(t, *a, *l); - Prob = coef_probs; - Prob += t * ENTROPY_NODES; - -DO_WHILE: - Prob += vp8_coef_bands_x[c]; - DECODE_AND_BRANCH_IF_ZERO(Prob[EOB_CONTEXT_NODE], BLOCK_FINISHED); - -CHECK_0_: - DECODE_AND_LOOP_IF_ZERO(Prob[ZERO_CONTEXT_NODE], CHECK_0_); - DECODE_AND_BRANCH_IF_ZERO(Prob[ONE_CONTEXT_NODE], ONE_CONTEXT_NODE_0_); - DECODE_AND_BRANCH_IF_ZERO(Prob[LOW_VAL_CONTEXT_NODE], LOW_VAL_CONTEXT_NODE_0_); - DECODE_AND_BRANCH_IF_ZERO(Prob[HIGH_LOW_CONTEXT_NODE], HIGH_LOW_CONTEXT_NODE_0_); - DECODE_AND_BRANCH_IF_ZERO(Prob[CAT_THREEFOUR_CONTEXT_NODE], CAT_THREEFOUR_CONTEXT_NODE_0_); - DECODE_AND_BRANCH_IF_ZERO(Prob[CAT_FIVE_CONTEXT_NODE], CAT_FIVE_CONTEXT_NODE_0_); - val = vp8d_token_extra_bits2[DCT_VAL_CATEGORY6].min_val; - bits_count = vp8d_token_extra_bits2[DCT_VAL_CATEGORY6].Length; - - do - { - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY6, bits_count); - bits_count -- ; - } - while (bits_count >= 0); - - DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(val); - -CAT_FIVE_CONTEXT_NODE_0_: - val = vp8d_token_extra_bits2[DCT_VAL_CATEGORY5].min_val; - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY5, 4); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY5, 3); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY5, 2); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY5, 1); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY5, 0); - DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(val); - -CAT_THREEFOUR_CONTEXT_NODE_0_: - DECODE_AND_BRANCH_IF_ZERO(Prob[CAT_THREE_CONTEXT_NODE], CAT_THREE_CONTEXT_NODE_0_); - val = vp8d_token_extra_bits2[DCT_VAL_CATEGORY4].min_val; - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY4, 3); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY4, 2); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY4, 1); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY4, 0); - DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(val); - -CAT_THREE_CONTEXT_NODE_0_: - val = vp8d_token_extra_bits2[DCT_VAL_CATEGORY3].min_val; - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY3, 2); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY3, 1); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY3, 0); - DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(val); - -HIGH_LOW_CONTEXT_NODE_0_: - DECODE_AND_BRANCH_IF_ZERO(Prob[CAT_ONE_CONTEXT_NODE], CAT_ONE_CONTEXT_NODE_0_); - - val = vp8d_token_extra_bits2[DCT_VAL_CATEGORY2].min_val; - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY2, 1); - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY2, 0); - DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(val); - -CAT_ONE_CONTEXT_NODE_0_: - val = vp8d_token_extra_bits2[DCT_VAL_CATEGORY1].min_val; - DECODE_EXTRABIT_AND_ADJUST_VAL(DCT_VAL_CATEGORY1, 0); - DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(val); - -LOW_VAL_CONTEXT_NODE_0_: - DECODE_AND_BRANCH_IF_ZERO(Prob[TWO_CONTEXT_NODE], TWO_CONTEXT_NODE_0_); - DECODE_AND_BRANCH_IF_ZERO(Prob[THREE_CONTEXT_NODE], THREE_CONTEXT_NODE_0_); - DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(4); - -THREE_CONTEXT_NODE_0_: - DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(3); - -TWO_CONTEXT_NODE_0_: - DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT(2); - -ONE_CONTEXT_NODE_0_: - DECODE_AND_APPLYSIGN(1); - Prob = coef_probs + ENTROPY_NODES; - - if (c < 15) - { - qcoeff_ptr [ scan[c] ] = (INT16) v; - ++c; - goto DO_WHILE; - } - - qcoeff_ptr [ scan[15] ] = (INT16) v; -BLOCK_FINISHED: - t = ((x->Block[i].eob = c) != !type); // any nonzero data? - eobtotal += x->Block[i].eob; - *a = *l = t; - qcoeff_ptr += 16; - - i++; - - if (i < stop) - goto BLOCK_LOOP; - - if (i == 25) - { - scan = vp8_default_zig_zag1d;//x->scan_order1d; - type = 0; - i = 0; - stop = 16; - coef_probs = (unsigned char *)(oc->fc.coef_probs [type] [ 0 ] [0]); - qcoeff_ptr = &x->qcoeff[0]; - goto BLOCK_LOOP; - } - - if (i == 16) - { - type = 2; - coef_probs = (unsigned char *)(oc->fc.coef_probs [type] [ 0 ] [0]); - stop = 24; - goto BLOCK_LOOP; - } - - bc->count = count; - bc->value = value; - bc->range = range; - bc->pos = bufptr - bc->buffer; - return eobtotal; - -} -//#endif -#else -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*/ - -#if 0 -//uses relative offsets - -const vp8_tree_index vp8_coef_tree_x[ 22] = /* corresponding _CONTEXT_NODEs */ -{ - -DCT_EOB_TOKEN, 1, /* 0 = EOB */ - -ZERO_TOKEN, 1, /* 1 = ZERO */ - -ONE_TOKEN, 1, /* 2 = ONE */ - 2, 5, /* 3 = LOW_VAL */ - -TWO_TOKEN, 1, /* 4 = TWO */ - -THREE_TOKEN, -FOUR_TOKEN, /* 5 = THREE */ - 2, 3, /* 6 = HIGH_LOW */ - -DCT_VAL_CATEGORY1, -DCT_VAL_CATEGORY2, /* 7 = CAT_ONE */ - 2, 3, /* 8 = CAT_THREEFOUR */ - -DCT_VAL_CATEGORY3, -DCT_VAL_CATEGORY4, /* 9 = CAT_THREE */ - -DCT_VAL_CATEGORY5, -DCT_VAL_CATEGORY6 /* 10 = CAT_FIVE */ -}; -#endif - -#define _SCALEDOWN 8 //16 //8 - -int vp8_decode_mb_tokens_v5(DETOK *detoken, int type); - -int vp8_decode_mb_tokens_v5_c(DETOK *detoken, int type) -{ - BOOL_DECODER *bc = detoken->current_bc; - - ENTROPY_CONTEXT *a; - ENTROPY_CONTEXT *l; - int i; - - register int count; - - BOOL_DATA *bufptr; - register unsigned int range; - register unsigned int value; - register unsigned int shift; - UINT32 split; - INT16 *qcoeff_ptr; - - UINT8 *coef_probs; -// int type; - int stop; - INT16 c; - INT16 t; - INT16 v; - vp8_prob *Prob; - - - -// type = 3; - i = 0; - stop = 16; - qcoeff_ptr = detoken->qcoeff_start_ptr; - -// if( detoken->mode != B_PRED && detoken->mode != SPLITMV) - if (type == 1) - { - i += 24; - stop += 8; //24; -// type = 1; - qcoeff_ptr += 24 * 16; -// eobtotal-=16; - } - - count = bc->count; - range = bc->range; - value = bc->value; - bufptr = &bc->buffer[bc->pos]; - - - coef_probs = detoken->coef_probs[type]; //(unsigned char *)( oc->fc.coef_probs [type] [ 0 ] [0]); - -BLOCK_LOOP: - a = detoken->A[ detoken->ptr_onyxblock2context_leftabove[i] ]; - l = detoken->L[ detoken->ptr_onyxblock2context_leftabove[i] ]; - c = !type; - a += detoken->ptr_onyxblock2context_leftabove[i + ONYXBLOCK2ABOVE_OFFSET]; - l += detoken->ptr_onyxblock2context_leftabove[i + ONYXBLOCK2LEFT_OFFSET]; - - //#define ONYX_COMBINEENTROPYCONTEXTS( Dest, A, B) \ - //Dest = ((A)!=0) + ((B)!=0); - - VP8_COMBINEENTROPYCONTEXTS(t, *a, *l); - - Prob = coef_probs; - Prob += t * ENTROPY_NODES; - t = 0; - - do - { - - { -// onyx_tree_index * onyx_coef_tree_ptr = onyx_coef_tree_x; - - Prob += detoken->ptr_onyx_coef_bands_x[c]; - - GET_TOKEN_START: - - do - { - split = 1 + (((range - 1) * (Prob[t>>1])) >> 8); - - if (value >> 24 >= split) - { - range = range - split; - value = value - (split << 24); - t += 1; - - //used to eliminate else branch - split = range; - } - - range = split; - - t = detoken->vp8_coef_tree_ptr[ t ]; - - NORMALIZE - - } - while (t > 0) ; - } - GET_TOKEN_STOP: - - if (t == -DCT_EOB_TOKEN) - { - break; - } - - v = -t; - - if (v > FOUR_TOKEN) - { - INT16 bits_count; - TOKENEXTRABITS *teb_ptr; - -// teb_ptr = &onyxd_token_extra_bits2[t]; -// teb_ptr = &onyxd_token_extra_bits2[v]; - teb_ptr = &detoken->teb_base_ptr[v]; - - - v = teb_ptr->min_val; - bits_count = teb_ptr->Length; - - do - { - split = 1 + (((range - 1) * teb_ptr->Probs[bits_count]) >> _SCALEDOWN); - - if ((value >> 24) >= split) - { - range = range - split; - value = value - (split << 24); - v += ((UINT16)1 << bits_count); - - //used to eliminate else branch - split = range; - } - - range = split; - - NORMALIZE - - bits_count -- ; - } - while (bits_count >= 0); - } - - Prob = coef_probs; - - if (t) - { - split = 1 + (((range - 1) * vp8_prob_half) >> 8); - - if ((value >> 24) >= split) - { - range = range - split; - value = value - (split << 24); - v = (v ^ -1) + 1; /* negate w/out conditionals */ - - //used to eliminate else branch - split = range; - } - - range = split; - - NORMALIZE - Prob += ENTROPY_NODES; - - if (t < -ONE_TOKEN) - Prob += ENTROPY_NODES; - - t = -2; - } - - //if t is zero, we will skip the eob table check - t += 2; - qcoeff_ptr [detoken->scan [c] ] = (INT16) v; - - } - while (++c < 16); - - if (t != -DCT_EOB_TOKEN) - { - --c; - } - - t = ((detoken->eob[i] = c) != !type); // any nonzero data? -// eobtotal += detoken->eob[i]; - *a = *l = t; - qcoeff_ptr += 16; - - i++; - - if (i < stop) - goto BLOCK_LOOP; - - if (i == 25) - { - type = 0; - i = 0; - stop = 16; -// coef_probs = (unsigned char *)(oc->fc.coef_probs [type] [ 0 ] [0]); - coef_probs = detoken->coef_probs[type]; //(unsigned char *)( oc->fc.coef_probs [type] [ 0 ] [0]); - qcoeff_ptr = detoken->qcoeff_start_ptr; - goto BLOCK_LOOP; - } - - if (i == 16) - { - type = 2; -// coef_probs =(unsigned char *)( oc->fc.coef_probs [type] [ 0 ] [0]); - coef_probs = detoken->coef_probs[type]; //(unsigned char *)( oc->fc.coef_probs [type] [ 0 ] [0]); - stop = 24; - goto BLOCK_LOOP; - } - - bc->count = count; - bc->value = value; - bc->range = range; - bc->pos = bufptr - bc->buffer; - return 0; -} -//#if 0 -int vp8_decode_mb_tokens(VP8D_COMP *dx, MACROBLOCKD *x) -{ -// const ONYX_COMMON * const oc = & dx->common; - int eobtotal = 0; - int i, type; - /* - dx->detoken.norm_ptr = norm; - dx->detoken.onyx_coef_tree_ptr = onyx_coef_tree; - dx->detoken.ptr_onyxblock2context_leftabove = ONYXBLOCK2CONTEXT_LEFTABOVE; - dx->detoken.ptr_onyx_coef_bands_x = onyx_coef_bands_x; - dx->detoken.scan = default_zig_zag1d; - dx->detoken.teb_base_ptr = onyxd_token_extra_bits2; - - dx->detoken.qcoeff_start_ptr = &x->qcoeff[0]; - - dx->detoken.A = x->above_context; - dx->detoken.L = x->left_context; - - dx->detoken.coef_probs[0] = (unsigned char *)( oc->fc.coef_probs [0] [ 0 ] [0]); - dx->detoken.coef_probs[1] = (unsigned char *)( oc->fc.coef_probs [1] [ 0 ] [0]); - dx->detoken.coef_probs[2] = (unsigned char *)( oc->fc.coef_probs [2] [ 0 ] [0]); - dx->detoken.coef_probs[3] = (unsigned char *)( oc->fc.coef_probs [3] [ 0 ] [0]); - */ - - dx->detoken.current_bc = x->current_bc; - dx->detoken.A = x->above_context; - dx->detoken.L = x->left_context; - - type = 3; - - if (x->mbmi.mode != B_PRED && x->mbmi.mode != SPLITMV) - { - type = 1; - eobtotal -= 16; - } - - vp8_decode_mb_tokens_v5(&dx->detoken, type); - - for (i = 0; i < 25; i++) - { - x->Block[i].eob = dx->detoken.eob[i]; - eobtotal += dx->detoken.eob[i]; - } - - return eobtotal; -} -#endif diff --git a/vp8/decoder/arm/detokenizearm_v6.asm b/vp8/decoder/arm/detokenizearm_v6.asm deleted file mode 100644 index 92fd83656..000000000 --- a/vp8/decoder/arm/detokenizearm_v6.asm +++ /dev/null @@ -1,365 +0,0 @@ -; -; Copyright (c) 2010 The VP8 project authors. All Rights Reserved. -; -; Use of this source code is governed by a BSD-style license -; that can be found in the LICENSE file in the root of the source -; tree. An additional intellectual property rights grant can be found -; in the file PATENTS. All contributing project authors may -; be found in the AUTHORS file in the root of the source tree. -; - - - EXPORT |vp8_decode_mb_tokens_v5| - - AREA |.text|, CODE, READONLY ; name this block of code - - INCLUDE vpx_asm_offsets.asm - -l_qcoeff EQU 0 -l_i EQU 4 -l_type EQU 8 -l_stop EQU 12 -l_c EQU 16 -l_l_ptr EQU 20 -l_a_ptr EQU 24 -l_bc EQU 28 -l_coef_ptr EQU 32 -l_stacksize EQU 64 - - -;; constant offsets -- these should be created at build time -c_onyxblock2left_offset EQU 25 -c_onyxblock2above_offset EQU 50 -c_entropy_nodes EQU 11 -c_dct_eob_token EQU 11 - -|vp8_decode_mb_tokens_v5| PROC - stmdb sp!, {r4 - r11, lr} - sub sp, sp, #l_stacksize - mov r7, r1 - mov r9, r0 ;DETOK *detoken - - ldr r1, [r9, #detok_current_bc] - ldr r0, [r9, #detok_qcoeff_start_ptr] - mov r11, #0 - mov r3, #0x10 - - cmp r7, #1 - addeq r11, r11, #24 - addeq r3, r3, #8 - addeq r0, r0, #3, 24 - - str r0, [sp, #l_qcoeff] - str r11, [sp, #l_i] - str r7, [sp, #l_type] - str r3, [sp, #l_stop] - str r1, [sp, #l_bc] - - add lr, r9, r7, lsl #2 - - ldr r2, [r1, #bool_decoder_buffer] - ldr r3, [r1, #bool_decoder_pos] - - ldr r10, [lr, #detok_coef_probs] - ldr r5, [r1, #bool_decoder_count] - ldr r6, [r1, #bool_decoder_range] - ldr r4, [r1, #bool_decoder_value] - add r8, r2, r3 - - str r10, [sp, #l_coef_ptr] - - - ;align 4 -BLOCK_LOOP - ldr r3, [r9, #detok_ptr_onyxblock2context_leftabove] - ldr r2, [r9, #DETOK_A] - ldr r1, [r9, #DETOK_L] - ldrb r12, [r3, +r11] ; detoken->ptr_onyxblock2context_leftabove[i] - - cmp r7, #0 ; check type - moveq r7, #1 - movne r7, #0 - - ldr r0, [r2, +r12, lsl #2] ; a - add r1, r1, r12, lsl #4 - add r3, r3, r11 - - ldrb r2, [r3, #c_onyxblock2above_offset] - ldrb r3, [r3, #c_onyxblock2left_offset] - mov lr, #c_entropy_nodes -;; ;++ - - ldr r2, [r0, +r2, lsl #2]! - add r3, r1, r3, lsl #2 - str r3, [sp, #l_l_ptr] - ldr r3, [r3] - - cmp r2, #0 - movne r2, #1 - cmp r3, #0 - addne r2, r2, #1 - - str r0, [sp, #l_a_ptr] - smlabb r0, r2, lr, r10 - mov r1, #0 ; t = 0 - str r7, [sp, #l_c] - - ;align 4 -COEFF_LOOP - ldr r3, [r9, #detok_ptr_onyx_coef_bands_x] - ldr lr, [r9, #detok_onyx_coef_tree_ptr] - -;;the following two lines are used if onyx_coef_bands_x is UINT16 -;; add r3, r3, r7, lsl #1 -;; ldrh r3, [r3] - -;;the following line is used if onyx_coef_bands_x is UINT8 - ldrb r3, [r7, +r3] - - -;; ;++ -;; pld [r8] - ;++ - add r0, r0, r3 - - ;align 4 -get_token_loop - ldrb r2, [r0, +r1, asr #1] - mov r3, r6, lsl #8 - sub r3, r3, #256 ;split = 1 + (((range-1) * probability) >> 8) - mov r10, #1 - - smlawb r2, r3, r2, r10 - ldrb r12, [r8] ;load cx data byte in stall slot - ;++ - - subs r3, r4, r2, lsl #24 ;x = value-(split<<24) - addhs r1, r1, #1 ;t += 1 - movhs r4, r3 ;update value - subhs r2, r6, r2 ;range = range - split - movlo r6, r2 - -;;; ldrsbhs r1, [r1, +lr] - ldrsb r1, [r1, +lr] - - -;; use branch for short pipelines ??? -;; cmp r2, #0x80 -;; bcs |$LN22@decode_mb_to| - - clz r3, r2 - sub r3, r3, #24 - subs r5, r5, r3 - mov r6, r2, lsl r3 - mov r4, r4, lsl r3 - -;; use branch for short pipelines ??? -;; bgt |$LN22@decode_mb_to| - - addle r5, r5, #8 - rsble r3, r5, #8 - addle r8, r8, #1 - orrle r4, r4, r12, lsl r3 - -;;|$LN22@decode_mb_to| - - cmp r1, #0 - bgt get_token_loop - - cmn r1, #c_dct_eob_token ;if(t == -DCT_EOB_TOKEN) - beq END_OF_BLOCK - - rsb lr, r1, #0 ;v = -t; - - cmp lr, #4 ;if(v > FOUR_TOKEN) - ble SKIP_EXTRABITS - - ldr r3, [r9, #detok_teb_base_ptr] - mov r11, #1 - add r7, r3, lr, lsl #4 - - ldrsh lr, [r7, #tokenextrabits_min_val];v = teb_ptr->min_val - ldrsh r0, [r7, #tokenextrabits_length];bits_count = teb_ptr->Length - -extrabits_loop - add r3, r0, r7 - - ldrb r2, [r3, #4] - mov r3, r6, lsl #8 - sub r3, r3, #256 ;split = 1 + (((range-1) * probability) >> 8) - mov r10, #1 - - smlawb r2, r3, r2, r10 - ldrb r12, [r8] - ;++ - - subs r10, r4, r2, lsl #24 ;x = value-(split<<24) - movhs r4, r10 ;update value - subhs r2, r6, r2 ;range = range - split - addhs lr, lr, r11, lsl r0 ;v += ((UINT16)1<= stop ? - ldr r7, [sp, #l_type] - mov lr, #0xB - - blt BLOCK_LOOP - - cmp r11, #0x19 - bne ln2_decode_mb_to - - ldr r12, [r9, #detok_qcoeff_start_ptr] - ldr r10, [r9, #detok_coef_probs] - mov r7, #0 - mov r3, #0x10 - str r12, [sp, #l_qcoeff] - str r7, [sp, #l_i] - str r7, [sp, #l_type] - str r3, [sp, #l_stop] - - str r10, [sp, #l_coef_ptr] - - b BLOCK_LOOP - -ln2_decode_mb_to - cmp r11, #0x10 - bne ln1_decode_mb_to - - ldr r10, [r9, #0x30] - - mov r7, #2 - mov r3, #0x18 - - str r7, [sp, #l_type] - str r3, [sp, #l_stop] - - str r10, [sp, #l_coef_ptr] - b BLOCK_LOOP - -ln1_decode_mb_to - ldr r2, [sp, #l_bc] - mov r0, #0 - nop - - ldr r3, [r2, #bool_decoder_buffer] - str r5, [r2, #bool_decoder_count] - str r4, [r2, #bool_decoder_value] - sub r3, r8, r3 - str r3, [r2, #bool_decoder_pos] - str r6, [r2, #bool_decoder_range] - - add sp, sp, #l_stacksize - ldmia sp!, {r4 - r11, pc} - - ENDP ; |vp8_decode_mb_tokens_v5| - - END diff --git a/vp8/decoder/onyxd_if_sjl.c b/vp8/decoder/onyxd_if_sjl.c deleted file mode 100644 index e68a7a075..000000000 --- a/vp8/decoder/onyxd_if_sjl.c +++ /dev/null @@ -1,399 +0,0 @@ -/* - * Copyright (c) 2010 The VP8 project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - - -#include "onyxc_int.h" -#include "postproc.h" -#include "onyxd.h" -#include "onyxd_int.h" -#include "vpx_mem/vpx_mem.h" -#include "alloccommon.h" -#include "vpx_scale/yv12extend.h" -#include "loopfilter.h" -#include "swapyv12buffer.h" -#include "g_common.h" -#include "threading.h" -#include "decoderthreading.h" -#include -#include "segmentation_common.h" -#include "quant_common.h" -#include "vpx_scale/vpxscale.h" -#include "systemdependent.h" -#include "vpx_ports/vpx_timer.h" - - -#ifndef VPX_NO_GLOBALS -static int init_ct = 0; -#else -# include "vpx_global_handling.h" -# define init_ct ((int)vpxglobalm(onyxd,init_ct)) -#endif - -extern void vp8_init_loop_filter(VP8_COMMON *cm); - -extern void vp8cx_init_de_quantizer(VP8D_COMP *pbi); -extern void init_detokenizer(VP8D_COMP *dx); - -// DEBUG code -void vp8_recon_write_yuv_frame(unsigned char *name, YV12_BUFFER_CONFIG *s) -{ - FILE *yuv_file = fopen((char *)name, "ab"); - unsigned char *src = s->y_buffer; - int h = s->y_height; - - do - { - fwrite(src, s->y_width, 1, yuv_file); - src += s->y_stride; - } - while (--h); - - src = s->u_buffer; - h = s->uv_height; - - do - { - fwrite(src, s->uv_width, 1, yuv_file); - src += s->uv_stride; - } - while (--h); - - src = s->v_buffer; - h = s->uv_height; - - do - { - fwrite(src, s->uv_width, 1, yuv_file); - src += s->uv_stride; - } - while (--h); - - fclose(yuv_file); -} - -void vp8dx_initialize() -{ - if (!init_ct++) - { - vp8_initialize_common(); - vp8_scale_machine_specific_config(); - } -} - -void vp8dx_shutdown() -{ - if (!--init_ct) - { - vp8_shutdown_common(); - } -} - - -VP8D_PTR vp8dx_create_decompressor(VP8D_CONFIG *oxcf) -{ - VP8D_COMP *pbi = vpx_memalign(32, sizeof(VP8D_COMP)); - - if (!pbi) - return NULL; - - vpx_memset(pbi, 0, sizeof(VP8D_COMP)); - - vp8dx_initialize(); - - vp8_create_common(&pbi->common); - vp8_dmachine_specific_config(pbi); - - pbi->common.current_video_frame = 0; - pbi->ready_for_new_data = 1; - - pbi->CPUFreq = 0; //vp8_get_processor_freq(); - pbi->max_threads = oxcf->max_threads; - vp8_decoder_create_threads(pbi); - - //vp8cx_init_de_quantizer() is first called here. Add check in frame_init_dequantizer() to avoid - // unnecessary calling of vp8cx_init_de_quantizer() for every frame. - vp8cx_init_de_quantizer(pbi); - - { - VP8_COMMON *cm = &pbi->common; - - vp8_init_loop_filter(cm); - cm->last_frame_type = KEY_FRAME; - cm->last_filter_type = cm->filter_type; - cm->last_sharpness_level = cm->sharpness_level; - } - - init_detokenizer(pbi); - - return (VP8D_PTR) pbi; -} -void vp8dx_remove_decompressor(VP8D_PTR ptr) -{ - VP8D_COMP *pbi = (VP8D_COMP *) ptr; - - if (!pbi) - return; - - vp8_decoder_remove_threads(pbi); - vp8_remove_common(&pbi->common); - vpx_free(pbi); - vp8dx_shutdown(); - -} - -void vp8dx_set_setting(VP8D_PTR comp, VP8D_SETTING oxst, int x) -{ - VP8D_COMP *pbi = (VP8D_COMP *) comp; - - (void) pbi; - (void) x; - - switch (oxst) - { - case VP8D_OK: - break; - } -} - -int vp8dx_get_setting(VP8D_PTR comp, VP8D_SETTING oxst) -{ - VP8D_COMP *pbi = (VP8D_COMP *) comp; - - (void) pbi; - - switch (oxst) - { - case VP8D_OK: - break; - } - - return -1; -} - -int vp8dx_get_reference(VP8D_PTR ptr, VP8_REFFRAME ref_frame_flag, YV12_BUFFER_CONFIG *sd) -{ - VP8D_COMP *pbi = (VP8D_COMP *) ptr; - VP8_COMMON *cm = &pbi->common; - - if (ref_frame_flag == VP8_LAST_FLAG) - vp8_yv12_copy_frame_ptr(&cm->last_frame, sd); - - else if (ref_frame_flag == VP8_GOLD_FLAG) - vp8_yv12_copy_frame_ptr(&cm->golden_frame, sd); - - else if (ref_frame_flag == VP8_ALT_FLAG) - vp8_yv12_copy_frame_ptr(&cm->alt_ref_frame, sd); - - else - return -1; - - return 0; -} -int vp8dx_set_reference(VP8D_PTR ptr, VP8_REFFRAME ref_frame_flag, YV12_BUFFER_CONFIG *sd) -{ - VP8D_COMP *pbi = (VP8D_COMP *) ptr; - VP8_COMMON *cm = &pbi->common; - - if (ref_frame_flag == VP8_LAST_FLAG) - vp8_yv12_copy_frame_ptr(sd, &cm->last_frame); - - else if (ref_frame_flag == VP8_GOLD_FLAG) - vp8_yv12_copy_frame_ptr(sd, &cm->golden_frame); - - else if (ref_frame_flag == VP8_ALT_FLAG) - vp8_yv12_copy_frame_ptr(sd, &cm->alt_ref_frame); - - else - return -1; - - return 0; -} -int vp8dx_receive_compressed_data(VP8D_PTR ptr, unsigned long size, char *source, INT64 time_stamp) -{ - VP8D_COMP *pbi = (VP8D_COMP *) ptr; - VP8_COMMON *cm = &pbi->common; - int retcode = 0; - - struct vpx_usec_timer timer; - (void) size; - -// if(pbi->ready_for_new_data == 0) -// return -1; - - vpx_usec_timer_start(&timer); - - if (ptr == 0) - { - return -1; - } - - //cm->current_video_frame++; - pbi->Source = source; - - retcode = vp8_decode_frame(pbi); - - if (retcode < 0) - return retcode; - - // Update the GF useage maps. - vp8_update_gf_useage_maps(cm, &pbi->mb); - - if (pbi->b_multithreaded) - vp8_stop_lfthread(pbi); - - if (cm->refresh_last_frame) - { - vp8_swap_yv12_buffer(&cm->last_frame, &cm->new_frame); - - cm->frame_to_show = &cm->last_frame; - } - else - { - cm->frame_to_show = &cm->new_frame; - } - - if (!pbi->b_multithreaded) - { - struct vpx_usec_timer lpftimer; - vpx_usec_timer_start(&lpftimer); - // Apply the loop filter if appropriate. - - if (cm->filter_level > 0) - { - vp8_loop_filter_frame(cm, &pbi->mb, cm->filter_level); - cm->last_frame_type = cm->frame_type; - cm->last_filter_type = cm->filter_type; - cm->last_sharpness_level = cm->sharpness_level; - - } - - vpx_usec_timer_mark(&lpftimer); - pbi->time_loop_filtering += vpx_usec_timer_elapsed(&lpftimer); - } - - vp8_yv12_extend_frame_borders_ptr(cm->frame_to_show); - -#if 0 - // DEBUG code - //vp8_recon_write_yuv_frame("recon.yuv", cm->frame_to_show); - if (cm->current_video_frame <= 5) - write_dx_frame_to_file(cm->frame_to_show, cm->current_video_frame); -#endif - - // If any buffer copy / swaping is signalled it should be done here. - if (cm->copy_buffer_to_arf) - { - if (cm->copy_buffer_to_arf == 1) - { - if (cm->refresh_last_frame) - vp8_yv12_copy_frame_ptr(&cm->new_frame, &cm->alt_ref_frame); - else - vp8_yv12_copy_frame_ptr(&cm->last_frame, &cm->alt_ref_frame); - } - else if (cm->copy_buffer_to_arf == 2) - vp8_yv12_copy_frame_ptr(&cm->golden_frame, &cm->alt_ref_frame); - } - - if (cm->copy_buffer_to_gf) - { - if (cm->copy_buffer_to_gf == 1) - { - if (cm->refresh_last_frame) - vp8_yv12_copy_frame_ptr(&cm->new_frame, &cm->golden_frame); - else - vp8_yv12_copy_frame_ptr(&cm->last_frame, &cm->golden_frame); - } - else if (cm->copy_buffer_to_gf == 2) - vp8_yv12_copy_frame_ptr(&cm->alt_ref_frame, &cm->golden_frame); - } - - // Should the golden or alternate reference frame be refreshed? - if (cm->refresh_golden_frame || cm->refresh_alt_ref_frame) - { - if (cm->refresh_golden_frame) - vp8_yv12_copy_frame_ptr(cm->frame_to_show, &cm->golden_frame); - - if (cm->refresh_alt_ref_frame) - vp8_yv12_copy_frame_ptr(cm->frame_to_show, &cm->alt_ref_frame); - - //vpx_log("Decoder: recovery frame received \n"); - - // Update data structures that monitors GF useage - vpx_memset(cm->gf_active_flags, 1, (cm->mb_rows * cm->mb_cols)); - cm->gf_active_count = cm->mb_rows * cm->mb_cols; - } - - vp8_clear_system_state(); - - vpx_usec_timer_mark(&timer); - pbi->decode_microseconds = vpx_usec_timer_elapsed(&timer); - - pbi->time_decoding += pbi->decode_microseconds; - -// vp8_print_modes_and_motion_vectors( cm->mi, cm->mb_rows,cm->mb_cols, cm->current_video_frame); - - cm->current_video_frame++; - pbi->ready_for_new_data = 0; - pbi->last_time_stamp = time_stamp; - - { - int i; - INT64 earliest_time = pbi->dr[0].time_stamp; - INT64 latest_time = pbi->dr[0].time_stamp; - INT64 time_diff = 0; - int bytes = 0; - - pbi->dr[pbi->common.current_video_frame&0xf].size = pbi->bc.pos + pbi->bc2.pos + 4;; - pbi->dr[pbi->common.current_video_frame&0xf].time_stamp = time_stamp; - - for (i = 0; i < 16; i++) - { - - bytes += pbi->dr[i].size; - - if (pbi->dr[i].time_stamp < earliest_time) - earliest_time = pbi->dr[i].time_stamp; - - if (pbi->dr[i].time_stamp > latest_time) - latest_time = pbi->dr[i].time_stamp; - } - - time_diff = latest_time - earliest_time; - - if (time_diff > 0) - { - pbi->common.bitrate = 80000.00 * bytes / time_diff ; - pbi->common.framerate = 160000000.00 / time_diff ; - } - - } - return retcode; -} -int vp8dx_get_raw_frame(VP8D_PTR ptr, YV12_BUFFER_CONFIG *sd, INT64 *time_stamp, INT64 *time_end_stamp, int deblock_level, int noise_level, int flags) -{ - int ret = -1; - VP8D_COMP *pbi = (VP8D_COMP *) ptr; - - if (pbi->ready_for_new_data == 1) - return ret; - - // ie no raw frame to show!!! - if (pbi->common.show_frame == 0) - return ret; - - pbi->ready_for_new_data = 1; - *time_stamp = pbi->last_time_stamp; - *time_end_stamp = 0; - - sd->clrtype = pbi->common.clr_type; - ret = vp8_post_proc_frame(&pbi->common, sd, deblock_level, noise_level, flags); - vp8_clear_system_state(); - return ret; -} diff --git a/vp8/vp8_dx_iface.c b/vp8/vp8_dx_iface.c index ea75529cd..e0e1103f0 100644 --- a/vp8/vp8_dx_iface.c +++ b/vp8/vp8_dx_iface.c @@ -196,9 +196,6 @@ static void vp8_finalize_mmaps(vpx_codec_alg_priv_t *ctx) ctx->pbi->fb_storage_ptr[0] = mmap_lkup(ctx, VP6_SEG_IMG0_STRG); ctx->pbi->fb_storage_ptr[1] = mmap_lkup(ctx, VP6_SEG_IMG1_STRG); ctx->pbi->fb_storage_ptr[2] = mmap_lkup(ctx, VP6_SEG_IMG2_STRG); - #if CONFIG_NEW_TOKENS - ctx->pbi->token_graph = mmap_lkup(ctx, VP6_SEG_TOKEN_GRAPH); - #endif #if CONFIG_POSTPROC ctx->pbi->postproc.deblock.fragment_variances = mmap_lkup(ctx, VP6_SEG_DEBLOCKER); ctx->pbi->fb_storage_ptr[3] = mmap_lkup(ctx, VP6_SEG_PP_IMG_STRG); diff --git a/vp8/vp8dx_arm.mk b/vp8/vp8dx_arm.mk index f8bcd32d2..e741680c0 100644 --- a/vp8/vp8dx_arm.mk +++ b/vp8/vp8dx_arm.mk @@ -32,14 +32,3 @@ VP8_DX_SRCS-$(HAVE_ARMV6) += decoder/arm/armv6/dequantize_v6$(ASM) VP8_DX_SRCS-$(HAVE_ARMV7) += decoder/arm/neon/dequantdcidct_neon$(ASM) VP8_DX_SRCS-$(HAVE_ARMV7) += decoder/arm/neon/dequantidct_neon$(ASM) VP8_DX_SRCS-$(HAVE_ARMV7) += decoder/arm/neon/dequantizeb_neon$(ASM) - - -#for new token test -ifeq ($(ARCH_ARM),yes) -VP8_DX_SRCS-$(CONFIG_NEW_TOKENS) += decoder/arm/detokenize_arm_sjl.c -VP8_DX_SRCS-$(CONFIG_NEW_TOKENS) += decoder/arm/detokenize_arm_v6$(ASM) -VP8_DX_SRCS-$(CONFIG_NEW_TOKENS) += decoder/onyxd_if_sjl.c - -VP8_DX_SRCS_REMOVE-$(CONFIG_NEW_TOKENS) += decoder/arm/detokenize_arm.c -VP8_DX_SRCS_REMOVE-$(CONFIG_NEW_TOKENS) += decoder/onyxd_if.c -endif