FFmpeg
Classes | Macros | Typedefs | Variables
psxstr.c File Reference

PSX STR file demuxer by Mike Melanson (melan.nosp@m.son@.nosp@m.pcisy.nosp@m.s.ne.nosp@m.t) This module handles streams that have been ripped from Sony Playstation CD games. More...

#include "libavutil/channel_layout.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "internal.h"

Classes

struct  StrChannel
 
struct  StrDemuxContext
 

Macros

#define RIFF_TAG   MKTAG('R', 'I', 'F', 'F')
 
#define CDXA_TAG   MKTAG('C', 'D', 'X', 'A')
 
#define RAW_CD_SECTOR_SIZE   2352
 
#define RAW_CD_SECTOR_DATA_SIZE   2304
 
#define VIDEO_DATA_CHUNK_SIZE   0x7E0
 
#define VIDEO_DATA_HEADER_SIZE   0x38
 
#define RIFF_HEADER_SIZE   0x2C
 
#define CDXA_TYPE_MASK   0x0E
 
#define CDXA_TYPE_DATA   0x08
 
#define CDXA_TYPE_AUDIO   0x04
 
#define CDXA_TYPE_VIDEO   0x02
 
#define STR_MAGIC   (0x80010160)
 

Typedefs

typedef struct StrChannel StrChannel
 
typedef struct StrDemuxContext StrDemuxContext
 

Variables

AVInputFormat ff_str_demuxer
 

Detailed Description

PSX STR file demuxer by Mike Melanson (melan.nosp@m.son@.nosp@m.pcisy.nosp@m.s.ne.nosp@m.t) This module handles streams that have been ripped from Sony Playstation CD games.

This demuxer can handle either raw STR files (which are just concatenations of raw compact disc sectors) or STR files with 0x2C-byte RIFF headers, followed by CD sectors.

Variable Documentation

§ ff_str_demuxer

AVInputFormat ff_str_demuxer
Initial value:
= {
.name = "psxstr",
.long_name = NULL_IF_CONFIG_SMALL("Sony Playstation STR"),
.priv_data_size = sizeof(StrDemuxContext),
.read_probe = str_probe,
.read_header = str_read_header,
.read_packet = str_read_packet,
.read_close = str_read_close,
}
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
#define AVFMT_NO_BYTE_SEEK
Format does not allow seeking by bytes.
Definition: avformat.h:477
Definition: psxstr.c:63