FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
dsputil.h
Go to the documentation of this file.
1
/*
2
* DSP utils
3
* Copyright (c) 2000, 2001, 2002 Fabrice Bellard
4
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
/**
24
* @file
25
* DSP utils.
26
* This is deprecated
27
*/
28
29
#ifndef AVCODEC_DSPUTIL_H
30
#define AVCODEC_DSPUTIL_H
31
32
#include "
avcodec.h
"
33
#include "
version.h
"
34
#include "
me_cmp.h
"
35
36
#if FF_API_DSPUTIL
37
38
/* minimum alignment rules ;)
39
* If you notice errors in the align stuff, need more alignment for some ASM code
40
* for some CPU or need to use a function with less aligned data then send a mail
41
* to the ffmpeg-devel mailing list, ...
42
*
43
* !warning These alignments might not match reality, (missing attribute((align))
44
* stuff somewhere possible).
45
* I (Michael) did not check them, these are just the alignments which I think
46
* could be reached easily ...
47
*
48
* !future video codecs might need functions with less strict alignment
49
*/
50
51
struct
MpegEncContext
;
52
53
/**
54
* DSPContext.
55
*/
56
typedef
struct
DSPContext {
57
int (*sum_abs_dctelem)(int16_t *
block
/* align 16 */
);
58
59
me_cmp_func
sad[6];
/* identical to pix_absAxA except additional void * */
60
me_cmp_func
sse
[6];
61
me_cmp_func
hadamard8_diff[6];
62
me_cmp_func
dct_sad[6];
63
me_cmp_func
quant_psnr[6];
64
me_cmp_func
bit[6];
65
me_cmp_func
rd[6];
66
me_cmp_func
vsad[6];
67
me_cmp_func
vsse[6];
68
me_cmp_func
nsse[6];
69
me_cmp_func
w53[6];
70
me_cmp_func
w97[6];
71
me_cmp_func
dct_max[6];
72
me_cmp_func
dct264_sad[6];
73
74
me_cmp_func
me_pre_cmp[6];
75
me_cmp_func
me_cmp[6];
76
me_cmp_func
me_sub_cmp[6];
77
me_cmp_func
mb_cmp[6];
78
me_cmp_func
ildct_cmp[6];
// only width 16 used
79
me_cmp_func
frame_skip_cmp[6];
// only width 8 used
80
81
me_cmp_func
pix_abs[2][4];
82
} DSPContext;
83
84
attribute_deprecated
void
avpriv_dsputil_init(DSPContext* p,
AVCodecContext
*avctx);
85
86
#endif
87
#endif
/* AVCODEC_DSPUTIL_H */
Generated on Sun Sep 14 2014 18:55:54 for FFmpeg by
1.8.2