Statistics
| Branch: | Revision:

ffmpeg / libavcodec / libpostproc / postprocess.h @ b304569a

History | View | Annotate | Download (2.11 KB)

1
/*
2
    Copyright (C) 2001-2003 Michael Niedermayer (michaelni@gmx.at)
3

4
    This program is free software; you can redistribute it and/or modify
5
    it under the terms of the GNU General Public License as published by
6
    the Free Software Foundation; either version 2 of the License, or
7
    (at your option) any later version.
8

9
    This program is distributed in the hope that it will be useful,
10
    but WITHOUT ANY WARRANTY; without even the implied warranty of
11
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
    GNU General Public License for more details.
13

14
    You should have received a copy of the GNU General Public License
15
    along with this program; if not, write to the Free Software
16
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
*/
18

    
19
#ifndef NEWPOSTPROCESS_H
20
#define NEWPOSTPROCESS_H
21

    
22
/**
23
 * @file postprocess.h
24
 * @brief 
25
 *     external api for the pp stuff
26
 */
27

    
28
#ifdef __cplusplus
29
extern "C" {
30
#endif
31

    
32
#define PP_QUALITY_MAX 6
33

    
34
#define QP_STORE_T int8_t
35

    
36
typedef void pp_context_t;
37
typedef void pp_mode_t;
38

    
39
extern char *pp_help; ///< a simple help text
40

    
41
void  pp_postprocess(uint8_t * src[3], int srcStride[3],
42
                 uint8_t * dst[3], int dstStride[3],
43
                 int horizontalSize, int verticalSize,
44
                 QP_STORE_T *QP_store,  int QP_stride,
45
                 pp_mode_t *mode, pp_context_t *ppContext, int pict_type);
46

    
47

    
48
/**
49
 * returns a pp_mode_t or NULL if an error occured
50
 * name is the string after "-pp" on the command line
51
 * quality is a number from 0 to PP_QUALITY_MAX
52
 */
53
pp_mode_t *pp_get_mode_by_name_and_quality(char *name, int quality);
54
void pp_free_mode(pp_mode_t *mode);
55

    
56
pp_context_t *pp_get_context(int width, int height, int flags);
57
void pp_free_context(pp_context_t *ppContext);
58

    
59
#define PP_CPU_CAPS_MMX   0x80000000
60
#define PP_CPU_CAPS_MMX2  0x20000000
61
#define PP_CPU_CAPS_3DNOW 0x40000000
62

    
63
#define PP_FORMAT         0x00000008
64
#define PP_FORMAT_420    (0x00000011|PP_FORMAT)
65
#define PP_FORMAT_422    (0x00000001|PP_FORMAT)
66
#define PP_FORMAT_411    (0x00000002|PP_FORMAT)
67
#define PP_FORMAT_444    (0x00000000|PP_FORMAT)
68

    
69
#ifdef __cplusplus
70
}
71
#endif
72

    
73
#endif