root/branches/perian-1.1/bitstream_info.h

Revision 797, 1.4 kB (checked in by astrange, 7 months ago)

Note Fraps version in the readme. Don't try to decode 4:2:2 H.264 in case anyone has any.

Line 
1 /*
2  *  bitstream_info.h
3  *  Perian
4  *
5  *  Created by Graham Booker on 1/6/07.
6  *  Copyright 2007 Graham Booker. All rights reserved.
7  *
8  */
9
10 #include <AudioToolbox/AudioToolbox.h>
11 #include <QuickTime/QuickTime.h>
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 int parse_ac3_bitstream(AudioStreamBasicDescription *asbd, AudioChannelLayout *acl, uint8_t *buffer, int buff_size);
18
19 typedef struct FFusionParserContext
20 {
21         struct AVCodecParserContext     *pc;
22         struct AVCodecContext   *avctx;
23         struct FFusionParser    *parserStructure;
24         void                                    *internalContext;
25 } FFusionParserContext;
26        
27 typedef struct FFusionParser
28 {
29         struct AVCodecParser *avparse;
30         int internalContextSize;
31         int (*init)(FFusionParserContext *parser);
32         int (*extra_data)(FFusionParserContext *parser,
33                                           const uint8_t *buf, int buf_size);
34         int (*parser_parse)(FFusionParserContext *parser,
35                                                 const uint8_t *buf, int buf_size,
36                                                 int *out_buf_size,
37                                                 int *type, int *skippable);
38         struct FFusionParser *next;
39 } FFusionParser;
40
41 void initFFusionParsers();
42 FFusionParserContext *ffusionParserInit(int codec_id);
43 int ffusionParseExtraData(FFusionParserContext *parser, const uint8_t *buf, int buf_size);
44 int ffusionParse(FFusionParserContext *parser, const uint8_t *buf, int buf_size, int *out_buf_size, int *type, int *skippable);
45 int ffusionIsParsedVideoDecodable(FFusionParserContext *parser);
46
47 #ifdef __cplusplus
48 }
49 #endif
Note: See TracBrowser for help on using the browser.