diff options
author | John Koleszar <jkoleszar@google.com> | 2010-05-18 11:58:33 -0400 |
---|---|---|
committer | John Koleszar <jkoleszar@google.com> | 2010-05-18 11:58:33 -0400 |
commit | 0ea50ce9cb4b65eee6afa1d041fe8beb5abda667 (patch) | |
tree | 1f3b9019f28bc56fd3156f96e5a9653a983ee61b /vp8/encoder/quantize.h | |
download | libvpx-0ea50ce9cb4b65eee6afa1d041fe8beb5abda667.tar libvpx-0ea50ce9cb4b65eee6afa1d041fe8beb5abda667.tar.gz libvpx-0ea50ce9cb4b65eee6afa1d041fe8beb5abda667.tar.bz2 libvpx-0ea50ce9cb4b65eee6afa1d041fe8beb5abda667.zip |
Initial WebM release
Diffstat (limited to 'vp8/encoder/quantize.h')
-rw-r--r-- | vp8/encoder/quantize.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/vp8/encoder/quantize.h b/vp8/encoder/quantize.h new file mode 100644 index 000000000..868e8e3a8 --- /dev/null +++ b/vp8/encoder/quantize.h @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2010 The VP8 project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license and patent + * grant that can be found in the LICENSE file in the root of the source + * tree. All contributing project authors may be found in the AUTHORS + * file in the root of the source tree. + */ + + +#ifndef __INC_QUANTIZE_H +#define __INC_QUANTIZE_H + +#include "block.h" + +#define prototype_quantize_block(sym) \ + void (sym)(BLOCK *b,BLOCKD *d) + +#if ARCH_ARM +#include "arm/quantize_arm.h" +#endif + +#ifndef vp8_quantize_quantb +#define vp8_quantize_quantb vp8_regular_quantize_b +#endif +extern prototype_quantize_block(vp8_quantize_quantb); + +#ifndef vp8_quantize_fastquantb +#define vp8_quantize_fastquantb vp8_fast_quantize_b_c +#endif +extern prototype_quantize_block(vp8_quantize_fastquantb); + +typedef struct +{ + prototype_quantize_block(*quantb); + prototype_quantize_block(*fastquantb); +} vp8_quantize_rtcd_vtable_t; + +#if CONFIG_RUNTIME_CPU_DETECT +#define QUANTIZE_INVOKE(ctx,fn) (ctx)->fn +#else +#define QUANTIZE_INVOKE(ctx,fn) vp8_quantize_##fn +#endif + +extern void vp8_quantize_mb(MACROBLOCK *x); +extern void vp8_quantize_mbuv(MACROBLOCK *x); +extern void vp8_quantize_mby(MACROBLOCK *x); +extern void vp8_quantize_mbyrd(MACROBLOCK *x); +extern void vp8_quantize_mbuvrd(MACROBLOCK *x); +extern void vp8_quantize_mbrd(MACROBLOCK *x); + +#endif |