English
MOVIE TOOLS GUIDECinepak 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 GUIDECinepak for SEGASaturn
Copyright SEGA ENTERPRISES, LTD,. 1997