annotate postproc/postprocess.h @ 9366:e6149bbd5a16

PSNR plotting tool using gnuplot (yes, it's ugly ;)
author jonas
date Sun, 09 Feb 2003 13:06:05 +0000
parents e547ce712577
children f7be067d683e
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 /*
3964
4911e2fc554b -npp fq:<quantizer>
michael
parents: 3832
diff changeset
2 Copyright (C) 2001-2002 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
8040
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
22 #define PP_QUALITY_MAX 6
2158
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
23
7984
a57c1fc0c2fc change qscale type to int8 and fix qscale ordering
michael
parents: 7973
diff changeset
24 #define QP_STORE_T int8_t
2158
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
25
8019
ad8d6f993c81 cosmetics requested by kabi
michael
parents: 7985
diff changeset
26 typedef void pp_context_t;
8038
fe30880576dc cleanup
michael
parents: 8019
diff changeset
27 typedef void pp_mode_t;
2389
bd3f33e7dd26 auto brightness/ contrast bugfix
michael
parents: 2292
diff changeset
28
8038
fe30880576dc cleanup
michael
parents: 8019
diff changeset
29 extern char *pp_help; //a simple help text
2389
bd3f33e7dd26 auto brightness/ contrast bugfix
michael
parents: 2292
diff changeset
30
7961
78e0f2776da7 cosmetics ;)
michael
parents: 7960
diff changeset
31 void pp_postprocess(uint8_t * src[3], int srcStride[3],
7946
f483ab704252 postprocessing cleanup:
michael
parents: 5576
diff changeset
32 uint8_t * dst[3], int dstStride[3],
f483ab704252 postprocessing cleanup:
michael
parents: 5576
diff changeset
33 int horizontalSize, int verticalSize,
f483ab704252 postprocessing cleanup:
michael
parents: 5576
diff changeset
34 QP_STORE_T *QP_store, int QP_stride,
8038
fe30880576dc cleanup
michael
parents: 8019
diff changeset
35 pp_mode_t *mode, pp_context_t *ppContext, int pict_type);
2189
82556b3a1228 Cleanup:
arpi
parents: 2186
diff changeset
36
8040
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
37
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
38 /**
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
39 * returns a pp_mode_t or NULL if an error occured
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
40 * name is the string after "-pp" on the command line
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
41 * quality is a number from 0 to PP_QUALITY_MAX
5241f95b5ec4 cleanup
michael
parents: 8038
diff changeset
42 */
8038
fe30880576dc cleanup
michael
parents: 8019
diff changeset
43 pp_mode_t *pp_get_mode_by_name_and_quality(char *name, int quality);
fe30880576dc cleanup
michael
parents: 8019
diff changeset
44 void pp_free_mode(pp_mode_t *mode);
7946
f483ab704252 postprocessing cleanup:
michael
parents: 5576
diff changeset
45
8805
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
46 pp_context_t *pp_get_context(int width, int height, int flags);
8019
ad8d6f993c81 cosmetics requested by kabi
michael
parents: 7985
diff changeset
47 void pp_free_context(pp_context_t *ppContext);
3771
a14b3a600b81 new -pp options stuff (-npp ...)
michael
parents: 3154
diff changeset
48
7973
ade6eb7abc2a using same numbers for cpuCaps as libmpeg2 & liba52
michael
parents: 7972
diff changeset
49 #define PP_CPU_CAPS_MMX 0x80000000
ade6eb7abc2a using same numbers for cpuCaps as libmpeg2 & liba52
michael
parents: 7972
diff changeset
50 #define PP_CPU_CAPS_MMX2 0x20000000
ade6eb7abc2a using same numbers for cpuCaps as libmpeg2 & liba52
michael
parents: 7972
diff changeset
51 #define PP_CPU_CAPS_3DNOW 0x40000000
7972
6d1103afba1c cleanly passing the cpuCaps
michael
parents: 7963
diff changeset
52
8805
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
53 #define PP_FORMAT 0x00000008
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
54 #define PP_FORMAT_420 (0x00000011|PP_FORMAT)
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
55 #define PP_FORMAT_422 (0x00000001|PP_FORMAT)
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
56 #define PP_FORMAT_411 (0x00000002|PP_FORMAT)
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
57 #define PP_FORMAT_444 (0x00000000|PP_FORMAT)
e547ce712577 YUV 411/422/444 support for pp
michael
parents: 8040
diff changeset
58
2158
508468a75be0 new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
59 #endif