~ubuntu-branches/ubuntu/feisty/avidemux/feisty

« back to all changes in this revision

Viewing changes to adm_lavcodec/libpostproc/postprocess.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel T Chen
  • Date: 2006-12-15 17:13:20 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20061215171320-w79pvpehxx2fr217
Tags: 1:2.3.0-0.0ubuntu1
* Merge from debian-multimedia.org, remaining Ubuntu change:
  - desktop file,
  - no support for ccache and make -j.
* Closes Ubuntu: #69614.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
    Copyright (C) 2001-2003 Michael Niedermayer (michaelni@gmx.at)
3
 
 
4
 
    This program is free software; you can redistribute it and/or modify
5
 
    it under the terms of the GNU General Public License as published by
6
 
    the Free Software Foundation; either version 2 of the License, or
7
 
    (at your option) any later version.
8
 
 
9
 
    This program is distributed in the hope that it will be useful,
10
 
    but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
    GNU General Public License for more details.
13
 
 
14
 
    You should have received a copy of the GNU General Public License
15
 
    along with this program; if not, write to the Free Software
16
 
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
 
*/
18
 
 
19
 
#ifndef NEWPOSTPROCESS_H
20
 
#define NEWPOSTPROCESS_H
21
 
 
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
 
 
32
 
#define PP_QUALITY_MAX 6
33
 
 
34
 
#define QP_STORE_T int8_t
35
 
 
36
 
typedef void pp_context_t;
37
 
typedef void pp_mode_t;
38
 
 
39
 
extern char *pp_help; ///< a simple help text
40
 
 
41
 
void  pp_postprocess(uint8_t * src[3], int srcStride[3],
42
 
                 uint8_t * dst[3], int dstStride[3],
43
 
                 int horizontalSize, int verticalSize,
44
 
                 QP_STORE_T *QP_store,  int QP_stride,
45
 
                 pp_mode_t *mode, pp_context_t *ppContext, int pict_type);
46
 
 
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
 
 */
53
 
pp_mode_t *pp_get_mode_by_name_and_quality(char *name, int quality);
54
 
void pp_free_mode(pp_mode_t *mode);
55
 
 
56
 
pp_context_t *pp_get_context(int width, int height, int flags);
57
 
void pp_free_context(pp_context_t *ppContext);
58
 
 
59
 
#define PP_CPU_CAPS_MMX   0x80000000
60
 
#define PP_CPU_CAPS_MMX2  0x20000000
61
 
#define PP_CPU_CAPS_3DNOW 0x40000000
62
 
#define PP_CPU_CAPS_ALTIVEC 0x10000000
63
 
 
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
 
 
70
 
#define PP_PICT_TYPE_QP2  0x00000010 ///< MPEG2 style QScale
71
 
 
72
 
#ifdef __cplusplus
73
 
}
74
 
#endif
75
 
 
76
 
#endif