OLD | NEW |
1 /* | 1 /* |
2 * "NUT" Container Format (de)muxer | 2 * "NUT" Container Format (de)muxer |
3 * Copyright (c) 2006 Michael Niedermayer | 3 * Copyright (c) 2006 Michael Niedermayer |
4 * | 4 * |
5 * This file is part of FFmpeg. | 5 * This file is part of FFmpeg. |
6 * | 6 * |
7 * FFmpeg is free software; you can redistribute it and/or | 7 * FFmpeg is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2.1 of the License, or (at your option) any later version. | 10 * version 2.1 of the License, or (at your option) any later version. |
11 * | 11 * |
12 * FFmpeg is distributed in the hope that it will be useful, | 12 * FFmpeg is distributed in the hope that it will be useful, |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 * Lesser General Public License for more details. | 15 * Lesser General Public License for more details. |
16 * | 16 * |
17 * You should have received a copy of the GNU Lesser General Public | 17 * You should have received a copy of the GNU Lesser General Public |
18 * License along with FFmpeg; if not, write to the Free Software | 18 * License along with FFmpeg; if not, write to the Free Software |
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 */ | 20 */ |
21 | 21 |
22 #ifndef AVFORMAT_NUT_H | 22 #ifndef AVFORMAT_NUT_H |
23 #define AVFORMAT_NUT_H | 23 #define AVFORMAT_NUT_H |
24 | 24 |
25 //#include <limits.h> | 25 //#include <limits.h> |
26 //#include "libavutil/adler32.h" | 26 //#include "libavutil/adler32.h" |
27 //#include "libavcodec/mpegaudio.h" | 27 //#include "libavcodec/mpegaudio.h" |
28 #include "avformat.h" | 28 #include "avformat.h" |
29 #include "riff.h" | 29 #include "riff.h" |
| 30 #include "metadata.h" |
30 | 31 |
31 #define MAIN_STARTCODE (0x7A561F5F04ADULL + (((uint64_t)('N'<<8) + 'M')<<48
)) | 32 #define MAIN_STARTCODE (0x7A561F5F04ADULL + (((uint64_t)('N'<<8) + 'M')<<48
)) |
32 #define STREAM_STARTCODE (0x11405BF2F9DBULL + (((uint64_t)('N'<<8) + 'S')<<48
)) | 33 #define STREAM_STARTCODE (0x11405BF2F9DBULL + (((uint64_t)('N'<<8) + 'S')<<48
)) |
33 #define SYNCPOINT_STARTCODE (0xE4ADEECA4569ULL + (((uint64_t)('N'<<8) + 'K')<<48
)) | 34 #define SYNCPOINT_STARTCODE (0xE4ADEECA4569ULL + (((uint64_t)('N'<<8) + 'K')<<48
)) |
34 #define INDEX_STARTCODE (0xDD672F23E64EULL + (((uint64_t)('N'<<8) + 'X')<<48
)) | 35 #define INDEX_STARTCODE (0xDD672F23E64EULL + (((uint64_t)('N'<<8) + 'X')<<48
)) |
35 #define INFO_STARTCODE (0xAB68B596BA78ULL + (((uint64_t)('N'<<8) + 'I')<<48
)) | 36 #define INFO_STARTCODE (0xAB68B596BA78ULL + (((uint64_t)('N'<<8) + 'I')<<48
)) |
36 | 37 |
37 #define ID_STRING "nut/multimedia container\0" | 38 #define ID_STRING "nut/multimedia container\0" |
38 | 39 |
39 #define MAX_DISTANCE (1024*32-1) | 40 #define MAX_DISTANCE (1024*32-1) |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 typedef struct { | 103 typedef struct { |
103 char str[9]; | 104 char str[9]; |
104 int flag; | 105 int flag; |
105 } Dispositions; | 106 } Dispositions; |
106 | 107 |
107 void ff_nut_reset_ts(NUTContext *nut, AVRational time_base, int64_t val); | 108 void ff_nut_reset_ts(NUTContext *nut, AVRational time_base, int64_t val); |
108 int64_t ff_lsb2full(StreamContext *stream, int64_t lsb); | 109 int64_t ff_lsb2full(StreamContext *stream, int64_t lsb); |
109 int ff_nut_sp_pos_cmp(Syncpoint *a, Syncpoint *b); | 110 int ff_nut_sp_pos_cmp(Syncpoint *a, Syncpoint *b); |
110 int ff_nut_sp_pts_cmp(Syncpoint *a, Syncpoint *b); | 111 int ff_nut_sp_pts_cmp(Syncpoint *a, Syncpoint *b); |
111 void ff_nut_add_sp(NUTContext *nut, int64_t pos, int64_t back_ptr, int64_t ts); | 112 void ff_nut_add_sp(NUTContext *nut, int64_t pos, int64_t back_ptr, int64_t ts); |
| 113 void ff_nut_free_sp(NUTContext *nut); |
112 | 114 |
113 extern const Dispositions ff_nut_dispositions[]; | 115 extern const Dispositions ff_nut_dispositions[]; |
114 | 116 |
| 117 extern const AVMetadataConv ff_nut_metadata_conv[]; |
| 118 |
115 #endif /* AVFORMAT_NUT_H */ | 119 #endif /* AVFORMAT_NUT_H */ |
OLD | NEW |