]> git.sesse.net Git - x264/blob - matroska.h
Update file headers throughout x264
[x264] / matroska.h
1 /*****************************************************************************
2  * matroska.h:
3  *****************************************************************************
4  * Copyright (C) 2005 Mike Matsnev
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111, USA.
19  *****************************************************************************/
20
21 #ifndef X264_MATROSKA_H
22 #define X264_MATROSKA_H
23
24 typedef struct mk_Writer mk_Writer;
25
26 mk_Writer *mk_createWriter( const char *filename );
27
28 int  mk_writeHeader( mk_Writer *w, const char *writingApp,
29                      const char *codecID,
30                      const void *codecPrivate, unsigned codecPrivateSize,
31                      int64_t default_frame_duration,
32                      int64_t timescale,
33                      unsigned width, unsigned height,
34                      unsigned d_width, unsigned d_height );
35
36 int  mk_startFrame( mk_Writer *w );
37 int  mk_addFrameData( mk_Writer *w, const void *data, unsigned size );
38 int  mk_setFrameFlags( mk_Writer *w, int64_t timestamp, int keyframe );
39 int  mk_close( mk_Writer *w );
40
41 #endif