annotate postproc/postprocess.h @ 9401:f7be067d683e

#ifdef c++
author michael
date Tue, 11 Feb 2003 21:12:16 +0000
parents e547ce712577
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2158
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
1 /*
9401
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
2 Copyright (C) 2001-2003 Michael Niedermayer (michaelni@gmx.at)
2158
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
3
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
4 This program is free software; you can redistribute it and/or modify
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
5 it under the terms of the GNU General Public License as published by
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
6 the Free Software Foundation; either version 2 of the License, or
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
7 (at your option) any later version.
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
8
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
12 GNU General Public License for more details.
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
13
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
14 You should have received a copy of the GNU General Public License
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
15 along with this program; if not, write to the Free Software
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
17 */
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
18
2186
491d4fc9b6f2 small changes for mplayer integration:
arpi
parents: 2179
diff changeset
19 #ifndef NEWPOSTPROCESS_H
491d4fc9b6f2 small changes for mplayer integration:
arpi
parents: 2179
diff changeset
20 #define NEWPOSTPROCESS_H
2158
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
21
9401
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
22 /**
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
23 * @file postprocess.h
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
24 * @brief
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
25 * external api for the pp stuff
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
26 */
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
27
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
28 #ifdef __cplusplus
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
29 extern "C" {
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
30 #endif
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
31
8040
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
32 #define PP_QUALITY_MAX 6
2158
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
33
7984
a57c1fc0c2fc change qscale type to int8 and fix qscale ordering
michael
parents: 7973
diff changeset
34 #define QP_STORE_T int8_t
2158
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
35
8019
ad8d6f993c81 cosmetics requested by kabi
michael
parents: 7985
diff changeset
36 typedef void pp_context_t;
8038
fe30880576dc cleanup
michael
parents: 8019
diff changeset
37 typedef void pp_mode_t;
2389
bd3f33e7dd26 auto brightness/ contrast bugfix
michael
parents: 2292
diff changeset
38
8038
fe30880576dc cleanup
michael
parents: 8019
diff changeset
39 extern char *pp_help; //a simple help text
2389
bd3f33e7dd26 auto brightness/ contrast bugfix
michael
parents: 2292
diff changeset
40
7961
78e0f2776da7 cosmetics ;)
michael
parents: 7960
diff changeset
41 void pp_postprocess(uint8_t * src[3], int srcStride[3],
7946
f483ab704252 postprocessing cleanup:
michael
parents: 5576
diff changeset
42 uint8_t * dst[3], int dstStride[3],
f483ab704252 postprocessing cleanup:
michael
parents: 5576
diff changeset
43 int horizontalSize, int verticalSize,
f483ab704252 postprocessing cleanup:
michael
parents: 5576
diff changeset
44 QP_STORE_T *QP_store, int QP_stride,
8038
fe30880576dc cleanup
michael
parents: 8019
diff changeset
45 pp_mode_t *mode, pp_context_t *ppContext, int pict_type);
2189
82556b3a1228 Cleanup:
arpi
parents: 2186
diff changeset
46
8040
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
47
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
48 /**
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
49 * returns a pp_mode_t or NULL if an error occured
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
50 * name is the string after "-pp" on the command line
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
51 * quality is a number from 0 to PP_QUALITY_MAX
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
52 */
8038
fe30880576dc cleanup
michael
parents: 8019
diff changeset
53 pp_mode_t *pp_get_mode_by_name_and_quality(char *name, int quality);
fe30880576dc cleanup
michael
parents: 8019
diff changeset
54 void pp_free_mode(pp_mode_t *mode);
7946
f483ab704252 postprocessing cleanup:
michael
parents: 5576
diff changeset
55
8805
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
56 pp_context_t *pp_get_context(int width, int height, int flags);
8019
ad8d6f993c81 cosmetics requested by kabi
michael
parents: 7985
diff changeset
57 void pp_free_context(pp_context_t *ppContext);
3771
a14b3a600b81 new -pp options stuff (-npp ...)
michael
parents: 3154
diff changeset
58
7973
ade6eb7abc2a using same numbers for cpuCaps as libmpeg2 & liba52
michael
parents: 7972
diff changeset
59 #define PP_CPU_CAPS_MMX 0x80000000
ade6eb7abc2a using same numbers for cpuCaps as libmpeg2 & liba52
michael
parents: 7972
diff changeset
60 #define PP_CPU_CAPS_MMX2 0x20000000
ade6eb7abc2a using same numbers for cpuCaps as libmpeg2 & liba52
michael
parents: 7972
diff changeset
61 #define PP_CPU_CAPS_3DNOW 0x40000000
7972
6d1103afba1c cleanly passing the cpuCaps
michael
parents: 7963
diff changeset
62
8805
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
63 #define PP_FORMAT 0x00000008
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
64 #define PP_FORMAT_420 (0x00000011|PP_FORMAT)
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
65 #define PP_FORMAT_422 (0x00000001|PP_FORMAT)
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
66 #define PP_FORMAT_411 (0x00000002|PP_FORMAT)
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
67 #define PP_FORMAT_444 (0x00000000|PP_FORMAT)
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
68
9401
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
69 #ifdef __cplusplus
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
70 }
2158
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
71 #endif
9401
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
72
f7be067d683e #ifdef c++
michael
parents: 8805
diff changeset
73 #endif