Mercurial > mplayer.hg
annotate libfaad2/syntax.h @ 30857:77ce62f13d42
Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
friends) instead of the unsupported, internal ones (ImageCodecBeginBand
etc.). This is a prerequisite for, among others, Apple ProRes 4:2:2 support,
and simplifies the file by quite a bit.
Tested on Linux with all existing QuickTime codecs I could get to work in the
first place; qt261, qtavui, qtsvq3 have no change. qtcvid appears to not give
bit-exact the same output as before, but it looks just the same in playback
to me. qt3ivx stops crashing on exit (so works better than before). With some
extra patches and a codecs.conf entry, ProRes 4:2:2 also works, including on
Linux.
Since codec initialization is now actually done on decoder init instead of on
first frame, fallback should also work a bit better (although usually, qtvideo
is last in the chain). Also made the decoder complain explicitly if the
demuxer data is not there (ie., the user tried to run without -demuxer mov).
This patch is a cleaned up version of what Andrew Wason (rectalogic A
rectalogic D com) posted to mplayer-dev-eng in June.
author | sesse |
---|---|
date | Mon, 15 Mar 2010 12:05:56 +0000 |
parents | e83eef58b30a |
children |
rev | line source |
---|---|
10725 | 1 /* |
2 ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding | |
12527 | 3 ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
25834
diff
changeset
|
4 ** |
10725 | 5 ** This program is free software; you can redistribute it and/or modify |
6 ** it under the terms of the GNU General Public License as published by | |
7 ** the Free Software Foundation; either version 2 of the License, or | |
8 ** (at your option) any later version. | |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
25834
diff
changeset
|
9 ** |
10725 | 10 ** This program is distributed in the hope that it will be useful, |
11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 ** GNU General Public License for more details. | |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
25834
diff
changeset
|
14 ** |
10725 | 15 ** You should have received a copy of the GNU General Public License |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
25834
diff
changeset
|
16 ** along with this program; if not, write to the Free Software |
10725 | 17 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 ** | |
19 ** Any non-GPL usage of this software or parts of this software is strictly | |
20 ** forbidden. | |
21 ** | |
22 ** Commercial non-GPL licensing of this software is possible. | |
23 ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. | |
24 ** | |
18141 | 25 ** $Id: syntax.h,v 1.54 2004/09/04 14:56:29 menno Exp $ |
10725 | 26 **/ |
27 | |
28 #ifndef __SYNTAX_H__ | |
29 #define __SYNTAX_H__ | |
30 | |
31 #ifdef __cplusplus | |
32 extern "C" { | |
33 #endif | |
34 | |
35 #include "decoder.h" | |
36 #include "bits.h" | |
37 | |
10989 | 38 #define MAIN 1 |
39 #define LC 2 | |
40 #define SSR 3 | |
41 #define LTP 4 | |
42 #define HE_AAC 5 | |
10725 | 43 #define LD 23 |
44 #define ER_LC 17 | |
45 #define ER_LTP 19 | |
46 #define DRM_ER_LC 27 /* special object type for DRM */ | |
47 | |
10989 | 48 /* header types */ |
49 #define RAW 0 | |
50 #define ADIF 1 | |
51 #define ADTS 2 | |
25834
69a4d646e55d
generic functions and structures to parse and statekeep LATM streams
nicodvb
parents:
18141
diff
changeset
|
52 #define LATM 3 |
10989 | 53 |
54 /* SBR signalling */ | |
55 #define NO_SBR 0 | |
56 #define SBR_UPSAMPLED 1 | |
57 #define SBR_DOWNSAMPLED 2 | |
58 #define NO_SBR_UPSAMPLED 3 | |
59 | |
60 /* DRM channel definitions */ | |
61 #define DRMCH_MONO 1 | |
62 #define DRMCH_STEREO 2 | |
63 #define DRMCH_SBR_MONO 3 | |
13453
6d50ef45a058
Update FAAD to a 2.1 beta CVS snapshot from 2004.07.12.
diego
parents:
12625
diff
changeset
|
64 #define DRMCH_SBR_STEREO 4 |
6d50ef45a058
Update FAAD to a 2.1 beta CVS snapshot from 2004.07.12.
diego
parents:
12625
diff
changeset
|
65 #define DRMCH_SBR_PS_STEREO 5 |
10989 | 66 |
10725 | 67 |
68 /* First object type that has ER */ | |
69 #define ER_OBJECT_START 17 | |
70 | |
71 | |
72 /* Bitstream */ | |
73 #define LEN_SE_ID 3 | |
74 #define LEN_TAG 4 | |
75 #define LEN_BYTE 8 | |
76 | |
77 #define EXT_FIL 0 | |
78 #define EXT_FILL_DATA 1 | |
79 #define EXT_DATA_ELEMENT 2 | |
80 #define EXT_DYNAMIC_RANGE 11 | |
81 #define ANC_DATA 0 | |
82 | |
83 /* Syntax elements */ | |
84 #define ID_SCE 0x0 | |
85 #define ID_CPE 0x1 | |
86 #define ID_CCE 0x2 | |
87 #define ID_LFE 0x3 | |
88 #define ID_DSE 0x4 | |
89 #define ID_PCE 0x5 | |
90 #define ID_FIL 0x6 | |
91 #define ID_END 0x7 | |
92 | |
93 #define ONLY_LONG_SEQUENCE 0x0 | |
94 #define LONG_START_SEQUENCE 0x1 | |
95 #define EIGHT_SHORT_SEQUENCE 0x2 | |
96 #define LONG_STOP_SEQUENCE 0x3 | |
97 | |
98 #define ZERO_HCB 0 | |
99 #define FIRST_PAIR_HCB 5 | |
100 #define ESC_HCB 11 | |
101 #define QUAD_LEN 4 | |
102 #define PAIR_LEN 2 | |
103 #define NOISE_HCB 13 | |
104 #define INTENSITY_HCB2 14 | |
105 #define INTENSITY_HCB 15 | |
106 | |
12527 | 107 #define INVALID_SBR_ELEMENT 255 |
108 | |
10725 | 109 int8_t GASpecificConfig(bitfile *ld, mp4AudioSpecificConfig *mp4ASC, |
110 program_config *pce); | |
111 | |
112 uint8_t adts_frame(adts_header *adts, bitfile *ld); | |
113 void get_adif_header(adif_header *adif, bitfile *ld); | |
13453
6d50ef45a058
Update FAAD to a 2.1 beta CVS snapshot from 2004.07.12.
diego
parents:
12625
diff
changeset
|
114 void raw_data_block(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, |
12527 | 115 bitfile *ld, program_config *pce, drc_info *drc); |
13453
6d50ef45a058
Update FAAD to a 2.1 beta CVS snapshot from 2004.07.12.
diego
parents:
12625
diff
changeset
|
116 uint8_t reordered_spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld, |
12527 | 117 int16_t *spectral_data); |
13453
6d50ef45a058
Update FAAD to a 2.1 beta CVS snapshot from 2004.07.12.
diego
parents:
12625
diff
changeset
|
118 void aac_scalable_main_element(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, |
6d50ef45a058
Update FAAD to a 2.1 beta CVS snapshot from 2004.07.12.
diego
parents:
12625
diff
changeset
|
119 bitfile *ld, program_config *pce, drc_info *drc); |
25834
69a4d646e55d
generic functions and structures to parse and statekeep LATM streams
nicodvb
parents:
18141
diff
changeset
|
120 uint32_t faad_latm_frame(latm_header *latm, bitfile *ld); |
10725 | 121 |
122 | |
123 #ifdef __cplusplus | |
124 } | |
125 #endif | |
126 #endif |