8aae246089
This is the final commit in the series converting to the new RTCD system. It removes the encoder csystemdependent files and the remaining global function pointers that didn't conform to the old RTCD system. Change-Id: I9649706f1bb89f0cbf431ab0e3e7552d37be4d8e
44 lines
1.5 KiB
C
44 lines
1.5 KiB
C
/*
|
|
* Copyright (c) 2012 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.
|
|
*/
|
|
|
|
|
|
#include "vpx_config.h"
|
|
#include "vpx_rtcd.h"
|
|
#include "vpx_ports/x86.h"
|
|
#include "vp8/encoder/block.h"
|
|
|
|
int vp8_mbblock_error_xmm_impl(short *coeff_ptr, short *dcoef_ptr, int dc);
|
|
int vp8_mbblock_error_xmm(MACROBLOCK *mb, int dc)
|
|
{
|
|
short *coeff_ptr = mb->block[0].coeff;
|
|
short *dcoef_ptr = mb->e_mbd.block[0].dqcoeff;
|
|
return vp8_mbblock_error_xmm_impl(coeff_ptr, dcoef_ptr, dc);
|
|
}
|
|
|
|
int vp8_mbuverror_xmm_impl(short *s_ptr, short *d_ptr);
|
|
int vp8_mbuverror_xmm(MACROBLOCK *mb)
|
|
{
|
|
short *s_ptr = &mb->coeff[256];
|
|
short *d_ptr = &mb->e_mbd.dqcoeff[256];
|
|
return vp8_mbuverror_xmm_impl(s_ptr, d_ptr);
|
|
}
|
|
|
|
void vp8_subtract_b_sse2_impl(unsigned char *z, int src_stride,
|
|
short *diff, unsigned char *predictor,
|
|
int pitch);
|
|
void vp8_subtract_b_sse2(BLOCK *be, BLOCKD *bd, int pitch)
|
|
{
|
|
unsigned char *z = *(be->base_src) + be->src;
|
|
unsigned int src_stride = be->src_stride;
|
|
short *diff = &be->src_diff[0];
|
|
unsigned char *predictor = &bd->predictor[0];
|
|
vp8_subtract_b_sse2_impl(z, src_stride, diff, predictor, pitch);
|
|
}
|