FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
nuv.c File Reference
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/intfloat.h"
#include "avformat.h"
#include "internal.h"
#include "riff.h"

Go to the source code of this file.

Data Structures

struct  NUVContext
 

Macros

#define PKTSIZE(s)   (s & 0xffffff)
 little macro to sanitize packet size
 
#define HDRSIZE   12
 

Enumerations

enum  nuv_frametype {
  NUV_VIDEO = 'V', NUV_EXTRADATA = 'D', NUV_AUDIO = 'A', NUV_SEEKP = 'R',
  NUV_MYTHEXT = 'X'
}
 

Functions

static int nuv_probe (AVProbeData *p)
 
static int get_codec_data (AVIOContext *pb, AVStream *vst, AVStream *ast, int myth)
 read until we found all data needed for decoding
 
static int nuv_header (AVFormatContext *s)
 
static int nuv_packet (AVFormatContext *s, AVPacket *pkt)
 
static int nuv_resync (AVFormatContext *s, int64_t pos_limit)
 looks for the string RTjjjjjjjjjj in the stream too resync reading
 
static int64_t nuv_read_dts (AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit)
 attempts to read a timestamp from stream at the given stream position
 

Variables

static const AVCodecTag nuv_audio_tags []
 
AVInputFormat ff_nuv_demuxer
 

Macro Definition Documentation

#define PKTSIZE (   s)    (s & 0xffffff)

little macro to sanitize packet size

Definition at line 59 of file nuv.c.

Referenced by get_codec_data(), nuv_packet(), and nuv_read_dts().

#define HDRSIZE   12

Definition at line 230 of file nuv.c.

Referenced by nuv_packet(), and nuv_read_dts().

Enumeration Type Documentation

Enumerator:
NUV_VIDEO 
NUV_EXTRADATA 
NUV_AUDIO 
NUV_SEEKP 
NUV_MYTHEXT 

Definition at line 41 of file nuv.c.

Function Documentation

static int nuv_probe ( AVProbeData p)
static

Definition at line 49 of file nuv.c.

static int get_codec_data ( AVIOContext pb,
AVStream vst,
AVStream ast,
int  myth 
)
static

read until we found all data needed for decoding

Parameters
vstvideo stream of which to change parameters
astvideo stream of which to change parameters
mythset if this is a MythTVVideo format file
Returns
0 or AVERROR code

Definition at line 68 of file nuv.c.

Referenced by nuv_header().

static int nuv_header ( AVFormatContext s)
static

Definition at line 152 of file nuv.c.

static int nuv_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 232 of file nuv.c.

static int nuv_resync ( AVFormatContext s,
int64_t  pos_limit 
)
static

looks for the string RTjjjjjjjjjj in the stream too resync reading

Returns
1 if the syncword is found 0 otherwise.

Definition at line 310 of file nuv.c.

Referenced by nuv_read_dts().

static int64_t nuv_read_dts ( AVFormatContext s,
int  stream_index,
int64_t *  ppos,
int64_t  pos_limit 
)
static

attempts to read a timestamp from stream at the given stream position

Returns
timestamp if successful and AV_NOPTS_VALUE if failure

Definition at line 327 of file nuv.c.

Variable Documentation

const AVCodecTag nuv_audio_tags[]
static
Initial value:
= {
{ AV_CODEC_ID_PCM_S16LE, MKTAG('R', 'A', 'W', 'A') },
{ AV_CODEC_ID_MP3, MKTAG('L', 'A', 'M', 'E') },
}

Definition at line 29 of file nuv.c.

AVInputFormat ff_nuv_demuxer
Initial value:
= {
.name = "nuv",
.long_name = NULL_IF_CONFIG_SMALL("NuppelVideo"),
.priv_data_size = sizeof(NUVContext),
.read_timestamp = nuv_read_dts,
}

Definition at line 381 of file nuv.c.