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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
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
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
20
61
98d3264ac47f Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 60
diff changeset
21 #ifndef FFMPEG_POSTPROCESS_H
98d3264ac47f Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 60
diff changeset
22 #define FFMPEG_POSTPROCESS_H
0
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
23
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
24 /**
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
25 * @file postprocess.h
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
26 * @brief
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
27 * external api for the pp stuff
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
28 */
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
29
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
30 #define LIBPOSTPROC_VERSION_INT ((51<<16)+(1<<8)+0)
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
31 #define LIBPOSTPROC_VERSION 51.1.0
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
32 #define LIBPOSTPROC_BUILD LIBPOSTPROC_VERSION_INT
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
33
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
34 #define LIBPOSTPROC_IDENT "postproc" AV_STRINGIFY(LIBPOSTPROC_VERSION)
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
35
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
36 #define PP_QUALITY_MAX 6
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
37
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
38 #define QP_STORE_T int8_t
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
39
53
e6a94aa12c17 Fix 'make checkheaders'.
diego
parents: 44
diff changeset
40 #include <inttypes.h>
e6a94aa12c17 Fix 'make checkheaders'.
diego
parents: 44
diff changeset
41
0
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
42 typedef void pp_context_t;
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
43 typedef void pp_mode_t;
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
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
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
46
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
47 void pp_postprocess(uint8_t * src[3], int srcStride[3],
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
48 uint8_t * dst[3], int dstStride[3],
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
49 int horizontalSize, int verticalSize,
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
50 QP_STORE_T *QP_store, int QP_stride,
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
51 pp_mode_t *mode, pp_context_t *ppContext, int pict_type);
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
52
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
53
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
54 /**
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
55 * returns a pp_mode_t or NULL if an error occured
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
56 * name is the string after "-pp" on the command line
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
57 * quality is a number from 0 to PP_QUALITY_MAX
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
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
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
60 void pp_free_mode(pp_mode_t *mode);
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
61
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
62 pp_context_t *pp_get_context(int width, int height, int flags);
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
63 void pp_free_context(pp_context_t *ppContext);
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
64
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
65 #define PP_CPU_CAPS_MMX 0x80000000
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
66 #define PP_CPU_CAPS_MMX2 0x20000000
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
67 #define PP_CPU_CAPS_3DNOW 0x40000000
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
68 #define PP_CPU_CAPS_ALTIVEC 0x10000000
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
69
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
70 #define PP_FORMAT 0x00000008
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
71 #define PP_FORMAT_420 (0x00000011|PP_FORMAT)
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
72 #define PP_FORMAT_422 (0x00000001|PP_FORMAT)
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
73 #define PP_FORMAT_411 (0x00000002|PP_FORMAT)
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
74 #define PP_FORMAT_444 (0x00000000|PP_FORMAT)
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
75
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
76 #define PP_PICT_TYPE_QP2 0x00000010 ///< MPEG2 style QScale
7c419ceafa6a libavcodec/libpostproc ---> libpostproc
diego
parents:
diff changeset
77
61
98d3264ac47f Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 60
diff changeset
78 #endif /* FFMPEG_POSTPROCESS_H */