English
★MOVIE TOOLS GUIDE ★Cinepak for SEGASaturn
▲ 戻る| 進む▼
Cinepak for SEGASaturn


4.4.2 データ詳細

 (1)基本的なデータ

一
覧
表
Title

データ仕様

Data

基本的なデータ

Data Name
No

1.0

型名
説明
Uint8
符号なし1バイト整数。
Sint8
符号あり1バイト整数。
Uint16
符号なし2バイト整数。
Sint16
符号あり2バイト整数。
Uint32
符号なし4バイト整数。
Sint32
符号あり4バイト整数。
Bool
論理型。以下の値を取る。
FALSE 偽
TRUE  真

 (2)定数

一
覧
表
Title

データ仕様

Data

エラーコード

Data Name

CPK_ERR_〜

No

2.1

次の定数は、エラーコードを表します。
定数名
説明
CPK_ERR_OK

CPK_ERR_OUT_OF_HANDLE
CPK_ERR_INSUFFICIENT_WORK
CPK_ERR_TOO_SMALL_BUF
CPK_ERR_NO_INIT
CPK_ERR_INVALID_HN
CPK_ERR_ILL_CREATE_MODE
CPK_ERR_TOO_SMALL_FLOP
CPK_ERR_TOO_LARGE_HEADER
CPK_ERR_HEADER_DATA
CPK_ERR_SAMPLE_ID
CPK_ERR_SAMPLE_DATA
CPK_ERR_ILLEGAL_PARA
CPK_ERR_ILLEGAL_HANDLE
CPK_ERR_NEXT_MOVI_STATUS
CPK_ERR_NEXT_MOVI_AUDIO
CPK_ERR_NEXT_MOVI_SCALE
CPK_ERR_CHANGE_NO_DATA
CPK_ERR_CHANGE_NO_ENTRY
CPK_ERR_PAUSE_STATUS
CPK_ERR_DMA_CPU_PCM
CPK_ERR_GFS_READ
CPK_ERR_DF_NO_DATA
CPK_ERR_DF_IS_NOT_VIDEO
正常終了
ハンドルが作成できない
ワーク領域不足
リングバッファのサイズが小さい
初期化関数がコールされていない
不正なハンドルを指定した
Create時のモードと違う
FLOP初期値が小さい
ヘッダが大きすぎる(リングバッファが小さい)
フィルムヘッダが異常
ムービ識別子が異常
ムービのデータが異常
引き数の指定が間違っている
ハンドルが異常
連続再生ムービの状態が異常
次に再生するムービのオーディオの条件が致していない
次に再生するムービのタイムスケールが一致していない
次に再生するムービのデータ供給が少ない
次に再生するムービの指定がない
ムービが再生またはポーズ以外のときにポーズ関数をコールした
DMAが異常終了した
ファイルシステムの読み込みでエラーが発生した
ヘッダ分のデータ供給がない
ビデオサンプルでない

一
覧
表
Title

データ仕様

Data

再生ステータス

Data Name

CPK_STAT_PLAY_〜

No

2.2

ムービの再生状態を表します。
定数名
説明
CPK_STAT_PLAY_ERR_STOP
異常停止
CPK_STAT_PLAY_STOP
停止
CPK_STAT_PLAY_PAUSE
一時停止
CPK_STAT_PLAY_START
再生開始
CPK_STAT_PLAY_HEADER
フィルムヘッダ処理中
CPK_STAT_PLAY_TIME
再生中(タイマスタート)
CPK_STAT_PLAY_END
再生終了

一
覧
表
Title

データ仕様

Data

一時停止の制御コマンド

Data Name

CPK_PAUSE_〜

No

2.3

一時停止の仕方を表します。
定数名
説明
CPK_PAUSE_ON_AT_ONCE
即時一時停止
CPK_PAUSE_ON_KEYFRAME
キーフレームで一時停止
CPK_PAUSE_OFF
一時停止解除

一
覧
表
Title

データ仕様

Data

ワークバッファサイズ

Data Name

CPK_**WORK_〜

No

2.4

確保すべきワークバッファのサイズを表します。
定数名
説明
CPK_24WORK_BSIZE

CPK_15WORK_BSIZE

24bitフルカラームービ再生時のワークバッファの
バイト数
15bitカラームービ再生時のワークバッファのバイ
ト数

一
覧
表
Title

データ仕様

Data

表示色数

Data Name

CPK_COLOR_〜

No

2.5

展開先の表示色数を指定します。
定数名
説明
CPK_COLOR_24BIT

CPK_COLOR_15BIT

24bitフルカラー表示をする。
VDP2でフルカラー表示するときに指定。
15bitカラー表示をする。
VDP1またはVDP2で15bitカラー表示するときに指定。

一
覧
表
Title

データ仕様

Data

強制切り替え可能性チェック値

Data Name

CPK_CHANGE_〜

No

2.6

強制切り替えの可能性を表します。
定数名
説明
CPK_CHANGE_OK_AT_ONCE
CPK_CHANGE_NO_DATA


CPK_CHANGE_NO_ENTRY


CPK_CHANGE_TOO_LARGE_HEADER
即時に強制切り替え可能である。
データ供給が不足している。強制切り替え(CPK_Change)
を実行すると、スムーズに連続再生されない。
CPK_EntryNextで次のムービが登録されていない。強制切
り替え(CPK_Change)は実行できない。
ヘッダが大きすぎるので強制切り替えできない。リングバ
ッファが小さすぎる。

一
覧
表
Title

データ仕様

Data

データの転送方式

Data Name

CPK_TRMODE_〜

No

2.7

typedef enum {
    CPK_TRMODE_CPU = 0,             /* ソフトウェア転送                   */
    CPK_TRMODE_SDMA,                /* DMAサイクルスチール (デフォルト値)  */
    CPK_TRMODE_SCU,                 /* SCUのDMA                     */
    CPK_TRMODE_SCUDSPDMA            /* SCU−DSPのDMA (新規追加)  */
} CpkTrMode;

注意1
 転送方式の設定には次の表に示す制限があります。

データ転送方式の設定の制限
処理\方式ソフトウェア転送CPUのDMASCUのDMASCU-DSPのDMA
CPK_SetTrModeCd○○○×
CPK_SetTrModePcm○○×○

注意2
 転送方式に CPK_TRMODE_SCUDSPDMA が指定されていると、初期状態として、SCU-DSP の使用権は Cinepakライブラリ にあります。SCU-DSP を Cinepakライブラリ と アプリケーション の両方で利用する場合には CPK_AllocScuDsp, CPK_FreeScuDsp を使います。

一
覧
表
Title

データ仕様

Data

CPU使用条件

Data Name

CPK_CPU_〜

No

2.8

typedef enum {
    CPK_CPU_MAIN        = 1,        /* master cpu only (デフォルト)    */
    CPK_CPU_SLAVE       = 2,        /* slave cpu only (サポートしない) */
    CPK_CPU_DUAL        = 3,        /* dual cpu                        */
    CPK_CPU_END
} CpkCpu;

注意
シネパックで スレーブCPU を使用する場合、アプリケーションは スレーブCPU を使用することはできません。

一
覧
表
Title

データ仕様

Data

無音率のデフォルト値 [1/s]

Data Name

CPK_DEFAULT_SILENCE_RATE

No

2.9

#define CPK_DEFAULT_SILENCE_RATE    (8)

一
覧
表
Title

データ仕様

Data

再生速度のデフォルト値(通常の再生速度)

Data Name

CPK_SPEED_ORIGINAL

No

2.10

#define CPK_SPEED_ORIGINAL      (0)

一
覧
表
Title

データ仕様

Data

再生速度の設定単位

Data Name

CPK_SPEED_UNIT

No

2.11

#define CPK_SPEED_UNIT (1024)

 (3)データ型

一
覧
表
Title

データ仕様

Data

ムービハンドル

Data Name

CpkHn

No

3.1

ムービごとの情報を表します。
typedef void *CpkHn;

一
覧
表
Title

データ仕様

Data

作成パラメータ

Data Name

CpkCreatePara

No

3.2

ムービの作成情報を表します。Cpk_Create〜への各種パラメータ値を構造体として設定します。
typedef struct {
 Uint32 *work_addr; /* ワークの先頭アドレス                */
                     /* 本ライブラリがムービを再生するときの作業領域    */
                     /* ワークのバイト数                  */
 Uint32 work_size;  /* CPK_24WORK_BSIZEまたはCPK_15WORK_BSIZEを設定   */
                     /* ムービファイルを格納するバッファアドレス      */
 Uint32 buf_addr;  /* メモリのムービを再生するときは、そのアドレス    */
                     /* CDのムービを再生するときは、リングバッファのアドレス*/
                     /* バッファサイズ                   */
 Uint32 buf_size;  /* メモリのムービを再生するときはファイルサイズ    */
                     /* CDのムービのときはリングバッファのサイズ      */
                     /* サウンドメモリのPCMバッファアドレス         */
 Uint16 *pcm_addr;  /* サウンドメモリのPCMバッファサイズ          */
 Uint32 pcm_size;  /* 1CH分の量子化数                   */
                     /* 4KBの整数倍にすること(4096*1..4096*16)        */
} CpkCreatePara;

一
覧
表
Title

データ仕様

Data

フィルムヘッダ

Data Name

CpkHeader

No

3.3

ムービのヘッダ情報を表します。

/* フィルムサンプルテーブル項目 */
typedef struct {
 Uint32  offset; /* メディア開始位置からのオフセット          */
 Sint32  size;  /* サンプルサイズ                   */
 Sint32  time;  /* フレーム表示時刻、-1:オーディオサンプル      */
 Sint32  duration;/* フレーム表示持続時間                */
} CpkFilmSample;

/* フィルムヘッダ     */ typedef struct {  /* FilmHeader     */   Uint32  film; /* “FILM”                */   Uint32  size_header; /* ヘッダサイズ(メディア開始へのオフセット)*/   Uint32  version; /* バージョン               */   Uint32<> reserved; /* 予約                  */  /* FrameDescription  */   Uint32  fdsc;        /* “FDSC”                */   Uint32  size_fdsc; /* FDSCサイズ 0x0000001C = 7*4[byte]   */   Uint32  c_type; /* 圧縮方式 “cvid”            */   Uint32  height; /* たて幅[pixel]              */   Uint32  width; /* よこ幅[pixel]              */   Uin32  color; /* 表示色数[bit]              */   Uin32  sound_channel; /* チャネル数               */   Uin32  sound_smpling_bit; /* サンプリングビット数[bit]        */   Uin32  sound_compress;  /* 圧縮 00h:無し 01h:リザーブ       */   Uint32  sound_smpling_rate;/* サンプリングレート[Hz]下位2byteは小数 */   Uin32  ckey; /* クロマキー情報             */  /* FilmSampleTable /*   Uint32 stab; /* “STAB”                */   Uint32 size_stab; /* STABサイズ (総サンプル数+1)*16[byte]  */   Uint32 time_scale_film; /* タイムスケール             */   Uint32 sample_total; /* 総サンプル数              */   CpkFilmSample sample[1]; /* サンプルテーブル 任意サイズ       */ } CpkHeader;

一
覧
表
Title

データ仕様

Data

エラー登録関数

Data Name

CpkErrFunc

No

3.4

エラー発生時に呼び出される関数。
書 式
void(*CpkErrFunc)(void *obj, Sint32 err_code)
入 力
obj:登録オブジェクト
err_code:エラーコード
出 力
なし

▲ 戻る| 進む▼
★MOVIE TOOLS GUIDE ★Cinepak for SEGASaturn
Copyright SEGA ENTERPRISES, LTD,. 1997