★ MOVIE TOOLS GUIDE ★ Cinepak for SEGA SaturnList | Title | Data | Data Name | No |
Model name | explanation |
Uint8 | Unsigned 1-byte integer. |
Sint8 | Signed 1-byte integer. |
Uint16 | An unsigned 2-byte integer. |
Sint16 | Signed 2-byte integer. |
Uint32 | An unsigned 4-byte integer. |
Sint32 | Signed 4-byte integer. |
Bool | Logical type. Take the following values. |
List | Title | Data | Data Name | No |
Constant name | explanation |
CPK_ERR_OK | Normal termination handle cannot be created Insufficient work area Ring buffer size is small Initialization function is not called An invalid handle is specified. |
List | Title | Data | Data Name | No |
Constant name | explanation |
CPK_STAT_PLAY_ERR_STOP | Abnormal stop |
CPK_STAT_PLAY_STOP | Stop |
CPK_STAT_PLAY_PAUSE | pause |
CPK_STAT_PLAY_START | Start playing |
CPK_STAT_PLAY_HEADER | Film header processing in progress |
CPK_STAT_PLAY_TIME | Playing (timer start) |
CPK_STAT_PLAY_END | End of playback |
List | Title | Data | Data Name | No |
Constant name | explanation |
CPK_PAUSE_ON_AT_ONCE | Immediate pause |
CPK_PAUSE_ON_KEYFRAME | Pause at keyframe |
CPK_PAUSE_OFF | Unpause |
List | Title | Data | Data Name | No |
Constant name | explanation |
CPK_24WORK_BSIZE | Number of bytes in the work buffer during 24-bit full-color movie playback |
List | Title | Data | Data Name | No |
Constant name | explanation |
CPK_COLOR_24BIT | 24-bit full color display. |
List | Title | Data | Data Name | No |
Constant name | explanation |
CPK_CHANGE_OK_AT_ONCE | It is possible to forcibly switch immediately. |
List | Title | Data | Data Name | No |
typedef enum {
CPK_TRMODE_CPU = 0, / * Software transfer * /
CPK_TRMODE_SDMA, / * DMA cycle stealing (default value) * /
CPK_TRMODE_SCU, / * SCU DMA * /
CPK_TRMODE_SCUDSPDMA / * SCU-DSP DMA (new addition) * /
} CpkTrMode;
| Processing \ method | Software transfer | CPU DMA | SCU DMA | SCU-DSP DMA |
|---|---|---|---|---|
| CPK_SetTrModeCd | ○ | ○ | ○ | × |
| CPK_SetTrModePcm | ○ | ○ | × | ○ |
List | Title | Data | Data Name | No |
typedef enum {
CPK_CPU_MAIN = 1, / * master cpu only (default) * /
CPK_CPU_SLAVE = 2, / * slave cpu only (not supported) * /
CPK_CPU_DUAL = 3, / * dual cpu * /
CPK_CPU_END
} CpkCpu;
List | Title | Data | Data Name | No |
#define CPK_DEFAULT_SILENCE_RATE (8)
List | Title | Data | Data Name | No |
#define CPK_SPEED_ORIGINAL (0)
List | Title | Data | Data Name | No |
List | Title | Data | Data Name | No |
typedef void * CpkHn;
List | Title | Data | Data Name | No |
typedef struct {
Uint32 * work_addr; / * Work start address * /
/ * Work area when this library plays the movie * /
/ * Number of bytes in the work * /
Uint32 work_size; / * Set CPK_24WORK_BSIZE or CPK_15WORK_BSIZE * /
/ * Buffer address for storing movie files * /
Uint32 buf_addr; / * When playing a memory movie, its address * /
/ * When playing a CD movie, the address of the ring buffer * /
/ * Buffer size * /
Uint32 buf_size; / * File size when playing memory movie * /
/ * Ring buffer size for CD movie * /
/ * Sound memory PCM buffer address * /
Uint16 * pcm_addr; / * Sound memory PCM buffer size * /
Uint32 pcm_size; / * Quantization number for 1CH * /
/ * Make it an integral multiple of 4KB (4096 * 1..4096 * 16) * /
} CpkCreatePara;
List | Title | Data | Data Name | No |
/ * Film sample table item * /
typedef struct {
Uint32 offset; / * Offset from media start position * /
Sint32 size; / * Sample size * /
Sint32 time; / * Frame display time, -1: Audio sample * /
Sint32 duration; / * Frame display duration * /
} CpkFilmSample;
/ * Film header * /
typedef struct {
/ * FilmHeader * /
Uint32 film; / * “FILM” * /
Uint32 size_header; / * Header size (offset to media start) * /
Uint32 version; / * version * /
Uint32 <> reserved; / * Reservation * /
/ * FrameDescription * /
Uint32 fdsc; / * “FDSC” * /
Uint32 size_fdsc; / * FDSC size 0x0000001C = 7 * 4 [byte] * /
Uint32 c_type; / * Compression method “cvid” * /
Uint32 height; / * Vertical width [pixel] * /
Uint32 width; / * Horizontal width [pixel] * /
Uin32 color; / * Number of display colors [bit] * /
Uin32 sound_channel; / * Number of channels * /
Uin32 sound_smpling_bit; / * Number of sampling bits [bit] * /
Uin32 sound_compress; / * Compression 00h: None 01h: Reserve * /
Uint32 sound_smpling_rate; / * Sampling rate [Hz] Lower 2 bytes are decimals * /
Uin32 ckey; / * Chroma key information * /
/ * FilmSampleTable / *
Uint32 stab; / * “STAB” * /
Uint32 size_stab; / * STAB size (total number of samples + 1) * 16 [byte] * /
Uint32 time_scale_film; / * Timescale * /
Uint32 sample_total; / * Total number of samples * /
CpkFilmSample sample [1]; / * Sample table arbitrary size * /
} CpkHeader;
List | Title | Data | Data Name | No |
★ MOVIE TOOLS GUIDE ★ Cinepak for SEGA Saturn