FFmpeg  4.0
Data Structures | Macros | Enumerations | Functions | Variables
nuv.c File Reference
#include "libavutil/channel_layout.h"
#include "libavutil/imgutils.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 More...
 
#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 (AVFormatContext *s, AVIOContext *pb, AVStream *vst, AVStream *ast, int myth)
 read until we found all data needed for decoding More...
 
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 More...
 
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 More...
 

Variables

static const AVCodecTag nuv_audio_tags []
 
AVInputFormat ff_nuv_demuxer
 

Macro Definition Documentation

◆ PKTSIZE

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

little macro to sanitize packet size

Definition at line 60 of file nuv.c.

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

◆ HDRSIZE

#define HDRSIZE   12

Definition at line 247 of file nuv.c.

Referenced by nuv_packet(), and nuv_read_dts().

Enumeration Type Documentation

◆ nuv_frametype

Enumerator
NUV_VIDEO 
NUV_EXTRADATA 
NUV_AUDIO 
NUV_SEEKP 
NUV_MYTHEXT 

Definition at line 42 of file nuv.c.

Function Documentation

◆ nuv_probe()

static int nuv_probe ( AVProbeData p)
static

Definition at line 50 of file nuv.c.

◆ get_codec_data()

static int get_codec_data ( AVFormatContext s,
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 69 of file nuv.c.

Referenced by nuv_header().

◆ nuv_header()

static int nuv_header ( AVFormatContext s)
static

Definition at line 156 of file nuv.c.

◆ nuv_packet()

static int nuv_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 249 of file nuv.c.

◆ nuv_resync()

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 327 of file nuv.c.

Referenced by nuv_read_dts().

◆ 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 344 of file nuv.c.

Variable Documentation

◆ nuv_audio_tags

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') },
}
preferred ID for decoding MPEG audio layer 1, 2 or 3
Definition: avcodec.h:552
#define MKTAG(a, b, c, d)
Definition: common.h:366

Definition at line 30 of file nuv.c.

◆ ff_nuv_demuxer

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: nuv.c:36
static int flags
Definition: log.c:55
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
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
Definition: nuv.c:344
static int nuv_probe(AVProbeData *p)
Definition: nuv.c:50
static int read_probe(AVProbeData *pd)
Definition: jvdec.c:55
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:530
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
Definition: avio_reading.c:42
#define AVFMT_GENERIC_INDEX
Use generic index building code.
Definition: avformat.h:470
static int nuv_packet(AVFormatContext *s, AVPacket *pkt)
Definition: nuv.c:249
static int nuv_header(AVFormatContext *s)
Definition: nuv.c:156

Definition at line 398 of file nuv.c.