Statistics
| Branch: | Revision:

ffmpeg / libavcodec / libpostproc / postprocess.h @ b304569a

History | View | Annotate | Download (2.11 KB)

1 3057fa66 Arpi
/*
2 6524b641 Michael Niedermayer
    Copyright (C) 2001-2003 Michael Niedermayer (michaelni@gmx.at)
3 3057fa66 Arpi

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 9f3328bc Arpi
#ifndef NEWPOSTPROCESS_H
20
#define NEWPOSTPROCESS_H
21 3057fa66 Arpi
22 6524b641 Michael Niedermayer
/**
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 326d40af Michael Niedermayer
#define PP_QUALITY_MAX 6
33 13e00528 Arpi
34 4407a3c4 Michael Niedermayer
#define QP_STORE_T int8_t
35 3057fa66 Arpi
36 b401ebad Michael Niedermayer
typedef void pp_context_t;
37 c41d972d Michael Niedermayer
typedef void pp_mode_t;
38 4407a3c4 Michael Niedermayer
39 b304569a Michael Niedermayer
extern char *pp_help; ///< a simple help text
40 911879d1 Michael Niedermayer
41 9cb54f43 Michael Niedermayer
void  pp_postprocess(uint8_t * src[3], int srcStride[3],
42 9c9e467d Michael Niedermayer
                 uint8_t * dst[3], int dstStride[3],
43
                 int horizontalSize, int verticalSize,
44
                 QP_STORE_T *QP_store,  int QP_stride,
45 c41d972d Michael Niedermayer
                 pp_mode_t *mode, pp_context_t *ppContext, int pict_type);
46 e939e1c3 Arpi
47 326d40af Michael Niedermayer
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 c41d972d Michael Niedermayer
pp_mode_t *pp_get_mode_by_name_and_quality(char *name, int quality);
54
void pp_free_mode(pp_mode_t *mode);
55 9c9e467d Michael Niedermayer
56 e9effafd Michael Niedermayer
pp_context_t *pp_get_context(int width, int height, int flags);
57 b401ebad Michael Niedermayer
void pp_free_context(pp_context_t *ppContext);
58 45b4f285 Michael Niedermayer
59 b49d9165 Michael Niedermayer
#define PP_CPU_CAPS_MMX   0x80000000
60
#define PP_CPU_CAPS_MMX2  0x20000000
61
#define PP_CPU_CAPS_3DNOW 0x40000000
62 4603ed8f Michael Niedermayer
63 e9effafd Michael Niedermayer
#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 6524b641 Michael Niedermayer
#ifdef __cplusplus
70
}
71
#endif
72
73 3057fa66 Arpi
#endif