Mercurial > libavformat.hg
annotate dv.h @ 801:bca2334ff177 libavformat
dont open and close codec at every call of try_decode_frame() as this is not only slow but also fails if the previous frame is needed for setting some parameters correctly
author | michael |
---|---|
date | Mon, 27 Jun 2005 20:54:36 +0000 |
parents | bf3231dd1d7c |
children | da1d5db0ce5c |
rev | line source |
---|---|
262
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
1 /* |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
2 * General DV muxer/demuxer |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
3 * Copyright (c) 2003 Roman Shaposhnick |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
4 * |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
5 * Many thanks to Dan Dennedy <dan@dennedy.org> for providing wealth |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
6 * of DV technical info. |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
7 * |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
8 * Raw DV format |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
9 * Copyright (c) 2002 Fabrice Bellard. |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
10 * |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
11 * This library is free software; you can redistribute it and/or |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
12 * modify it under the terms of the GNU Lesser General Public |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
13 * License as published by the Free Software Foundation; either |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
14 * version 2 of the License, or (at your option) any later version. |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
15 * |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
16 * This library is distributed in the hope that it will be useful, |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
19 * Lesser General Public License for more details. |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
20 * |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
21 * You should have received a copy of the GNU Lesser General Public |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
22 * License along with this library; if not, write to the Free Software |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
24 */ |
f174d9c00bce
* DV handling was streamlined for both muxing/demuxing and
romansh
parents:
diff
changeset
|
25 |
296
252946de6d3f
* DV demuxer is now capable of decoding auxilary audio stream. So,
romansh
parents:
262
diff
changeset
|
26 typedef struct DVDemuxContext DVDemuxContext; |
252946de6d3f
* DV demuxer is now capable of decoding auxilary audio stream. So,
romansh
parents:
262
diff
changeset
|
27 DVDemuxContext* dv_init_demux(AVFormatContext* s); |
252946de6d3f
* DV demuxer is now capable of decoding auxilary audio stream. So,
romansh
parents:
262
diff
changeset
|
28 int dv_get_packet(DVDemuxContext*, AVPacket *); |
252946de6d3f
* DV demuxer is now capable of decoding auxilary audio stream. So,
romansh
parents:
262
diff
changeset
|
29 int dv_produce_packet(DVDemuxContext*, AVPacket*, uint8_t*, int); |
562
bf3231dd1d7c
* static allocation for audio packets. This will make it a little bit
romansh
parents:
296
diff
changeset
|
30 void dv_flush_audio_packets(DVDemuxContext*); |
296
252946de6d3f
* DV demuxer is now capable of decoding auxilary audio stream. So,
romansh
parents:
262
diff
changeset
|
31 |
252946de6d3f
* DV demuxer is now capable of decoding auxilary audio stream. So,
romansh
parents:
262
diff
changeset
|
32 typedef struct DVMuxContext DVMuxContext; |
252946de6d3f
* DV demuxer is now capable of decoding auxilary audio stream. So,
romansh
parents:
262
diff
changeset
|
33 DVMuxContext* dv_init_mux(AVFormatContext* s); |
252946de6d3f
* DV demuxer is now capable of decoding auxilary audio stream. So,
romansh
parents:
262
diff
changeset
|
34 int dv_assemble_frame(DVMuxContext *c, AVStream*, const uint8_t*, int, uint8_t**); |
252946de6d3f
* DV demuxer is now capable of decoding auxilary audio stream. So,
romansh
parents:
262
diff
changeset
|
35 void dv_delete_mux(DVMuxContext*); |