annotate rtp_vorbis.h @ 5237:496723640f94 libavformat

Extend DV autodetection to also reliably detect single-frame DVs with a higher score that MAX/4. It checks that there are at least 10 DIF headers and at least one per 24000 bytes, and if so considers the file reliably detected as DV. Passes probetest, too.
author reimar
date Tue, 29 Sep 2009 10:12:18 +0000
parents 13a2a1a475d5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4875
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
1 /*
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
2 * RTP Vorbis Protocol (RFC 5215)
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
3 * Copyright (c) 2009 Colin McQuillan
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
4 *
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
5 * This file is part of FFmpeg.
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
6 *
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
11 *
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
15 * Lesser General Public License for more details.
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
16 *
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
20 */
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
21
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
22 #ifndef AVFORMAT_RTP_VORBIS_H
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
23 #define AVFORMAT_RTP_VORBIS_H
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
24
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
25 #include "libavcodec/avcodec.h"
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
26 #include "rtpdec.h"
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
27
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
28 /**
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
29 * Handle a Vorbis-specific FMTP parameter
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
30 *
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
31 * @param codec The context of the codec
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
32 * @param ctx Private Vorbis RTP context
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
33 * @param attr Format-specific parameter name
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
34 * @param value Format-specific paremeter value
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
35 */
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
36 int
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
37 ff_vorbis_parse_fmtp_config(AVCodecContext * codec,
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
38 void *ctx, char *attr, char *value);
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
39
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
40 /**
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
41 * Vorbis RTP callbacks.
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
42 */
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
43 extern RTPDynamicProtocolHandler ff_vorbis_dynamic_handler;
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
44
13a2a1a475d5 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
rbultje
parents:
diff changeset
45 #endif /* AVFORMAT_RTP_VORBIS_H */