Mercurial > libavcodec.hg
annotate libpostproc/postprocess.h @ 2497:69adfbbdcdeb libavcodec
- samples from mplayer ftp in the "adv" profile seem to have profile=2,
which isn't the advanced one; and indeed, using adv. profile parser fails.
Using normal parser works, and that's what is done
- attempt at taking care of stride for NORM2 bitplane decoding
- duplication of much code from msmpeg4.c; this code isn't yet used, but
goes down as far as the block layer (mainly Transform Type stuff, the
remains are wild editing without checking). Unusable yet, and lacks the AC
decoding (but a step further in bitstream parsing)
patch by anonymous
| author | michael |
|---|---|
| date | Fri, 04 Feb 2005 02:20:38 +0000 |
| parents | 6a6c678517b3 |
| children | ef2149182f1c |
| rev | line source |
|---|---|
|
95
8bce253b537c
new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff
changeset
|
1 /* |
| 1066 | 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 | 19 #ifndef NEWPOSTPROCESS_H |
| 20 #define NEWPOSTPROCESS_H | |
|
95
8bce253b537c
new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff
changeset
|
21 |
| 1066 | 22 /** |
| 23 * @file postprocess.h | |
| 24 * @brief | |
| 25 * external api for the pp stuff | |
| 26 */ | |
| 27 | |
| 28 #ifdef __cplusplus | |
| 29 extern "C" { | |
| 30 #endif | |
| 31 | |
| 830 | 32 #define PP_QUALITY_MAX 6 |
|
95
8bce253b537c
new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff
changeset
|
33 |
| 804 | 34 #define QP_STORE_T int8_t |
|
95
8bce253b537c
new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff
changeset
|
35 |
| 820 | 36 typedef void pp_context_t; |
| 829 | 37 typedef void pp_mode_t; |
| 116 | 38 |
| 1109 | 39 extern char *pp_help; ///< a simple help text |
| 116 | 40 |
| 792 | 41 void pp_postprocess(uint8_t * src[3], int srcStride[3], |
| 787 | 42 uint8_t * dst[3], int dstStride[3], |
| 43 int horizontalSize, int verticalSize, | |
| 44 QP_STORE_T *QP_store, int QP_stride, | |
| 829 | 45 pp_mode_t *mode, pp_context_t *ppContext, int pict_type); |
| 104 | 46 |
| 830 | 47 |
| 48 /** | |
| 49 * returns a pp_mode_t or NULL if an error occured | |
| 50 * name is the string after "-pp" on the command line | |
| 51 * quality is a number from 0 to PP_QUALITY_MAX | |
| 52 */ | |
| 829 | 53 pp_mode_t *pp_get_mode_by_name_and_quality(char *name, int quality); |
| 54 void pp_free_mode(pp_mode_t *mode); | |
| 787 | 55 |
| 957 | 56 pp_context_t *pp_get_context(int width, int height, int flags); |
| 820 | 57 void pp_free_context(pp_context_t *ppContext); |
| 179 | 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 | 63 |
| 957 | 64 #define PP_FORMAT 0x00000008 |
| 65 #define PP_FORMAT_420 (0x00000011|PP_FORMAT) | |
| 66 #define PP_FORMAT_422 (0x00000001|PP_FORMAT) | |
| 67 #define PP_FORMAT_411 (0x00000002|PP_FORMAT) | |
| 68 #define PP_FORMAT_444 (0x00000000|PP_FORMAT) | |
| 69 | |
| 1196 | 70 #define PP_PICT_TYPE_QP2 0x00000010 ///< MPEG2 style QScale |
| 71 | |
| 1066 | 72 #ifdef __cplusplus |
| 73 } | |
|
95
8bce253b537c
new postprocess code by Michael Niedermayer (michaelni@gmx.at)
arpi
parents:
diff
changeset
|
74 #endif |
| 1066 | 75 |
| 76 #endif |
