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