2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
12 #ifndef __INC_QUANTIZE_H
13 #define __INC_QUANTIZE_H
17 #define prototype_quantize_block(sym) \
18 void (sym)(BLOCK *b,BLOCKD *d)
20 #if ARCH_X86 || ARCH_X86_64
21 #include "x86/quantize_x86.h"
25 #include "arm/quantize_arm.h"
28 #ifndef vp8_quantize_quantb
29 #define vp8_quantize_quantb vp8_regular_quantize_b
31 extern prototype_quantize_block(vp8_quantize_quantb
);
33 #ifndef vp8_quantize_fastquantb
34 #define vp8_quantize_fastquantb vp8_fast_quantize_b_c
36 extern prototype_quantize_block(vp8_quantize_fastquantb
);
40 prototype_quantize_block(*quantb
);
41 prototype_quantize_block(*fastquantb
);
42 } vp8_quantize_rtcd_vtable_t
;
44 #if CONFIG_RUNTIME_CPU_DETECT
45 #define QUANTIZE_INVOKE(ctx,fn) (ctx)->fn
47 #define QUANTIZE_INVOKE(ctx,fn) vp8_quantize_##fn
50 extern void vp8_strict_quantize_b(BLOCK
*b
,BLOCKD
*d
);
52 extern void vp8_quantize_mb(MACROBLOCK
*x
);
53 extern void vp8_quantize_mbuv(MACROBLOCK
*x
);
54 extern void vp8_quantize_mby(MACROBLOCK
*x
);