Mercurial > libpostproc.hg
annotate postprocess.h @ 66:7737e39e74f3 libpostproc
Make pp_help a constant pointer to constant characters, moves it partially
in .rodata (the actual string) and partially in .data.relro (the pointer),
but doesn't change ABI.
Patch by Diego 'Flameeyes' Petten flameeyes at gmail com
author | benoit |
---|---|
date | Fri, 04 Jan 2008 07:47:32 +0000 |
parents | 5bef666de27d |
children | 6539cfc12739 |
rev | line source |
---|---|
0 | 1 /* |
22
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
2 * Copyright (C) 2001-2003 Michael Niedermayer (michaelni@gmx.at) |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
3 * |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
4 * This file is part of FFmpeg. |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
5 * |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
6 * FFmpeg is free software; you can redistribute it and/or modify |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
7 * it under the terms of the GNU General Public License as published by |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
8 * the Free Software Foundation; either version 2 of the License, or |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
9 * (at your option) any later version. |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
10 * |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
11 * FFmpeg is distributed in the hope that it will be useful, |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
14 * GNU General Public License for more details. |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
15 * |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
16 * You should have received a copy of the GNU General Public License |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
17 * along with FFmpeg; if not, write to the Free Software |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
da3bfee1fa67
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
0
diff
changeset
|
19 */ |
0 | 20 |
61 | 21 #ifndef FFMPEG_POSTPROCESS_H |
22 #define FFMPEG_POSTPROCESS_H | |
0 | 23 |
24 /** | |
25 * @file postprocess.h | |
26 * @brief | |
27 * external api for the pp stuff | |
28 */ | |
29 | |
30 #define LIBPOSTPROC_VERSION_INT ((51<<16)+(1<<8)+0) | |
31 #define LIBPOSTPROC_VERSION 51.1.0 | |
32 #define LIBPOSTPROC_BUILD LIBPOSTPROC_VERSION_INT | |
33 | |
34 #define LIBPOSTPROC_IDENT "postproc" AV_STRINGIFY(LIBPOSTPROC_VERSION) | |
35 | |
36 #define PP_QUALITY_MAX 6 | |
37 | |
38 #define QP_STORE_T int8_t | |
39 | |
53 | 40 #include <inttypes.h> |
41 | |
0 | 42 typedef void pp_context_t; |
43 typedef void pp_mode_t; | |
44 | |
66
7737e39e74f3
Make pp_help a constant pointer to constant characters, moves it partially
benoit
parents:
65
diff
changeset
|
45 extern const char *const pp_help; ///< a simple help text |
0 | 46 |
47 void pp_postprocess(uint8_t * src[3], int srcStride[3], | |
48 uint8_t * dst[3], int dstStride[3], | |
49 int horizontalSize, int verticalSize, | |
50 QP_STORE_T *QP_store, int QP_stride, | |
51 pp_mode_t *mode, pp_context_t *ppContext, int pict_type); | |
52 | |
53 | |
54 /** | |
55 * returns a pp_mode_t or NULL if an error occured | |
56 * name is the string after "-pp" on the command line | |
57 * quality is a number from 0 to PP_QUALITY_MAX | |
58 */ | |
65
5bef666de27d
Make pp_get_mode_by_name_and_quality accept a constant string.
benoit
parents:
61
diff
changeset
|
59 pp_mode_t *pp_get_mode_by_name_and_quality(const char *name, int quality); |
0 | 60 void pp_free_mode(pp_mode_t *mode); |
61 | |
62 pp_context_t *pp_get_context(int width, int height, int flags); | |
63 void pp_free_context(pp_context_t *ppContext); | |
64 | |
65 #define PP_CPU_CAPS_MMX 0x80000000 | |
66 #define PP_CPU_CAPS_MMX2 0x20000000 | |
67 #define PP_CPU_CAPS_3DNOW 0x40000000 | |
68 #define PP_CPU_CAPS_ALTIVEC 0x10000000 | |
69 | |
70 #define PP_FORMAT 0x00000008 | |
71 #define PP_FORMAT_420 (0x00000011|PP_FORMAT) | |
72 #define PP_FORMAT_422 (0x00000001|PP_FORMAT) | |
73 #define PP_FORMAT_411 (0x00000002|PP_FORMAT) | |
74 #define PP_FORMAT_444 (0x00000000|PP_FORMAT) | |
75 | |
76 #define PP_PICT_TYPE_QP2 0x00000010 ///< MPEG2 style QScale | |
77 | |
61 | 78 #endif /* FFMPEG_POSTPROCESS_H */ |