annotate libpostproc/postprocess.h @ 2841:bceeca1bb30f libavcodec

vbr audio encode patch by (Justin Ruggles: jruggle, earthlink net) with changes by me int->float as video uses float too remove silent cliping to some per codec range, this should result in an error instead remove change to utils.c as its inconsistant with video
author michael
date Sun, 21 Aug 2005 20:27:00 +0000
parents 6a6c678517b3
children ef2149182f1c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
95
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
1 /*
1066
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
2 Copyright (C) 2001-2003 Michael Niedermayer (michaelni@gmx.at)
95
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
3
8bce253b537c 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
8bce253b537c 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
8bce253b537c 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
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
7 (at your option) any later version.
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
8
8bce253b537c 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,
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
12 GNU General Public License for more details.
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
13
8bce253b537c 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
8bce253b537c 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
8bce253b537c 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
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
17 */
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
18
103
0ec7d482ec8d small changes for mplayer integration:
arpi
parents: 99
diff changeset
19 #ifndef NEWPOSTPROCESS_H
0ec7d482ec8d small changes for mplayer integration:
arpi
parents: 99
diff changeset
20 #define NEWPOSTPROCESS_H
95
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
21
1066
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
22 /**
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
23 * @file postprocess.h
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
24 * @brief
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
25 * external api for the pp stuff
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
26 */
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
27
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
28 #ifdef __cplusplus
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
29 extern "C" {
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
30 #endif
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
31
830
0a1fbae9f6e1 cleanup
michael
parents: 829
diff changeset
32 #define PP_QUALITY_MAX 6
95
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
33
804
f3a1bc99d4a0 change qscale type to int8 and fix qscale ordering
michael
parents: 800
diff changeset
34 #define QP_STORE_T int8_t
95
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
35
820
6d225a8f0ff0 cosmetics requested by kabi
michael
parents: 805
diff changeset
36 typedef void pp_context_t;
829
c39e14fc2392 cleanup
michael
parents: 820
diff changeset
37 typedef void pp_mode_t;
116
1895a8fa81ea auto brightness/ contrast bugfix
michael
parents: 114
diff changeset
38
1109
3644e555a20a doxy / cosmetics
michaelni
parents: 1066
diff changeset
39 extern char *pp_help; ///< a simple help text
116
1895a8fa81ea auto brightness/ contrast bugfix
michael
parents: 114
diff changeset
40
792
2d1283d511b7 cosmetics ;)
michael
parents: 791
diff changeset
41 void pp_postprocess(uint8_t * src[3], int srcStride[3],
787
4914252c963a postprocessing cleanup:
michael
parents: 319
diff changeset
42 uint8_t * dst[3], int dstStride[3],
4914252c963a postprocessing cleanup:
michael
parents: 319
diff changeset
43 int horizontalSize, int verticalSize,
4914252c963a postprocessing cleanup:
michael
parents: 319
diff changeset
44 QP_STORE_T *QP_store, int QP_stride,
829
c39e14fc2392 cleanup
michael
parents: 820
diff changeset
45 pp_mode_t *mode, pp_context_t *ppContext, int pict_type);
104
9607b48e2c2d Cleanup:
arpi
parents: 103
diff changeset
46
830
0a1fbae9f6e1 cleanup
michael
parents: 829
diff changeset
47
0a1fbae9f6e1 cleanup
michael
parents: 829
diff changeset
48 /**
0a1fbae9f6e1 cleanup
michael
parents: 829
diff changeset
49 * returns a pp_mode_t or NULL if an error occured
0a1fbae9f6e1 cleanup
michael
parents: 829
diff changeset
50 * name is the string after "-pp" on the command line
0a1fbae9f6e1 cleanup
michael
parents: 829
diff changeset
51 * quality is a number from 0 to PP_QUALITY_MAX
0a1fbae9f6e1 cleanup
michael
parents: 829
diff changeset
52 */
829
c39e14fc2392 cleanup
michael
parents: 820
diff changeset
53 pp_mode_t *pp_get_mode_by_name_and_quality(char *name, int quality);
c39e14fc2392 cleanup
michael
parents: 820
diff changeset
54 void pp_free_mode(pp_mode_t *mode);
787
4914252c963a postprocessing cleanup:
michael
parents: 319
diff changeset
55
957
8a95bda80fdc YUV 411/422/444 support for pp
michael
parents: 830
diff changeset
56 pp_context_t *pp_get_context(int width, int height, int flags);
820
6d225a8f0ff0 cosmetics requested by kabi
michael
parents: 805
diff changeset
57 void pp_free_context(pp_context_t *ppContext);
179
02b2b7ffe324 new -pp options stuff (-npp ...)
michael
parents: 172
diff changeset
58
800
52ac8213387e using same numbers for cpuCaps as libmpeg2 & liba52
michael
parents: 799
diff changeset
59 #define PP_CPU_CAPS_MMX 0x80000000
52ac8213387e using same numbers for cpuCaps as libmpeg2 & liba52
michael
parents: 799
diff changeset
60 #define PP_CPU_CAPS_MMX2 0x20000000
52ac8213387e using same numbers for cpuCaps as libmpeg2 & liba52
michael
parents: 799
diff changeset
61 #define PP_CPU_CAPS_3DNOW 0x40000000
2036
6a6c678517b3 altivec optimizations and horizontal filter fix by (Romain Dolbeau <dolbeau at irisa dot fr>)
michael
parents: 1196
diff changeset
62 #define PP_CPU_CAPS_ALTIVEC 0x10000000
799
fbbe46490ce9 cleanly passing the cpuCaps
michael
parents: 793
diff changeset
63
957
8a95bda80fdc YUV 411/422/444 support for pp
michael
parents: 830
diff changeset
64 #define PP_FORMAT 0x00000008
8a95bda80fdc YUV 411/422/444 support for pp
michael
parents: 830
diff changeset
65 #define PP_FORMAT_420 (0x00000011|PP_FORMAT)
8a95bda80fdc YUV 411/422/444 support for pp
michael
parents: 830
diff changeset
66 #define PP_FORMAT_422 (0x00000001|PP_FORMAT)
8a95bda80fdc YUV 411/422/444 support for pp
michael
parents: 830
diff changeset
67 #define PP_FORMAT_411 (0x00000002|PP_FORMAT)
8a95bda80fdc YUV 411/422/444 support for pp
michael
parents: 830
diff changeset
68 #define PP_FORMAT_444 (0x00000000|PP_FORMAT)
8a95bda80fdc YUV 411/422/444 support for pp
michael
parents: 830
diff changeset
69
1196
2e06398e4647 mpeg2 qscale flag
michaelni
parents: 1109
diff changeset
70 #define PP_PICT_TYPE_QP2 0x00000010 ///< MPEG2 style QScale
2e06398e4647 mpeg2 qscale flag
michaelni
parents: 1109
diff changeset
71
1066
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
72 #ifdef __cplusplus
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
73 }
95
8bce253b537c new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff changeset
74 #endif
1066
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
75
6ce55cd04783 #ifdef c++
michael
parents: 957
diff changeset
76 #endif