diff options
author | Diego Biurrun <diego@biurrun.de> | 2014-02-08 05:59:58 +0400 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2014-07-17 20:07:10 +0400 |
commit | 2d60444331fca1910510038dd3817bea885c2367 (patch) | |
tree | 51ac937c7e051b03c7cc8e39b079a37f18dd09b0 /libavcodec/dsputil.h | |
parent | a578b0407dc983aecd72028e1127062689b67089 (diff) |
dsputil: Split motion estimation compare bits off into their own context
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r-- | libavcodec/dsputil.h | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h deleted file mode 100644 index 350ce1c44a..0000000000 --- a/libavcodec/dsputil.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * DSP utils - * Copyright (c) 2000, 2001, 2002 Fabrice Bellard - * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at> - * - * This file is part of Libav. - * - * Libav is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * Libav is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Libav; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/** - * @file - * DSP utils. - * Note, many functions in here may use MMX which trashes the FPU state, it is - * absolutely necessary to call emms_c() between DSP & float/double code. - */ - -#ifndef AVCODEC_DSPUTIL_H -#define AVCODEC_DSPUTIL_H - -#include "avcodec.h" - -extern uint32_t ff_square_tab[512]; - -struct MpegEncContext; -/* Motion estimation: - * h is limited to { width / 2, width, 2 * width }, - * but never larger than 16 and never smaller than 2. - * Although currently h < 4 is not used as functions with - * width < 8 are neither used nor implemented. */ -typedef int (*me_cmp_func)(struct MpegEncContext *c, - uint8_t *blk1 /* align width (8 or 16) */, - uint8_t *blk2 /* align 1 */, int line_size, int h); - -/** - * DSPContext. - */ -typedef struct DSPContext { - int (*sum_abs_dctelem)(int16_t *block /* align 16 */); - - me_cmp_func sad[6]; /* identical to pix_absAxA except additional void * */ - me_cmp_func sse[6]; - me_cmp_func hadamard8_diff[6]; - me_cmp_func dct_sad[6]; - me_cmp_func quant_psnr[6]; - me_cmp_func bit[6]; - me_cmp_func rd[6]; - me_cmp_func vsad[6]; - me_cmp_func vsse[6]; - me_cmp_func nsse[6]; - me_cmp_func dct_max[6]; - me_cmp_func dct264_sad[6]; - - me_cmp_func me_pre_cmp[6]; - me_cmp_func me_cmp[6]; - me_cmp_func me_sub_cmp[6]; - me_cmp_func mb_cmp[6]; - me_cmp_func ildct_cmp[6]; // only width 16 used - me_cmp_func frame_skip_cmp[6]; // only width 8 used - - me_cmp_func pix_abs[2][4]; -} DSPContext; - -void ff_dsputil_static_init(void); -void ff_dsputil_init(DSPContext *p, AVCodecContext *avctx); - -void ff_set_cmp(DSPContext *c, me_cmp_func *cmp, int type); - -void ff_dsputil_init_arm(DSPContext *c, AVCodecContext *avctx); -void ff_dsputil_init_ppc(DSPContext *c, AVCodecContext *avctx); -void ff_dsputil_init_x86(DSPContext *c, AVCodecContext *avctx); - -#endif /* AVCODEC_DSPUTIL_H */ |