#include "libavutil/mathematics.h"
#include "avformat.h"
#include "internal.h"
#include "riff.h"
#include "libavutil/dict.h"
#include "libavutil/intreadwrite.h"
Go to the source code of this file.
Data Structures | |
struct | NSVStream |
struct | NSVContext |
Defines | |
#define | CHECK_SUBSEQUENT_NSVS |
#define | NSV_MAX_RESYNC (500*1024) |
#define | NSV_MAX_RESYNC_TRIES 300 |
#define | T_NSVF MKTAG('N', 'S', 'V', 'f') /* file header */ |
#define | T_NSVS MKTAG('N', 'S', 'V', 's') /* chunk header */ |
#define | T_TOC2 MKTAG('T', 'O', 'C', '2') /* extra index marker */ |
#define | T_NONE MKTAG('N', 'O', 'N', 'E') /* null a/v 4CC */ |
#define | T_SUBT MKTAG('S', 'U', 'B', 'T') /* subtitle aux data */ |
#define | T_ASYN MKTAG('A', 'S', 'Y', 'N') /* async a/v aux marker */ |
#define | T_KEYF MKTAG('K', 'E', 'Y', 'F') /* video keyframe aux marker (addition) */ |
#define | TB_NSVF MKBETAG('N', 'S', 'V', 'f') |
#define | TB_NSVS MKBETAG('N', 'S', 'V', 's') |
#define | NSV_ST_VIDEO 0 |
#define | NSV_ST_AUDIO 1 |
#define | NSV_ST_SUBT 2 |
#define | print_tag(str, tag, size) |
Typedefs | |
typedef struct NSVStream | NSVStream |
Enumerations | |
enum | NSVStatus { NSV_UNSYNC, NSV_FOUND_NSVF, NSV_HAS_READ_NSVF, NSV_FOUND_NSVS, NSV_HAS_READ_NSVS, NSV_FOUND_BEEF, NSV_GOT_VIDEO, NSV_GOT_AUDIO } |
Functions | |
static int | nsv_read_chunk (AVFormatContext *s, int fill_header) |
static int | nsv_resync (AVFormatContext *s) |
static int | nsv_parse_NSVf_header (AVFormatContext *s, AVFormatParameters *ap) |
static int | nsv_parse_NSVs_header (AVFormatContext *s, AVFormatParameters *ap) |
static int | nsv_read_header (AVFormatContext *s, AVFormatParameters *ap) |
static int | nsv_read_packet (AVFormatContext *s, AVPacket *pkt) |
static int | nsv_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags) |
static int | nsv_read_close (AVFormatContext *s) |
static int | nsv_probe (AVProbeData *p) |
Variables | |
static const AVCodecTag | nsv_codec_video_tags [] |
static const AVCodecTag | nsv_codec_audio_tags [] |
AVInputFormat | ff_nsv_demuxer |
#define CHECK_SUBSEQUENT_NSVS |
#define NSV_MAX_RESYNC (500*1024) |
Definition at line 36 of file nsvdec.c.
Referenced by nsv_resync().
#define NSV_MAX_RESYNC_TRIES 300 |
Definition at line 37 of file nsvdec.c.
Referenced by nsv_read_chunk(), and nsv_read_header().
#define NSV_ST_AUDIO 1 |
Definition at line 142 of file nsvdec.c.
Referenced by nsv_parse_NSVs_header(), and nsv_read_chunk().
#define NSV_ST_SUBT 2 |
#define NSV_ST_VIDEO 0 |
Definition at line 141 of file nsvdec.c.
Referenced by nsv_parse_NSVs_header(), and nsv_read_chunk().
Definition at line 132 of file nsvdec.c.
Referenced by nsv_parse_NSVs_header().
Definition at line 137 of file nsvdec.c.
Referenced by nsv_resync().
enum NSVStatus |
static int nsv_parse_NSVf_header | ( | AVFormatContext * | s, |
AVFormatParameters * | ap | ||
) | [static] |
Definition at line 271 of file nsvdec.c.
Referenced by nsv_read_header().
static int nsv_parse_NSVs_header | ( | AVFormatContext * | s, |
AVFormatParameters * | ap | ||
) | [static] |
Definition at line 399 of file nsvdec.c.
Referenced by nsv_read_chunk(), and nsv_read_header().
static int nsv_probe | ( | AVProbeData * | p | ) | [static] |
static int nsv_read_chunk | ( | AVFormatContext * | s, |
int | fill_header | ||
) | [static] |
Definition at line 556 of file nsvdec.c.
Referenced by nsv_read_header(), and nsv_read_packet().
static int nsv_read_close | ( | AVFormatContext * | s | ) | [static] |
static int nsv_read_header | ( | AVFormatContext * | s, |
AVFormatParameters * | ap | ||
) | [static] |
static int nsv_read_packet | ( | AVFormatContext * | s, |
AVPacket * | pkt | ||
) | [static] |
static int nsv_read_seek | ( | AVFormatContext * | s, |
int | stream_index, | ||
int64_t | timestamp, | ||
int | flags | ||
) | [static] |
static int nsv_resync | ( | AVFormatContext * | s | ) | [static] |
Definition at line 226 of file nsvdec.c.
Referenced by nsv_read_chunk(), and nsv_read_header().
{ .name = "nsv", .long_name = NULL_IF_CONFIG_SMALL("Nullsoft Streaming Video"), .priv_data_size = sizeof(NSVContext), .read_probe = nsv_probe, .read_header = nsv_read_header, .read_packet = nsv_read_packet, .read_close = nsv_read_close, .read_seek = nsv_read_seek, }
const AVCodecTag nsv_codec_audio_tags[] [static] |
{ { CODEC_ID_MP3, MKTAG('M', 'P', '3', ' ') }, { CODEC_ID_AAC, MKTAG('A', 'A', 'C', ' ') }, { CODEC_ID_AAC, MKTAG('A', 'A', 'C', 'P') }, { CODEC_ID_AAC, MKTAG('V', 'L', 'B', ' ') }, { CODEC_ID_SPEEX, MKTAG('S', 'P', 'X', ' ') }, { CODEC_ID_PCM_U16LE, MKTAG('P', 'C', 'M', ' ') }, { CODEC_ID_NONE, 0 }, }
const AVCodecTag nsv_codec_video_tags[] [static] |
{ { CODEC_ID_VP3, MKTAG('V', 'P', '3', ' ') }, { CODEC_ID_VP3, MKTAG('V', 'P', '3', '0') }, { CODEC_ID_VP3, MKTAG('V', 'P', '3', '1') }, { CODEC_ID_VP5, MKTAG('V', 'P', '5', ' ') }, { CODEC_ID_VP5, MKTAG('V', 'P', '5', '0') }, { CODEC_ID_VP6, MKTAG('V', 'P', '6', ' ') }, { CODEC_ID_VP6, MKTAG('V', 'P', '6', '0') }, { CODEC_ID_VP6, MKTAG('V', 'P', '6', '1') }, { CODEC_ID_VP6, MKTAG('V', 'P', '6', '2') }, { CODEC_ID_VP8, MKTAG('V', 'P', '8', '0') }, { CODEC_ID_MPEG4, MKTAG('X', 'V', 'I', 'D') }, { CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', '3') }, { CODEC_ID_NONE, 0 }, }