libavformat/gxf.c File Reference

#include "libavutil/common.h"
#include "avformat.h"
#include "internal.h"
#include "gxf.h"

Go to the source code of this file.

Data Structures

struct  gxf_stream_info

Defines

#define READ_ONE()

Functions

static int parse_packet_header (AVIOContext *pb, GXFPktType *type, int *length)
 parses a packet header, extracting type and length
static int gxf_probe (AVProbeData *p)
 check if file starts with a PKT_MAP header
static int get_sindex (AVFormatContext *s, int id, int format)
 gets the stream index for the track with the specified id, creates new stream if not found
static void gxf_material_tags (AVIOContext *pb, int *len, struct gxf_stream_info *si)
 filters out interesting tags from material information.
static AVRational fps_tag2avr (int32_t fps)
 convert fps tag value to AVRational fps
static AVRational fps_umf2avr (uint32_t flags)
 convert UMF attributes flags to AVRational fps
static void gxf_track_tags (AVIOContext *pb, int *len, struct gxf_stream_info *si)
 filters out interesting tags from track information.
static void gxf_read_index (AVFormatContext *s, int pkt_len)
 read index from FLT packet into stream 0 av_index
static int gxf_header (AVFormatContext *s, AVFormatParameters *ap)
static int64_t gxf_resync_media (AVFormatContext *s, uint64_t max_interval, int track, int timestamp)
 resync the stream on the next media packet with specified properties
static int gxf_packet (AVFormatContext *s, AVPacket *pkt)
static int gxf_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
static int64_t gxf_read_timestamp (AVFormatContext *s, int stream_index, int64_t *pos, int64_t pos_limit)

Variables

AVInputFormat ff_gxf_demuxer


Define Documentation

 
#define READ_ONE (  ) 

Value:

{ \
        if (!max_interval-- || url_feof(pb)) \
            goto out; \
        tmp = tmp << 8 | avio_r8(pb); \
    }

Definition at line 369 of file gxf.c.

Referenced by gxf_resync_media().


Function Documentation

static AVRational fps_tag2avr ( int32_t  fps  )  [static]

convert fps tag value to AVRational fps

Parameters:
fps fps value from tag
Returns:
fps as AVRational, or 0 / 0 if unknown

Definition at line 186 of file gxf.c.

Referenced by gxf_track_tags().

static AVRational fps_umf2avr ( uint32_t  flags  )  [static]

convert UMF attributes flags to AVRational fps

Parameters:
flags UMF flags to convert
Returns:
fps as AVRational, or 0 / 0 if unknown

Definition at line 197 of file gxf.c.

Referenced by gxf_header().

static int get_sindex ( AVFormatContext s,
int  id,
int  format 
) [static]

gets the stream index for the track with the specified id, creates new stream if not found

Parameters:
id id of stream to find / add
format stream format identifier

Definition at line 78 of file gxf.c.

Referenced by gxf_header(), and gxf_packet().

static int gxf_header ( AVFormatContext s,
AVFormatParameters ap 
) [static]

Definition at line 261 of file gxf.c.

static void gxf_material_tags ( AVIOContext pb,
int *  len,
struct gxf_stream_info si 
) [static]

filters out interesting tags from material information.

Parameters:
len length of tag section, will be adjusted to contain remaining bytes
si struct to store collected information into

Definition at line 160 of file gxf.c.

Referenced by gxf_header().

static int gxf_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 421 of file gxf.c.

static int gxf_probe ( AVProbeData p  )  [static]

check if file starts with a PKT_MAP header

Definition at line 63 of file gxf.c.

static void gxf_read_index ( AVFormatContext s,
int  pkt_len 
) [static]

read index from FLT packet into stream 0 av_index

Definition at line 233 of file gxf.c.

Referenced by gxf_header(), and gxf_packet().

static int64_t gxf_read_timestamp ( AVFormatContext s,
int  stream_index,
int64_t *  pos,
int64_t  pos_limit 
) [static]

Definition at line 514 of file gxf.c.

static int64_t gxf_resync_media ( AVFormatContext s,
uint64_t  max_interval,
int  track,
int  timestamp 
) [static]

resync the stream on the next media packet with specified properties

Parameters:
max_interval how many bytes to search for matching packet at most
track track id the media packet must belong to, -1 for any
timestamp minimum timestamp (== field number) the packet must have, -1 for any
Returns:
timestamp of packet found

Definition at line 383 of file gxf.c.

Referenced by gxf_read_timestamp(), and gxf_seek().

static int gxf_seek ( AVFormatContext s,
int  stream_index,
int64_t  timestamp,
int  flags 
) [static]

Definition at line 488 of file gxf.c.

static void gxf_track_tags ( AVIOContext pb,
int *  len,
struct gxf_stream_info si 
) [static]

filters out interesting tags from track information.

Parameters:
len length of tag section, will be adjusted to contain remaining bytes
si struct to store collected information into

Definition at line 209 of file gxf.c.

Referenced by gxf_header().

static int parse_packet_header ( AVIOContext pb,
GXFPktType type,
int *  length 
) [static]

parses a packet header, extracting type and length

Parameters:
pb AVIOContext to read header from
type detected packet type is stored here
length detected packet length, excluding header is stored here
Returns:
0 if header not found or contains invalid data, 1 otherwise

Definition at line 41 of file gxf.c.


Variable Documentation

Initial value:

Definition at line 525 of file gxf.c.


Generated on Fri Oct 26 02:38:20 2012 for FFmpeg by  doxygen 1.5.8