FFmpeg
Loading...
Searching...
No Matches
nuv.c File Reference
#include "libavutil/attributes.h"
#include "libavutil/channel_layout.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/intfloat.h"
#include "avformat.h"
#include "avio_internal.h"
#include "demux.h"
#include "internal.h"
#include "riff.h"

Go to the source code of this file.

Data Structures

struct  NUVContext
 

Macros

#define PKTSIZE(s)
 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 (const 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
 
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 []
 
const FFInputFormat ff_nuv_demuxer
 

Macro Definition Documentation

◆ PKTSIZE

#define PKTSIZE ( s)
Value:
(s & 0xffffff)
#define s(width, name)
Definition cbs_vp9.c:198

little macro to sanitize packet size

Definition at line 63 of file nuv.c.

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

◆ HDRSIZE

#define HDRSIZE   12

Definition at line 252 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 45 of file nuv.c.

Function Documentation

◆ nuv_probe()

static int nuv_probe ( const AVProbeData * p)
static

Definition at line 53 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 72 of file nuv.c.

Referenced by nuv_header().

◆ nuv_header()

static int nuv_header ( AVFormatContext * s)
static

Definition at line 160 of file nuv.c.

◆ nuv_packet()

static int nuv_packet ( AVFormatContext * s,
AVPacket * pkt )
static

Definition at line 254 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 332 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 349 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') },
}
@ AV_CODEC_ID_PCM_S16LE
Definition codec_id.h:330
@ AV_CODEC_ID_NONE
Definition codec_id.h:48
@ AV_CODEC_ID_MP3
preferred ID for decoding MPEG audio layer 1, 2 or 3
Definition codec_id.h:454
#define MKTAG(a, b, c, d)
Definition macros.h:55

Definition at line 33 of file nuv.c.

Referenced by get_codec_data().

◆ ff_nuv_demuxer

const FFInputFormat ff_nuv_demuxer
Initial value:
= {
.p.name = "nuv",
.p.long_name = NULL_IF_CONFIG_SMALL("NuppelVideo"),
.p.flags = AVFMT_GENERIC_INDEX,
.priv_data_size = sizeof(NUVContext),
}
#define AVFMT_GENERIC_INDEX
Use generic index building code.
Definition avformat.h:499
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
static int read_probe(const AVProbeData *p)
Definition cdg.c:30
static int read_header(FFV1Context *f, RangeCoder *c)
Definition ffv1dec.c:578
static int nuv_header(AVFormatContext *s)
Definition nuv.c:160
static int nuv_packet(AVFormatContext *s, AVPacket *pkt)
Definition nuv.c:254
static int nuv_probe(const AVProbeData *p)
Definition nuv.c:53
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:349
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88
static int64_t read_timestamp(AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit, int64_t(*read_timestamp)(struct AVFormatContext *, int, int64_t *, int64_t))
Definition seek.c:281

Definition at line 404 of file nuv.c.