Mercurial > mplayer.hg
annotate libmpdemux/aviwrite.h @ 6404:83b3315c679b
Implement Nilmoni's and Bernd Ernesti's patches for:
Better real codec dir detection and NetBSD real support.
Fix Nilmonis code, so it's working like expected.
Move a debug printf to mp_msg and some fixes in demux_real.c.
Some cosmetics :) -> RealPlayer 8 to RealPlayer, as RealOne (aka RealPlayer 9 works, too)
author | atmos4 |
---|---|
date | Thu, 13 Jun 2002 00:14:28 +0000 |
parents | 8cd761968f35 |
children | 3854945aefbb |
rev | line source |
---|---|
2529 | 1 |
2 #define AVIWRITE_MAX_STREAMS 16 | |
3 | |
4 #define AVIWRITE_TYPE_VIDEO 0 | |
5 #define AVIWRITE_TYPE_AUDIO 1 | |
6 | |
7 typedef struct { | |
8 // muxer data: | |
9 int type; // audio or video | |
10 int id; // stream no | |
11 unsigned int ckid; // chunk id (00dc 01wb etc) | |
12 double timer; | |
5572
8cd761968f35
BSD-BT848 TV update patch by Charles Henrich <henrich@sigbus.com>
arpi
parents:
2652
diff
changeset
|
13 off_t size; |
2529 | 14 // buffering: |
15 unsigned char *buffer; | |
16 unsigned int buffer_size; | |
2592 | 17 unsigned int buffer_len; |
2529 | 18 // source stream: |
19 void* source; // sh_audio or sh_video | |
20 int codec; // codec used for encoding. 0 means copy | |
21 // avi stream header: | |
22 AVIStreamHeader h; // Rate/Scale and SampleSize must be filled by caller! | |
23 // stream specific: | |
24 WAVEFORMATEX *wf; | |
25 BITMAPINFOHEADER *bih; // in format | |
26 } aviwrite_stream_t; | |
27 | |
28 typedef struct { | |
29 // encoding: | |
30 MainAVIHeader avih; | |
31 unsigned int movi_start; | |
32 unsigned int movi_end; | |
33 unsigned int file_end; | |
34 // index: | |
35 AVIINDEXENTRY *idx; | |
36 int idx_pos; | |
37 int idx_size; | |
38 // streams: | |
39 //int num_streams; | |
40 aviwrite_stream_t* def_v; // default video stream (for general headers) | |
41 aviwrite_stream_t* streams[AVIWRITE_MAX_STREAMS]; | |
42 } aviwrite_t; | |
43 | |
44 aviwrite_stream_t* aviwrite_new_stream(aviwrite_t *muxer,int type); | |
45 aviwrite_t* aviwrite_new_muxer(); | |
46 void aviwrite_write_chunk(aviwrite_t *muxer,aviwrite_stream_t *s, FILE *f,int len,unsigned int flags); | |
47 void aviwrite_write_header(aviwrite_t *muxer,FILE *f); | |
48 void aviwrite_write_index(aviwrite_t *muxer,FILE *f); | |
49 | |
50 | |
51 |