RTCD: add remaining IDCT functions
This commit continues the process of converting to the new RTCD system. Change-Id: I03c4dbf30dfd3558b0e256ff9d3ff4c012aadc80
This commit is contained in:
		@@ -15,7 +15,6 @@
 | 
			
		||||
#include "vp8/common/subpixel.h"
 | 
			
		||||
#include "vp8/common/loopfilter.h"
 | 
			
		||||
#include "vp8/common/recon.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vp8/common/onyxc_int.h"
 | 
			
		||||
 | 
			
		||||
void vp8_arch_arm_common_init(VP8_COMMON *ctx)
 | 
			
		||||
@@ -44,9 +43,6 @@ void vp8_arch_arm_common_init(VP8_COMMON *ctx)
 | 
			
		||||
        rtcd->subpix.bilinear8x4   = vp8_bilinear_predict8x4_armv6;
 | 
			
		||||
        rtcd->subpix.bilinear4x4   = vp8_bilinear_predict4x4_armv6;
 | 
			
		||||
 | 
			
		||||
        rtcd->idct.idct16       = vp8_short_idct4x4llm_v6_dual;
 | 
			
		||||
        rtcd->idct.iwalsh16     = vp8_short_inv_walsh4x4_v6;
 | 
			
		||||
 | 
			
		||||
        rtcd->recon.copy16x16   = vp8_copy_mem16x16_v6;
 | 
			
		||||
        rtcd->recon.copy8x8     = vp8_copy_mem8x8_v6;
 | 
			
		||||
        rtcd->recon.copy8x4     = vp8_copy_mem8x4_v6;
 | 
			
		||||
@@ -66,9 +62,6 @@ void vp8_arch_arm_common_init(VP8_COMMON *ctx)
 | 
			
		||||
        rtcd->subpix.bilinear8x4   = vp8_bilinear_predict8x4_neon;
 | 
			
		||||
        rtcd->subpix.bilinear4x4   = vp8_bilinear_predict4x4_neon;
 | 
			
		||||
 | 
			
		||||
        rtcd->idct.idct16       = vp8_short_idct4x4llm_neon;
 | 
			
		||||
        rtcd->idct.iwalsh16     = vp8_short_inv_walsh4x4_neon;
 | 
			
		||||
 | 
			
		||||
        rtcd->recon.copy16x16   = vp8_copy_mem16x16_neon;
 | 
			
		||||
        rtcd->recon.copy8x8     = vp8_copy_mem8x8_neon;
 | 
			
		||||
        rtcd->recon.copy8x4     = vp8_copy_mem8x4_neon;
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "vpx_config.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vpx_rtcd.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void vp8_dequant_idct_add_y_block_v6(short *q, short *dq,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,51 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  Copyright (c) 2010 The WebM 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef IDCT_ARM_H
 | 
			
		||||
#define IDCT_ARM_H
 | 
			
		||||
 | 
			
		||||
#if HAVE_MEDIA
 | 
			
		||||
extern prototype_idct(vp8_short_idct4x4llm_v6_dual);
 | 
			
		||||
extern prototype_idct_scalar_add(vp8_dc_only_idct_add_v6);
 | 
			
		||||
extern prototype_second_order(vp8_short_inv_walsh4x4_1_v6);
 | 
			
		||||
extern prototype_second_order(vp8_short_inv_walsh4x4_v6);
 | 
			
		||||
 | 
			
		||||
#if !CONFIG_RUNTIME_CPU_DETECT
 | 
			
		||||
#undef  vp8_idct_idct16
 | 
			
		||||
#define vp8_idct_idct16 vp8_short_idct4x4llm_v6_dual
 | 
			
		||||
 | 
			
		||||
#undef  vp8_idct_idct1_scalar_add
 | 
			
		||||
#define vp8_idct_idct1_scalar_add vp8_dc_only_idct_add_v6
 | 
			
		||||
 | 
			
		||||
#undef  vp8_idct_iwalsh16
 | 
			
		||||
#define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_v6
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if HAVE_NEON
 | 
			
		||||
extern prototype_idct(vp8_short_idct4x4llm_neon);
 | 
			
		||||
extern prototype_idct_scalar_add(vp8_dc_only_idct_add_neon);
 | 
			
		||||
extern prototype_second_order(vp8_short_inv_walsh4x4_1_neon);
 | 
			
		||||
extern prototype_second_order(vp8_short_inv_walsh4x4_neon);
 | 
			
		||||
 | 
			
		||||
#if !CONFIG_RUNTIME_CPU_DETECT
 | 
			
		||||
#undef  vp8_idct_idct16
 | 
			
		||||
#define vp8_idct_idct16 vp8_short_idct4x4llm_neon
 | 
			
		||||
 | 
			
		||||
#undef  vp8_idct_idct1_scalar_add
 | 
			
		||||
#define vp8_idct_idct1_scalar_add vp8_dc_only_idct_add_neon
 | 
			
		||||
 | 
			
		||||
#undef  vp8_idct_iwalsh16
 | 
			
		||||
#define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_neon
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "vpx_config.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vpx_rtcd.h"
 | 
			
		||||
 | 
			
		||||
/* place these declarations here because we don't want to maintain them
 | 
			
		||||
 * outside of this scope
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,6 @@
 | 
			
		||||
#include "vpx_config.h"
 | 
			
		||||
#include "vpx_rtcd.h"
 | 
			
		||||
#include "vp8/common/blockd.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vpx_mem/vpx_mem.h"
 | 
			
		||||
 | 
			
		||||
void vp8_dequantize_b_c(BLOCKD *d, short *DQC)
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,6 @@
 | 
			
		||||
#include "vp8/common/subpixel.h"
 | 
			
		||||
#include "vp8/common/loopfilter.h"
 | 
			
		||||
#include "vp8/common/recon.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vp8/common/onyxc_int.h"
 | 
			
		||||
 | 
			
		||||
#if CONFIG_MULTITHREAD
 | 
			
		||||
@@ -71,11 +70,6 @@ void vp8_machine_specific_config(VP8_COMMON *ctx)
 | 
			
		||||
    VP8_COMMON_RTCD *rtcd = &ctx->rtcd;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    rtcd->idct.idct16       = vp8_short_idct4x4llm_c;
 | 
			
		||||
    rtcd->idct.idct1_scalar_add = vp8_dc_only_idct_add_c;
 | 
			
		||||
    rtcd->idct.iwalsh1      = vp8_short_inv_walsh4x4_1_c;
 | 
			
		||||
    rtcd->idct.iwalsh16     = vp8_short_inv_walsh4x4_c;
 | 
			
		||||
 | 
			
		||||
    rtcd->recon.copy16x16   = vp8_copy_mem16x16_c;
 | 
			
		||||
    rtcd->recon.copy8x8     = vp8_copy_mem8x8_c;
 | 
			
		||||
    rtcd->recon.copy8x4     = vp8_copy_mem8x4_c;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,80 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  Copyright (c) 2010 The WebM 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef __INC_IDCT_H
 | 
			
		||||
#define __INC_IDCT_H
 | 
			
		||||
 | 
			
		||||
#define prototype_second_order(sym) \
 | 
			
		||||
    void sym(short *input, short *output)
 | 
			
		||||
 | 
			
		||||
#define prototype_idct(sym) \
 | 
			
		||||
    void sym(short *input, unsigned char *pred, int pitch, unsigned char *dst, \
 | 
			
		||||
             int dst_stride)
 | 
			
		||||
 | 
			
		||||
#define prototype_idct_scalar_add(sym) \
 | 
			
		||||
    void sym(short input, \
 | 
			
		||||
            unsigned char *pred, int pred_stride, \
 | 
			
		||||
            unsigned char *dst, \
 | 
			
		||||
            int dst_stride)
 | 
			
		||||
 | 
			
		||||
#if ARCH_X86 || ARCH_X86_64
 | 
			
		||||
#include "x86/idct_x86.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if ARCH_ARM
 | 
			
		||||
#include "arm/idct_arm.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef vp8_idct_idct16
 | 
			
		||||
#define vp8_idct_idct16 vp8_short_idct4x4llm_c
 | 
			
		||||
#endif
 | 
			
		||||
extern prototype_idct(vp8_idct_idct16);
 | 
			
		||||
/* add this prototype to prevent compiler warning about implicit
 | 
			
		||||
 * declaration of vp8_short_idct4x4llm_c function in dequantize.c
 | 
			
		||||
 * when building, for example, neon optimized version */
 | 
			
		||||
extern prototype_idct(vp8_short_idct4x4llm_c);
 | 
			
		||||
 | 
			
		||||
#ifndef vp8_idct_idct1_scalar_add
 | 
			
		||||
#define vp8_idct_idct1_scalar_add vp8_dc_only_idct_add_c
 | 
			
		||||
#endif
 | 
			
		||||
extern prototype_idct_scalar_add(vp8_idct_idct1_scalar_add);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef vp8_idct_iwalsh1
 | 
			
		||||
#define vp8_idct_iwalsh1 vp8_short_inv_walsh4x4_1_c
 | 
			
		||||
#endif
 | 
			
		||||
extern prototype_second_order(vp8_idct_iwalsh1);
 | 
			
		||||
 | 
			
		||||
#ifndef vp8_idct_iwalsh16
 | 
			
		||||
#define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_c
 | 
			
		||||
#endif
 | 
			
		||||
extern prototype_second_order(vp8_idct_iwalsh16);
 | 
			
		||||
 | 
			
		||||
typedef prototype_idct((*vp8_idct_fn_t));
 | 
			
		||||
typedef prototype_idct_scalar_add((*vp8_idct_scalar_add_fn_t));
 | 
			
		||||
typedef prototype_second_order((*vp8_second_order_fn_t));
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
{
 | 
			
		||||
    vp8_idct_fn_t            idct16;
 | 
			
		||||
    vp8_idct_scalar_add_fn_t idct1_scalar_add;
 | 
			
		||||
 | 
			
		||||
    vp8_second_order_fn_t iwalsh1;
 | 
			
		||||
    vp8_second_order_fn_t iwalsh16;
 | 
			
		||||
} vp8_idct_rtcd_vtable_t;
 | 
			
		||||
 | 
			
		||||
#if CONFIG_RUNTIME_CPU_DETECT
 | 
			
		||||
#define IDCT_INVOKE(ctx,fn) (ctx)->fn
 | 
			
		||||
#else
 | 
			
		||||
#define IDCT_INVOKE(ctx,fn) vp8_idct_##fn
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "vpx_config.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vpx_rtcd.h"
 | 
			
		||||
 | 
			
		||||
void vp8_dequant_idct_add_c(short *input, short *dq,
 | 
			
		||||
                            unsigned char *dest, int stride);
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,6 @@
 | 
			
		||||
 | 
			
		||||
#include "vpx_config.h"
 | 
			
		||||
#include "vpx_rtcd.h"
 | 
			
		||||
#include "idct.h"
 | 
			
		||||
#include "blockd.h"
 | 
			
		||||
#include "onyxc_int.h"
 | 
			
		||||
 | 
			
		||||
@@ -44,12 +43,12 @@ static void vp8_inverse_transform_mby(MACROBLOCKD *xd,
 | 
			
		||||
        /* do 2nd order transform on the dc block */
 | 
			
		||||
        if (xd->eobs[24] > 1)
 | 
			
		||||
        {
 | 
			
		||||
            IDCT_INVOKE(&rtcd->idct, iwalsh16)
 | 
			
		||||
            vp8_short_inv_walsh4x4
 | 
			
		||||
                (&xd->block[24].dqcoeff[0], xd->qcoeff);
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            IDCT_INVOKE(&rtcd->idct, iwalsh1)
 | 
			
		||||
            vp8_short_inv_walsh4x4_1
 | 
			
		||||
                (&xd->block[24].dqcoeff[0], xd->qcoeff);
 | 
			
		||||
        }
 | 
			
		||||
        eob_adjust(xd->eobs, xd->qcoeff);
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,6 @@
 | 
			
		||||
#include "loopfilter.h"
 | 
			
		||||
#include "entropymv.h"
 | 
			
		||||
#include "entropy.h"
 | 
			
		||||
#include "idct.h"
 | 
			
		||||
#include "recon.h"
 | 
			
		||||
#if CONFIG_POSTPROC
 | 
			
		||||
#include "postproc.h"
 | 
			
		||||
@@ -73,7 +72,6 @@ typedef enum
 | 
			
		||||
typedef struct VP8_COMMON_RTCD
 | 
			
		||||
{
 | 
			
		||||
#if CONFIG_RUNTIME_CPU_DETECT
 | 
			
		||||
    vp8_idct_rtcd_vtable_t        idct;
 | 
			
		||||
    vp8_recon_rtcd_vtable_t       recon;
 | 
			
		||||
    vp8_subpix_rtcd_vtable_t      subpix;
 | 
			
		||||
#if CONFIG_POSTPROC
 | 
			
		||||
 
 | 
			
		||||
@@ -76,3 +76,25 @@ vp8_loop_filter_simple_bh_mmx=vp8_loop_filter_bhs_mmx
 | 
			
		||||
vp8_loop_filter_simple_bh_sse2=vp8_loop_filter_bhs_sse2
 | 
			
		||||
vp8_loop_filter_simple_bh_media=vp8_loop_filter_bhs_armv6
 | 
			
		||||
vp8_loop_filter_simple_bh_neon=vp8_loop_filter_bhs_neon
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# IDCT
 | 
			
		||||
#
 | 
			
		||||
#idct16
 | 
			
		||||
prototype void vp8_short_idct4x4llm "short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride"
 | 
			
		||||
specialize vp8_short_idct4x4llm mmx media neon
 | 
			
		||||
vp8_short_idct4x4llm_media=vp8_short_idct4x4llm_v6_dual
 | 
			
		||||
 | 
			
		||||
#iwalsh1
 | 
			
		||||
prototype void vp8_short_inv_walsh4x4_1 "short *input, short *output"
 | 
			
		||||
specialize vp8_short_inv_walsh4x4_1 c #no asm yet
 | 
			
		||||
 | 
			
		||||
#iwalsh16
 | 
			
		||||
prototype void vp8_short_inv_walsh4x4 "short *input, short *output"
 | 
			
		||||
specialize vp8_short_inv_walsh4x4 mmx sse2 media neon
 | 
			
		||||
vp8_short_inv_walsh4x4_media=vp8_short_inv_walsh4x4_v6
 | 
			
		||||
 | 
			
		||||
#idct1_scalar_add
 | 
			
		||||
prototype void vp8_dc_only_idct_add "short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride"
 | 
			
		||||
specialize vp8_dc_only_idct_add	mmx media neon
 | 
			
		||||
vp8_dc_only_idct_add_media=vp8_dc_only_idct_add_v6
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,6 @@
 | 
			
		||||
 | 
			
		||||
#include "vpx_config.h"
 | 
			
		||||
#include "vpx_rtcd.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vp8/common/blockd.h"
 | 
			
		||||
 | 
			
		||||
extern void vp8_dequantize_b_impl_mmx(short *sq, short *dq, short *q);
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "vpx_config.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vpx_rtcd.h"
 | 
			
		||||
 | 
			
		||||
void vp8_idct_dequant_0_2x_sse2
 | 
			
		||||
            (short *q, short *dq ,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,56 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  Copyright (c) 2010 The WebM 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef IDCT_X86_H
 | 
			
		||||
#define IDCT_X86_H
 | 
			
		||||
 | 
			
		||||
/* Note:
 | 
			
		||||
 *
 | 
			
		||||
 * This platform is commonly built for runtime CPU detection. If you modify
 | 
			
		||||
 * any of the function mappings present in this file, be sure to also update
 | 
			
		||||
 * them in the function pointer initialization code
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if HAVE_MMX
 | 
			
		||||
extern prototype_idct(vp8_short_idct4x4llm_mmx);
 | 
			
		||||
extern prototype_idct_scalar_add(vp8_dc_only_idct_add_mmx);
 | 
			
		||||
 | 
			
		||||
extern prototype_second_order(vp8_short_inv_walsh4x4_mmx);
 | 
			
		||||
 | 
			
		||||
#if !CONFIG_RUNTIME_CPU_DETECT
 | 
			
		||||
#undef  vp8_idct_idct16
 | 
			
		||||
#define vp8_idct_idct16 vp8_short_idct4x4llm_mmx
 | 
			
		||||
 | 
			
		||||
#undef  vp8_idct_idct1_scalar_add
 | 
			
		||||
#define vp8_idct_idct1_scalar_add vp8_dc_only_idct_add_mmx
 | 
			
		||||
 | 
			
		||||
#undef vp8_idct_iwalsh16
 | 
			
		||||
#define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_mmx
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if HAVE_SSE2
 | 
			
		||||
 | 
			
		||||
extern prototype_second_order(vp8_short_inv_walsh4x4_sse2);
 | 
			
		||||
 | 
			
		||||
#if !CONFIG_RUNTIME_CPU_DETECT
 | 
			
		||||
 | 
			
		||||
#undef vp8_idct_iwalsh16
 | 
			
		||||
#define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_sse2
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -14,7 +14,6 @@
 | 
			
		||||
#include "vp8/common/subpixel.h"
 | 
			
		||||
#include "vp8/common/loopfilter.h"
 | 
			
		||||
#include "vp8/common/recon.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vp8/common/pragmas.h"
 | 
			
		||||
#include "vp8/common/onyxc_int.h"
 | 
			
		||||
 | 
			
		||||
@@ -36,10 +35,6 @@ void vp8_arch_x86_common_init(VP8_COMMON *ctx)
 | 
			
		||||
 | 
			
		||||
    if (flags & HAS_MMX)
 | 
			
		||||
    {
 | 
			
		||||
        rtcd->idct.idct16       = vp8_short_idct4x4llm_mmx;
 | 
			
		||||
        rtcd->idct.idct1_scalar_add = vp8_dc_only_idct_add_mmx;
 | 
			
		||||
        rtcd->idct.iwalsh16     = vp8_short_inv_walsh4x4_mmx;
 | 
			
		||||
 | 
			
		||||
        rtcd->recon.copy8x8     = vp8_copy_mem8x8_mmx;
 | 
			
		||||
        rtcd->recon.copy8x4     = vp8_copy_mem8x4_mmx;
 | 
			
		||||
        rtcd->recon.copy16x16   = vp8_copy_mem16x16_mmx;
 | 
			
		||||
@@ -76,8 +71,6 @@ void vp8_arch_x86_common_init(VP8_COMMON *ctx)
 | 
			
		||||
        rtcd->recon.build_intra_predictors_mby_s =
 | 
			
		||||
            vp8_build_intra_predictors_mby_s_sse2;
 | 
			
		||||
 | 
			
		||||
        rtcd->idct.iwalsh16     = vp8_short_inv_walsh4x4_sse2;
 | 
			
		||||
 | 
			
		||||
        rtcd->subpix.sixtap16x16   = vp8_sixtap_predict16x16_sse2;
 | 
			
		||||
        rtcd->subpix.sixtap8x8     = vp8_sixtap_predict8x8_sse2;
 | 
			
		||||
        rtcd->subpix.sixtap8x4     = vp8_sixtap_predict8x4_sse2;
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,6 @@
 | 
			
		||||
#include "error_concealment.h"
 | 
			
		||||
#endif
 | 
			
		||||
#include "vpx_mem/vpx_mem.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vp8/common/threading.h"
 | 
			
		||||
#include "decoderthreading.h"
 | 
			
		||||
#include "dboolhuff.h"
 | 
			
		||||
@@ -200,7 +199,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd,
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        IDCT_INVOKE(RTCD_VTABLE(idct), idct1_scalar_add)
 | 
			
		||||
                        vp8_dc_only_idct_add
 | 
			
		||||
                            (b->qcoeff[0] * DQC[0],
 | 
			
		||||
                            *(b->base_dst) + b->dst, b->dst_stride,
 | 
			
		||||
                            *(b->base_dst) + b->dst, b->dst_stride);
 | 
			
		||||
@@ -239,7 +238,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd,
 | 
			
		||||
                {
 | 
			
		||||
                    vp8_dequantize_b(b, xd->dequant_y2);
 | 
			
		||||
 | 
			
		||||
                    IDCT_INVOKE(RTCD_VTABLE(idct), iwalsh16)(&b->dqcoeff[0],
 | 
			
		||||
                    vp8_short_inv_walsh4x4(&b->dqcoeff[0],
 | 
			
		||||
                        xd->qcoeff);
 | 
			
		||||
                    ((int *)b->qcoeff)[0] = 0;
 | 
			
		||||
                    ((int *)b->qcoeff)[1] = 0;
 | 
			
		||||
@@ -253,7 +252,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd,
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    b->dqcoeff[0] = b->qcoeff[0] * xd->dequant_y2[0];
 | 
			
		||||
                    IDCT_INVOKE(RTCD_VTABLE(idct), iwalsh1)(&b->dqcoeff[0],
 | 
			
		||||
                    vp8_short_inv_walsh4x4_1(&b->dqcoeff[0],
 | 
			
		||||
                        xd->qcoeff);
 | 
			
		||||
                    ((int *)b->qcoeff)[0] = 0;
 | 
			
		||||
                }
 | 
			
		||||
 
 | 
			
		||||
@@ -199,7 +199,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd, int mb_row, int m
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    IDCT_INVOKE(RTCD_VTABLE(idct), idct1_scalar_add)
 | 
			
		||||
                    vp8_dc_only_idct_add
 | 
			
		||||
                        (b->qcoeff[0] * DQC[0],
 | 
			
		||||
                        *(b->base_dst) + b->dst, b->dst_stride,
 | 
			
		||||
                        *(b->base_dst) + b->dst, b->dst_stride);
 | 
			
		||||
@@ -221,7 +221,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd, int mb_row, int m
 | 
			
		||||
            {
 | 
			
		||||
                vp8_dequantize_b(b, xd->dequant_y2);
 | 
			
		||||
 | 
			
		||||
                IDCT_INVOKE(RTCD_VTABLE(idct), iwalsh16)(&b->dqcoeff[0],
 | 
			
		||||
                vp8_short_inv_walsh4x4(&b->dqcoeff[0],
 | 
			
		||||
                    xd->qcoeff);
 | 
			
		||||
                ((int *)b->qcoeff)[0] = 0;
 | 
			
		||||
                ((int *)b->qcoeff)[1] = 0;
 | 
			
		||||
@@ -235,7 +235,7 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd, int mb_row, int m
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                b->dqcoeff[0] = b->qcoeff[0] * xd->dequant_y2[0];
 | 
			
		||||
                IDCT_INVOKE(RTCD_VTABLE(idct), iwalsh1)(&b->dqcoeff[0], xd->qcoeff);
 | 
			
		||||
                vp8_short_inv_walsh4x4_1(&b->dqcoeff[0], xd->qcoeff);
 | 
			
		||||
                ((int *)b->qcoeff)[0] = 0;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "vpx_config.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "vpx_rtcd.h"
 | 
			
		||||
#include "quantize.h"
 | 
			
		||||
#include "vp8/common/reconintra.h"
 | 
			
		||||
#include "vp8/common/reconintra4x4.h"
 | 
			
		||||
@@ -78,12 +78,12 @@ void vp8_encode_intra4x4block(const VP8_ENCODER_RTCD *rtcd,
 | 
			
		||||
 | 
			
		||||
    if (*b->eob > 1)
 | 
			
		||||
    {
 | 
			
		||||
        IDCT_INVOKE(IF_RTCD(&rtcd->common->idct), idct16)(b->dqcoeff,
 | 
			
		||||
        vp8_short_idct4x4llm(b->dqcoeff,
 | 
			
		||||
            b->predictor, 16, *(b->base_dst) + b->dst, b->dst_stride);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        IDCT_INVOKE(IF_RTCD(&rtcd->common->idct), idct1_scalar_add)
 | 
			
		||||
        vp8_dc_only_idct_add
 | 
			
		||||
            (b->dqcoeff[0], b->predictor, 16, *(b->base_dst) + b->dst,
 | 
			
		||||
                b->dst_stride);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,8 @@
 | 
			
		||||
#include <math.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <assert.h>
 | 
			
		||||
#include "vpx_config.h"
 | 
			
		||||
#include "vpx_rtcd.h"
 | 
			
		||||
#include "vp8/common/pragmas.h"
 | 
			
		||||
 | 
			
		||||
#include "tokenize.h"
 | 
			
		||||
@@ -27,7 +29,6 @@
 | 
			
		||||
#include "vp8/common/findnearmv.h"
 | 
			
		||||
#include "encodemb.h"
 | 
			
		||||
#include "quantize.h"
 | 
			
		||||
#include "vp8/common/idct.h"
 | 
			
		||||
#include "variance.h"
 | 
			
		||||
#include "mcomp.h"
 | 
			
		||||
#include "rdopt.h"
 | 
			
		||||
@@ -683,7 +684,7 @@ static int rd_pick_intra4x4block(
 | 
			
		||||
    }
 | 
			
		||||
    b->bmi.as_mode = (B_PREDICTION_MODE)(*best_mode);
 | 
			
		||||
 | 
			
		||||
    IDCT_INVOKE(IF_RTCD(&cpi->rtcd.common->idct), idct16)(best_dqcoeff,
 | 
			
		||||
    vp8_short_idct4x4llm(best_dqcoeff,
 | 
			
		||||
        best_predictor, 16, *(b->base_dst) + b->dst, b->dst_stride);
 | 
			
		||||
 | 
			
		||||
    return best_rd;
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,6 @@ VP8_COMMON_SRCS-yes += common/entropymv.h
 | 
			
		||||
VP8_COMMON_SRCS-yes += common/extend.h
 | 
			
		||||
VP8_COMMON_SRCS-yes += common/findnearmv.h
 | 
			
		||||
VP8_COMMON_SRCS-yes += common/header.h
 | 
			
		||||
VP8_COMMON_SRCS-yes += common/idct.h
 | 
			
		||||
VP8_COMMON_SRCS-yes += common/invtrans.h
 | 
			
		||||
VP8_COMMON_SRCS-yes += common/loopfilter.h
 | 
			
		||||
VP8_COMMON_SRCS-yes += common/modecont.h
 | 
			
		||||
@@ -77,7 +76,6 @@ VP8_COMMON_SRCS-yes += common/treecoder.c
 | 
			
		||||
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/filter_x86.c
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/filter_x86.h
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/idct_x86.h
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/subpixel_x86.h
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/recon_x86.h
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/postproc_x86.h
 | 
			
		||||
@@ -112,7 +110,6 @@ endif
 | 
			
		||||
# common (c)
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_ARM)  += common/arm/arm_systemdependent.c
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_ARM)  += common/arm/filter_arm.c
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_ARM)  += common/arm/idct_arm.h
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_ARM)  += common/arm/loopfilter_arm.c
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_ARM)  += common/arm/recon_arm.h
 | 
			
		||||
VP8_COMMON_SRCS-$(ARCH_ARM)  += common/arm/reconintra_arm.c
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user