English
PROGRAMMER'S GUIDECD通信I/F(MPEGパート)
戻る|   ■
CD通信I/F(MPEGパート)

8.MPEG関数仕様


 MPEG通信インタフェースの関数仕様を記述する。

 (1)書式
 図中、未使用領域は「−」で表す。未使用領域の値は0です。

 (2)MPEGステータス情報(ステータスとMPEGレポート)の保持
 MPEG通信インタフェースは、MPEGコマンド発行時のステータスとMPEGレポートを保持している。保持内容の初期値は全て0です。
 保持ステータス/MPEGレポートを更新する関数を以下の記号で示す。

    [SR] :ステータスとMPEGレポートを更新する┐
    [S-] :ステータスだけを更新する       ├─────┐
    [--] :更新しない(コマンドを発行しない)  ┘     │
                                   │
《関数タイトルの例》                         ↓
┌───────┬──────────┬────────────────┬────┐
│Title  │Function  │FunctonName [SR]│No  │
│関数仕様   │MPEGの再生   │CDC_MpPlay      │20.7│
└───────┴──────────┴────────────────┴────┘

ただし、エラー時(エラーコードがCDC_ERR_OK以外の時)には何も更新しない。

 (3)WAITの発生する関数
 WAITの発生する関数を、関数ー覧に以下の記号で示す。
 WAITについては、「6.4 MPEGコマンドに対するREJECTとWAIT」を参照のこと。

    [L]  :LONG WAITが発生しうる      ┐
    [S]  :SHORT WAITが発生しうる     ├──┐
    [LS] :LONG,SHORT WAITが発生しうる┘  │
                                  │
《関数一覧の例》                          ↓
┌──────────────┬──────────────────┬────┐
│デコード方法の設定     │CDC_MpSetDec  [LS]│20.8│
└──────────────┴──────────────────┴────┘

 (5)コマンド終了フラグ(割り込み要因レジスタ内)
関連するコマンド終了フラグがある場合、
 終了フラグ
という項目欄に記述する。

《例》
 終了フラグ
 MPEDフラグ

コマンド発行の排他処理について詳細は、「表3.5 コマンド終了フラグに属するコマンド(MPEGパート)」と、CDパートのマニュアルを参照のこと。

 (6)MPCMフラグ(割り込み要因レジスタ内)
MPEG通信関数は、一部の関数を除き、コマンド発行時にMPCMフラグをチェックしている。コマンドを発行できなければエラーコードCDC_ERR_MP_COMUを返す。
MPCMフラグについて詳細は、「3.1.2 動作不定区間」を参照のこと。

8.1 MPEG関数一覧

MPEG通信インタフェースの関数一覧を表8.1に示す。

表8.1 MPEG通信インタフェースの関数一覧
機 能関数名番号
MPEGデコーダ20.0
現在のMPEGステータス情報の取得CDC_MpGetCurStat20.1
直前のMPEGステータス情報の取得CDC_MpGetLastStat 20.2
MPEG割り込み要因の取得 CDC_MpGetInt 20.3
MPEG割り込みマスクの設定 CDC_MpSetIntMsk 20.4
MPEGデコーダの初期化 CDC_MpInit 20.5
MPEG動作モードの設定 CDC_MpSetMode [S]20.6
MPEGの再生 CDC_MpPlay [S]20.7
デコード方法の設定 CDC_MpSetDec [LS]20.8
デコード同期信号の送出 CDC_MpOutDsync [LS]20.9
ビデオのタイムコードの取得 CDC_MpGetTc [S]20.10
ーディオのタイムスタンプの取得CDC_MpGetPts 20.11
MPEGストリーム21.0
MPEGデコーダの接続先の設定 CDC_MpSetCon [LS]21.1
MPEGデコーダの接続先の取得 CDC_MpGetCon 21.2
MPEGデコーダの接続先の切り替えCDC_MpChgCon [LS]21.3
MPEGストリームの設定 CDC_MpSetStm [LS]21.4
MPEGストリームの取得 CDC_MpGetStm 21.5
ストリーム画像サイズの取得 CDC_MpGetPictSiz [S]21.6
MPEG表示画面22.0
画像の表示 CDC_MpDisp [S]22.1
フレームバッファウィンド位置の設定 CDC_MpSetWinFpos 22.2
フレームバッファウィンド拡大率の設定CDC_MpSetWinFrat 22.3
ディスプレイウィンド位置の設定 CDC_MpSetWinDpos 22.4
ディスプレイウィンドサイズの設定 CDC_MpSetWinDsiz 22.5
ディスプレイウィンドオフセットの設定CDC_MpSetWinDofs 22.6
ボーダカラーの設定 CDC_MpSetBcolor 22.7
フェードの設定 CDC_MpSetFade [S]22.8
画面特殊効果の設定 CDC_MpSetVeff [S]22.9
MPEGフレームバッファ23.0
イメージデータの取り出し CDC_MpGetImg [L]23.1
イメージデータウィンドウ位置の設定 CDC_MpSetImgPos 23.2
イメージデータウィンドウサイズの設定 CDC_MpSetImgSiz 23.3
イメージデータウィンドウからの読み込みCDC_MpReadImg 23.4
イメージデータウィンドウへの書き出し CDC_MpWriteImg 23.5
MPEGセクタバッファ24.0
MPEGセクタバッファからのセクタ読み込みCDC_MpReadSct24.1
MPEGセクタバッファへのセクタ書き出し CDC_MpWriteSct 24.2

8.2 MPEG関数詳細

8.2.1 MPEGデコーダ



Title

関数仕様

Function

現在のMPEGステータス情報の取得

Function Name [SR]

CDC_MpGetCurStat

No

20.1

 書 式
Sint32 CDC_MpGetCurStat(CdcMpStat *mpstat)
 入 力
なし
 出 力
mpstat :MPEGステータス情報
 関数値
エラーコードを返す。
 機 能
現在のMPEGステータス情報を取得する。



Title

関数仕様

Function

直前のMPEGステータス情報の取得

Function Name [--]

CDC_MpGetLastStat

No

20.2

 書 式
Sint32 CDC_MpGetLastStat(CdcMpStat *mpstat)
 入 力
なし
 出 力
mpstat:MPEGステータス情報
 関数値
エラーコードを返す。
 機 能
直前のMPEGコマンドに対するMPEGステータス情報を取得する。



Title

関数仕様

Function

MPEG割り込み要因の取得

Function Name [S-]

CDC_MpGetInt

No

20.3

 書 式
Sint32 CDC_MpGetInt(Sint32 *intreq)
 入 力
なし
 出 力
intreq :割り込み要因(下位24ビットが有効)……データ仕様(Intreq)を参照
 関数値
エラーコードを返す。
 機 能
MPEG割り込みの割り込み要因を取得する。
 備 考
本関数の実行によってMPEG割り込み要因は0クリアされる。



Title

関数仕様

Function

MPEG割り込みマスクの設定

Function Name [SR]

CDC_MpSetIntMsk

No

20.4

 書 式
Sint32 CDC_MpSetIntMsk(Sint32 intmsk)
 入 力
intmsk :割り込みマスク(下位24ビットが有効)
 出 力
なし
 関数値
エラーコードを返す。
 機 能
MPEG割り込みの割り込みマスクを設定する。
割り込みマスクの各ビットの意味はMPEG割り込み要因と同じ。
 備 考
マスクしたいビットを0、その他を1にする。
本関数でマスク解除された割り込み要因が発生すると、MPSTフラグがONになる。



Title

関数仕様

Function

MPEGデコーダの初期化

Function Name [SR]

CDC_MpInit

No

20.5

 書 式
Sint32 CDC_MpInit(Bool sw)
 入 力
sw:MPEGシステムスイッチ
 出 力
なし
 関数値
エラーコードを返す。
 終了フラグ
MPEDフラグ(0クリアだけしている)……MPEDの値によらず実行可能
 機 能
MPEGシステムを初期化し、MPEGシステムの起動・停止を制御する。

 (1)MPEGシステムスイッチ
MPEGシステムをOFFにすると、以降ONにするまで、他のMPEG通信関数は全てREJECTとなる。
MPEGシステム起動中はCDパートの性能に影響を与える。CDパートの機能だけを使用する場合は、本スイッチによりMPEGシステムを停止しておくこと。

定数名説  明
OFF停止……初期値
ON起動

 備 考

  1. 本関数は内部で3ms程度待ってから、MPED, MPCMフラグを無視してコマンドを発行している。

  2. 初期化の完了を判定するには、本関数の実行後2VSYNC以上経過し、かつMPEDフラグが1になるのを待つこと。




Title

関数仕様

Function

MPEG動作モードの設定

Function Name [SR]

CDC_MpSetMode

No

20.6

 書 式
Sint32 CDC_MpSetMode(Sint32 actmod, Sint32 dectim, Sint32 out,Sint32 scnmod)
 入 力
actmod:MPEG動作モード dectim:デコードタイミング out :画像データの出力先 scnmod :走査モード(下位8ビットが有効)
 出 力
なし
 関数値
エラーコードを返す。
 機 能
 MPEGデコーダの動作モードを設定する。

 (1)MPEG動作モード
MPEGセクタバッファモードに切り替えるには、その前に必ずCDC_MpInit関数を実行しておくこと。
定数名説  明
CDC_MPACT_NMOV 動画再生モード……初期値
CDC_MPACT_NSTL 静止画再生モード
CDC_MPACT_HMOV 高精細の動画再生モード(未対応)
CDC_MPACT_HSTL 高精細の静止画再生モード
CDC_MPACT_SBUF MPEGセクタバッファモード
CDC_PARA_NOCHG 設定を変更しない

 (2)デコードタイミング
デコード同期信号(DSYNC)のタイミングを指定する。動画再生モード時に有効です。
ホスト同期は、CDC_MpPlay関数のMPEG再生モードが独立再生モードの時に有効です。
定数名説  明
CDC_MPDEC_VSYNCVSYNC同期によるデコード……初期値
CDC_MPDEC_HOST ホスト同期によるデコード
(ホストの指示でDSYNCを送出)
CDC_PARA_NOCHG 設定を変更しない

 (3)画像データの出力先
定数名説  明
CDC_MPOUT_VDP2 VDP2へ出力……初期値
CDC_MPOUT_HOST ホストへ出力(MPEGレジスタからの取り出し)
CDC_PARA_NOCHG 設定を変更しない

 (4)走査モード
bit 7 6 5 4 3 2 1 0
   ┌─┬─┬─┬─┬─┬─┬─┬─┐
   │ │−│−│−│−│−│ │ │ 初期値:00H   未変更:CDC_PARA_NOCHG
   └┬┴─┴─┴─┴─┴─┴┬┴┬┘
    │           │ └─1:ノンインタレース    0:インタレース
    │           └───1:PAL                 0:NTSC
    └───────────────1:設定を変更しない    0:変更する

 備 考

  1. フレームレートは自動設定される。

  2. 本関数は、MPEG/Videoの動作状態が停止状態の時に実行してください。




Title

関数仕様

Function

MPEGの再生

Function Name [SR]

CDC_MpPlay

No

20.7

 書 式
 Sint32 CDC_MpPlay(Sint32 plymod, Sint32 tmod_a, Sint32 tmod_v,Sint32 dec_v)
 入 力
plymod :MPEG再生モード
tmod_a :MPEG/Audioの転送モード
tmod_v :MPEG/Videoの転送モード
dec_v :MPEG/Videoのデコードスイッチ
 出 力
なし
 関数値
エラーコードを返す。
 機 能
オーディオとビデオの同期再生、各転送モード、ビデオのデコードスイッチを設定する。

 (1)MPEG再生モード
同期再生モードは、CDC_MpSetMode関数のデコードタイミングがVSYNC同期の時に有効です。
定数名説  明
CDC_MPPLY_SYNC 同期再生モード……初期値
CDC_MPPLY_INDP 独立再生モード
CDC_PARA_NOCHG 設定を変更しない

 (2)MPEGデコーダの転送モード
自動転送モードでは、必要なデータ量がCDバッファに格納されると、自動的にデコーダへ転送を開始する。
定数名説  明
CDC_MPTRN_AUTO 自動転送モード……初期値
CDC_MPTRN_FORCE強制転送モード
CDC_PARA_NOCHG 設定を変更しない

(a) ビデオ
転送モード説  明
自動転送STDバッファサイズ+16KBのデータがCDバッファに格納されると、
VBVバッファへの転送とデコードを開始する。
強制転送CDバッファの状態によらず、転送・デコードを開始する。

(b) オーディオ
転送モード説  明
自動転送2セクタ分のデータがCDバッファに格納されると、転送・デコードを開始する。
同期再生するときは、ビデオの最初のピクチャが表示されたときにデコードを開始する。
強制転送CDバッファの状態やビデオの状態によらず、
転送・デコードを開始する。

 (3)MPEG/Videoのデコードスイッチ
MPEG/Video LSIのデコードスイッチを直接制御する。
通常は必ずCDC_PARA_NOCHGを指定してください。(設定を変更しないこと。)
定数名説  明
OFFデコード停止
ON デコード開始……初期値
CDC_PARA_NOCHG設定を変更しない……通常指定値

注 意
MPEGデコーダは、バッファ区画との接続によってデコードを始める。本関数の実行によってデコードの開始・終了を制御してはならない。
CDC_MpSetCon関数による接続や、CDC_MpChgCon関数による強制切り替えを実行すると、本スイッチに依存せずデコードを開始する。(たとえデコード停止されていても。)
デコードを強制終了させるには、CDC_MpChgCon関数を使用してください。




Title

関数仕様

Function

デコード方法の設定

Function Name [SR]

CDC_MpSetDec

No

20.8

 書 式
 Sint32 CDC_MpSetDec(Sint32 mute, Sint32 pautim, Sint32 frztim)
 入 力
mute :MPEG/Audioのミュート     (下位 8ビットが有効)
pautim :MPEG/Videoのポーズタイミング (下位16ビットが有効)
frztim :MPEG/Videoのフリーズタイミング(下位16ビットが有効)
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
MPEGデコーダのデコード方法を設定する。

 (1)MPEG/Audioのミュート
ミュートする・しないにかかわらず、必ずbit2=1にして値を設定してください。
本パラメータの初期値は0であるため、未変更指定(CDC_PARA_NOCHG)ではbit2=0になってしまう。従って、必ず最初は明示的に固定値(CDC_MPMUT_DFL)を指定してください。
bit 7 6 5 4 3 2 1 0
   ┌─┬─┬─┬─┬─┬─┬─┬─┐
   │ │−│−│−│−│ │ │ │ 初期値:00H   未変更:CDC_PARA_NOCHG
   └┬┴─┴─┴─┴─┴┬┴┬┴┬┘
    │         │ │ └─CDC_MPMUT_R   1:右チャンネルのミュートをする
    │         │ └───CDC_MPMUT_L   1:左チャンネルのミュートをする
    │         └─────CDC_MPMUT_DFL 1:固定値(必ず指定)
    └───────────────1:設定を変更しない         0:変更する

 (2)MPEG/Videoのポーズタイミング
定数名説  明
0000H ポーズ(ポーズ中は再ポーズ:コマ送り)……初期値
0001H ポーズ解除
0002H〜FFFEH再ポーズまでのフレーム間隔(スロー再生間隔)
FFFFH 設定を変更しない(CDC_PARA_NOCHG)

 (3)MPEG/Videoのフリーズタイミング
定数名説  明
0000H フリーズ(フリーズ中は再フリーズ)……初期値
0001H フリーズ解除
0002H〜FFFEH再フリーズまでのフレーム間隔(ストロボ再生間隔)
FFFFH 設定を変更しない(CDC_PARA_NOCHG)

 備 考

  1. ポーズ/フリーズは、静止画再生モードでは無効です。(動画再生モードで有効)

  2. ビデオの動作状態が復活処理の時にポーズ/フリーズを設定すると、WAITになる。




Title

関数仕様

Function

デコード同期信号の送出

Function Name [SR]

CDC_MpOutDsync

No

20.9

 書 式
 Sint32 CDC_MpOutDsync(Sint32 fbn)
 入 力
 fbn :フレームバンク番号(0〜3)……静止画再生モードで有効
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
デコード同期信号(DSYNC)を送出する。ホストにより、各フレームのデコードタイミングを制御することができる。

 (1)フレームバンク番号
静止画再生モードの場合、デコードするフレームバンク番号(0〜3)を指定できる。
動画再生モードではフレームバンク番号は無効です。

 (2)デコード同期信号の送出タイミング
DSYNC送出タイミングは、必ず1フレーム分のデコード時間(2VSYNC)以上の間隔を空けること。通常は、VSYNCやオーディオ再生量などを利用して同期タイミングを取る必要がある。

注 意
ピクチャスタートコード(PSC)検出に関する仕様制限
ピクチャ周期M≦3のビデオストリームでは、ストリーム最後の3フレームを除き、PSC検出とDSYNC送出の同期が可能です。つまり、PSC検出をDSYNC送出タイミングとして使用できる。
(PSC検出は、MPEG割り込み要因フラグのビデオ割り込みbit8によって通知される。)
しかしストリーム最後の3フレームとM≧4の場合、PSC検出とDSYNC送出は1対1に対応しない。この場合、PSC検出は使えず、上記(2)の方法で同期タイミングを取る必要がある。

 備 考



Title

関数仕様

Function

ビデオのタイムコードの取得

Function Name [S-]

CDC_MpGetTc

No

20.10

 書 式
 Sint32 CDC_MpGetTc(Sint32 *bnk, Sint32 *pictyp, Sint32 *tr, CdcMpTc *mptc)
 入 力
 なし
 出 力
bnk :現在表示中のフレームバンク番号(0〜3)
pictyp :ピクチャタイプ
tr   :テンポラルリファレンス (下位8ビットが有効)
mptc :タイムコード
 関数値
エラーコードを返す。
 機 能
表示中のフレームのタイムコードとテンポラルリファレンスを取得する。
静止画再生状態では、デコード待機中またはデコード中のフレームを指す。

 (1)ピクチャタイプ
MPEGステータス情報のピクチャ情報と同じです。(初期値:0)
定数名説  明
CDC_MPPICT_I Iピクチャ
CDC_MPPICT_P Pピクチャ
CDC_MPPICT_B Bピクチャ
CDC_MPPICT_D Dピクチャ

 (2)テンポラルリファレンス
現在表示されているピクチャのテンポラルリファレンス(下位8ビット)を返す。

 (3)タイムコード
現在表示されているピクチャのタイムコードを返す。(ストリーム中のGOP層先頭のタイムコードではない。)




Title

関数仕様

Function

オーディオのタイムスタンプの取得

Function Name [S-]

CDC_MpGetPts

No

20.11

 書 式
Sint32 CDC_MpGetPts(Sint32 *pts_a)
 入 力
なし
 出 力
pts :MPEG/Audioのタイムスタンプ
 関数値
エラーコードを返す。
 機 能
オーディオのタイムスタンプ(PTS:Presentation Time Stamp)を取得する。

 (1)MPEG/Audioのタイムスタンプ
タイムスタンプの値は、33ビットのPTS(90KHz)の下位32ビットを取り出した値です。
この値は、デコードに入る直前の最新の値です。MPEG/Audioが動作していない時は、前値保持となる。


8.2.2 MPEGストリーム




Title

関数仕様

Function

MPEGデコーダの接続先の設定

Function Name [SR]

CDC_MpSetCon

No

21.1

 書 式
Sint32 CDC_MpSetCon(Sint32 next, CdcMpCon *mpcon_a, CdcMpCon *mpcon_v)
 入 力
next :次ストリームフラグ
mpcon_a :MPEG/Audioの接続先パラメータ
mpcon_v :MPEG/Videoの接続先パラメータ
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
MPEGデコーダの接続先(バッファ区画とその他のパラメータ)を設定・登録する。
バッファ区画番号にCDC_NUL_SELを指定すると、接続先の設定を取り消す。

 (1)次ストリームフラグ
定数名説  明
CDC_MPSTF_CUR 現在の接続先の設定(先発ストリーム)
CDC_MPSTF_NEXT 次の接続先の登録(次発ストリーム)

 備 考
接続先の取り消し(切断)は、MPEG動作状態に依存する。特に、再生中に現在の接続先を切断(強制終了)させるには、CDC_MpChgCon関数を使用する必要がある。
詳細はデータ仕様(CdcMpCon)を参照のこと。




Title

関数仕様

Function

MPEGデコーダの接続先の取得

Function Name   [S-]

CDC_MpGetCon

No

21.2

 書 式
Sint32 CDC_MpGetCon(Sint32 next, CdcMpCon *mpcon_a, CdcMpCon *mpcon_v)
 入 力
next :次ストリームフラグ
 出 力
mpcon_a :MPEG/Audioの接続先パラメータ
mpcon_v :MPEG/Videoの接続先パラメータ
 関数値
エラーコードを返す。
 機 能
MPEGデコーダの接続先(バッファ区画とその他のパラメータ)を取得する。
未接続(未登録)の場合はバッファ区画番号にCDC_NUL_SELを返す。

 (1)次ストリームフラグ
定数名説  明
CDC_MPSTF_CUR 現在の接続先の取得(先発ストリーム)
CDC_MPSTF_NEXT 次の接続先の取得(次発ストリーム)




Title

関数仕様

Function

MPEGデコーダの接続先の切り替え

Function Name [SR]

CDC_MpChgCon

No

21.3

 書 式
Sint32 CDC_MpChgCon(Sint32 chg_a, Sint32 chg_v, Sint32 clr_a, Sint32 clr_v)
 入 力
chg_a :MPEG/Audioの接続切り替えフラグ
chg_v :MPEG/Videoの接続切り替えフラグ
clr_a :MPEG/Audioのクリア方式
clr_v :MPEG/Videoのクリア方式
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
MPEGデコーダの接続先を強制的に切り替える。または、接続先を強制的に切り離す。
MPEG再生を強制終了させるには、本関数で切り離しを指定してください。

 (1)MPEGデコーダの接続切り替えフラグ
切り替えを指定するには、あらかじめCDC_MpSetCon関数により、次に再生するストリームを登録しておかなければならない。
切り替え指定時は、クリア方式が有効となる。クリア処理終了後、接続先が切り替わる。
定数名説  明
CDC_MPCOF_ABT 切り離し(強制終了)
CDC_MPCOF_CHG 強制切り替え
CDC_PARA_NOCHG 設定を変更しない

 (2)MPEG/Audioのクリア方式
定数名説  明
CDC_MPCLA_OFF クリアしない(1セクタ分のデータは転送される)
CDC_MPCLA_ON 即座に1セクタのバッファをクリアする

 (3)MPEG/Videoのクリア方式
定数名説  明
CDC_MPCLV_FRM即座にVBVとWBC(表示待ちMPEGフレームバッファ)をクリアする
CDC_MPCLV_VBV次のIまたはPピクチャスタートでVBVをクリアする

 備 考
本関数は、MPEG動作状態が再生中の場合だけ実行できる。
他の状態で接続先を切り離すには、CDC_MpSetCon関数を使用する必要がある。




Title

関数仕様

Function

MPEGストリームの設定

Function Name [SR]

CDC_MpSetStm

No

21.4

 書 式
Sint32 CDC_MpSetStm(Sint32 next, CdcMpStm *mpstm_a, CdcMpStm *mpstm_v)
 入 力
next  :次ストリームフラグ
mpstm_a :MPEG/Audioのストリームパラメータ
mpstm_v :MPEG/Videoのストリームパラメータ
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
 デコードすべきストリーム番号(ストリームID)とチャネル番号を設定する。

 (1)次ストリームフラグ
定数名説  明
CDC_MPSTF_CUR 現在のストリームの設定(先発ストリーム)
CDC_MPSTF_NEXT 次のストリームの登録(次発ストリーム)

 備 考
MPEG動作状態が切り替え中の場合、WAITとなる。



Title

関数仕様

Function

MPEGストリームの取得

Function Name [S-]

CDC_MpGetStm

No

21.5

 書 式
Sint32 CDC_MpGetStm(Sint32 next, CdcMpStm *mpstm_a, CdcMpStm *mpstm_v)
 入 力
next  :次ストリームフラグ
 出 力
mpstm_a :MPEG/Audioのストリームパラメータ
mpstm_v :MPEG/Videoのストリームパラメータ
 関数値
エラーコードを返す。
 機 能
デコードするストリーム番号(ストリームID)とチャネル番号を取得する。

 (1)次ストリームフラグ
定数名説  明
CDC_MPSTF_CUR 現在のストリームの取得(先発ストリーム)
CDC_MPSTF_NEXT 次のストリームの取得(次発ストリーム)




Title

関数仕様

Function

ストリーム画像サイズの取得

Function Name [S-]

CDC_MpGetPictSiz

No

21.6

 書 式
Sint32 CDC_MpGetPictSiz(Sint32 *siz_h, Sint32 *siz_v)
 入 力
なし
 出 力
siz_h :水平方向画像サイズ(画素単位)
siz_v :垂直方向画像サイズ(画素単位)
 関数値
エラーコードを返す。
 機 能
ビデオストリーム中の画像サイズを取得する。初期値はいずれも0です。

8.2.3 MPEG表示画面




Title

関数仕様

Function

画像の表示

Function Name [SR]

CDC_MpDisp

No

22.1

 書 式
Sint32 CDC_MpDisp(Bool dspsw, Sint32 fbn)
 入 力
dspsw :表示スイッチ(VDP2への表示ON/OFF)
fbn :フレームバンク番号(0〜3)……静止画再生モードで有効
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
表示スイッチに従って、画像を表示する。

 (1)表示スイッチ
定数名説  明
OFFVDP2に表示しない……初期値
ON VDP2に表示する

 (2)フレームバンク番号
静止画再生モードの場合、デコードするフレームバンク番号(0〜3)を指定できる。
動画再生モードではフレームバンク番号は無効です。




Title

関数仕様

Function

フレームバッファウィンド位置の設定

Function Name [SR]

CDC_MpSetWinFpos

No

22.2

 書 式
Sint32 CDC_MpSetWinFpos(Bool chgflg, Sint32 fpx, Sint32 fpy)
 入 力
chgflg :設定変更フラグ(OFF:設定値を登録、ON:登録済みの値に設定変更)
fpx :フレームバッファウィンドウの左上X座標
fpy :フレームバッファウィンドウの左上Y座標
 出 力
なし
 関数値
エラーコードを返す。
 機 能
フレームバッファウィンドウの位置を画素単位で設定する。

 (1)フレームバッファウィンドウの左上座標
初期値はfpx, fpyとも0です。
fpx, fpyにCDC_PARA_NOCHGを設定するとそれぞれ前値保持となる。
座標通常出力モード高精細出力モード
NTSCfpx0〜351(CDC_MPNT_NPX)0〜703(CDC_MPNT_HPX)
fpy0〜239(CDC_MPNT_NPY)0〜479(CDC_MPNT_HPY)
PALfpx0〜351(CDC_MPPL_NPX)0〜703(CDC_MPPL_HPX)
fpy0〜287(CDC_MPPL_NPY)0〜575(CDC_MPPL_HPY)



Title

関数仕様

Function

フレームバッファウィンド拡大率の設定

Function Name [SR]

CDC_MpSetWinFrat

No

22.3

 書 式
Sint32 CDC_MpSetWinFrat(Bool chgflg, Sint32 frx, Sint32 fry)
 入 力
chgflg :設定変更フラグ(OFF:設定値を登録、ON:登録済みの値に設定変更)
frx :フレームバッファウィンドウのX方向拡大率(下位16ビットが有効)
fry :フレームバッファウィンドウのY方向拡大率(下位16ビットが有効)
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
フレームバッファウィンドウの拡大率を設定する。

 (1)フレームバッファウィンドウの各方向の拡大率
初期値はfrx, fryとも01H(拡大率=1)です。
frx, fryにCDC_PARA_NOCHGを指定すると、それぞれ前値保持となる。
bit 15 14 13 12 11 10 9 8  7 6 5 4 3 2 1 0  
   ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
   │C│ │←───────A─────────→│D│←─B─→│
   └┬┴┬┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴┬┴─┴─┴─┘
    │ │         ↑           │   ↑   
    │ │         拡大比率        │   補正係数
    │ │                     │
    │ │                     └─補正係数極性
    │ │
    │ └────────────前値保持1:設定を変更しない0:変更する
    └──────────────縮小フラグ1:縮小0:拡大

以下の関係を満たすようにA、B、C、Dの各ビットを設定する。
ただし、A<1024、B>0とする。

 拡 大 率

A+2−1/B
A+1+1/B

1/(A+1−1/B)
1/(A+1/B)



Title

関数仕様

Function

ディスプレイウィンド位置の設定

Function Name [SR]

CDC_MpSetWinDpos

No

22.4

 書 式
Sint32 CDC_MpSetWinDpos(Bool chgflg, Sint32 dpx, Sint32 dpy)
 入 力
chgflg :設定変更フラグ(OFF:設定値を登録、ON:登録済みの値に設定変更)
dpx :ディスプレイウィンドウの左上X座標
dpy :ディスプレイウィンドウの左上Y座標
 出 力
なし
 関数値
エラーコードを返す。
 機 能
ディスプレイウィンドウの位置を画素単位で設定する。

 (1)ディスプレイウィンドウの左上座標
初期値はdpx, dpyとも0です。
dpx, dpyにCDC_PARA_NOCHGを設定するとそれぞれ前値保持となる。
座標通常出力モード高精細出力モード
NTSCdpx0〜351(CDC_MPNT_NPX)0〜703(CDC_MPNT_HPX)
dpy0〜239(CDC_MPNT_NPY)0〜479(CDC_MPNT_HPY)
PALdpx0〜351(CDC_MPPL_NPX)0〜703(CDC_MPPL_HPX)
dpy0〜287(CDC_MPPL_NPY)0〜575(CDC_MPPL_HPY)



Title

関数仕様

Function

ディスプレイウィンドサイズの設定

Function Name [SR]

CDC_MpSetWinDsiz

No

22.5

 書 式
Sint32 CDC_MpSetWinDsiz(Bool chgflg, Sint32 dsx, Sint32 dsy)
 入 力
chgflg :設定変更フラグ(OFF:設定値を登録、ON:登録済みの値に設定変更)
dsx :ディスプレイウィンドウのX方向サイズ
dsy :ディスプレイウィンドウのY方向サイズ
 出 力
なし
 関数値
エラーコードを返す。
 機 能
ディスプレイウィンドウのサイズを画素単位で設定する。

 (1)ディスプレイウィンドウのサイズ
初期値は、NTSC/PAL, 通常/高精細によらず、dsx=352, dsy=240です。
dsx, dsyにCDC_PARA_NOCHGを設定するとそれぞれ前値保持となる。
座標通常出力モード高精細出力モード
NTSCdsx0〜352(CDC_MPNT_NSX)0〜704(CDC_MPNT_HSX)
dsy0〜240(CDC_MPNT_NSY)0〜480(CDC_MPNT_HSY)
PALdsx0〜352(CDC_MPPL_NSX)0〜704(CDC_MPPL_HSX)
dsy0〜288(CDC_MPPL_NSY)0〜576(CDC_MPPL_HSY)



Title

関数仕様

Function

ディスプレイウィンドオフセットの設定

Function Name [SR]

CDC_MpSetWinDofs

No

22.6

 書 式
Sint32 CDC_MpSetWinDofs(Bool chgflg, Sint32 dox, Sint32 doy)
 入 力
chgflg :設定変更フラグ(OFF:設定値を登録、ON:登録済みの値に設定変更)
dox :ディスプレイウィンドウのX方向オフセット
doy :ディスプレイウィンドウのY方向オフセット
 出 力
なし
 関数値
エラーコードを返す。
 機 能
ディスプレイウィンドウのオフセットを輝点単位で設定する。(画素単位ではない。)

 (1)ディスプレイウィンドウのオフセット
初期値・設定範囲とも、NTSC/PAL, 通常/高精細によらない。
dox, doyにCDC_PARA_NOCHGを設定するとそれぞれ前値保持となる。
オフセット初期値設定範囲備  考
dox15018〜704dox≦17では全面にボーダカラー表示
doy388〜480doy≦7では全面にボーダカラー表示

 備 考
PALでは画面中央に設定するための標準値としてdox=150, doy=45を推奨する。




Title

関数仕様

Function

ボーダカラーの設定

Function Name [SR]

CDC_MpSetBcolor

No

22.7

 書 式
Sint32 CDC_MpSetBcolor(Sint32 bcolor)
 入 力
bcolor :ボーダカラー(下位16ビットが有効)
 出 力
なし
 関数値
エラーコードを返す。
 機 能
ボーダカラーのカラーデータ(RGB555形式)を設定する。

 (1)ボーダカラー
初期値:8000H(ボーダカラー出力)
bit 15 14 13 12 11 10 9 8  7 6 5 4 3 2 1 0  
   ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
   │ │←─B データ─→│←─G データ─→│←─R データ─→│
   └┬┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
    │
    └──透明ビット 1:ボーダカラーを出力する 0:出力しない(透明状態)

 備 考
VDP2へ画像を出力している時だけ動作する。
出力先がホスト(MPEGレジスタ)の場合、ボーダカラーは出力されない。




Title

関数仕様

Function

フェードの設定

Function Name [SR]

CDC_MpSetFade

No

22.8

 書 式
Sint32 CDC_MpSetFade(Sint32 gain_y, Sint32 gain_c)
 入 力
gain_y :輝度信号ゲイン(−8〜7、初期値:0)
gain_c :色差信号ゲイン(−8〜7、初期値:0)
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
輝度 ・色差信号のレベルを1/8ステップで変更する。
フェードイン、フェードアウトのために使用する。

 (1)輝度・色差信号ゲイン
設定値の範囲は−8〜7で初期値は0です。この範囲外の値を指定するとREJECTとなる。
ゲイン設定値と実際の倍率を以下に示す。
ゲイン設定値
−8
−7
−6
−5
−4
−3
−2
−1
+1
+2
+3
+4
+5
+6
+7
倍 率
01/82/83/84/85/86/87/819/810/810/812/812/822



Title

関数仕様

Function

画面特殊効果の設定

Function Name [SR]

CDC_MpSetVeff

No

22.9

 書 式
Sint32 CDC_MpSetVeff(CdcMpVeff *mpvef)
 入 力
mpvef :画面特殊効果パラメータ
 出 力
なし
 関数値
エラーコードを返す。
 機 能
画面特殊効果の設定をする。

8.2.4 MPEGフレームバッファ




Title

関数仕様

Function

イメージデータの取り出し

Function Name [S-]

CDC_MpGetImg

No

23.1

 書 式
Sint32 CDC_MpGetImg(Sint32 *dwnum)
 入 力
なし
 出 力
dwnum :イメージデータ転送ワード数
 関数値
エラーコードを返す。
 機 能
ディスプレイウィンドウ内のイメージデータをホストに取り出す。
画像データの出力先がVDP2の場合は動作しない。必ず出力先をホストにしておくこと。
 備 考

  1. 関数実行後、MPEGレジスタからデータを転送して取り出す必要がある。

  2. 横方向サイズdsxは、通常で5以上(高精細で10以上)を設定する必要がある。

  3. 高精細静止画モードでは、サイズdsx, dsyを2の整数倍に設定する必要がある。

  4. 実行する前に、CDC_MpDisp関数の表示スイッチをONにしておくこと。

  5. MPEGレポートの出力準備完了フラグが1になってから実行してください。

  6. イメージデータ転送中は、フリーズ等でディスプレイウィンドウを固定しておくことが望ましい。




Title

関数仕様

Function

イメージデータウィンドウ位置の設定

Function Name [SR]

CDC_MpSetImgPos

No

23.2

 書 式
Sint32 CDC_MpSetImgPos(Sint32 fbn, Sint32 ipx, Sint32 ipy)
 入 力
fbn :フレームバンク番号(0〜3)
ipx :イメージデータウィンドウの左上X座標
ipy :イメージデータウィンドウの左上Y座標
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
指定フレームバンクに対して、イメージデータウィンドウの位置を画素単位で設定する。

 (1)イメージデータウィンドウの左上座標
初期値はipx, ipyとも0です。
指定値は2画素単位に切り捨てられる。
座標通常出力モード高精細出力モード
NTSCipx0〜351(CDC_MPNT_NPX)0〜703(CDC_MPNT_HPX)
ipy0〜239(CDC_MPNT_NPY)0〜479(CDC_MPNT_HPY)
PALipx0〜351(CDC_MPPL_NPX)0〜703(CDC_MPPL_HPX)
ipy0〜287(CDC_MPPL_NPY)0〜575(CDC_MPPL_HPY)



Title

関数仕様

Function

イメージデータウィンドウサイズの設定

Function Name [SR]

CDC_MpSetImgSiz

No

23.3

 書 式
Sint32 CDC_MpSetImgSiz(Sint32 fbn, Sint32 isx, Sint32 isy)
 入 力
fbn :フレームバンク番号(0〜3)
isx :イメージデータウィンドウのX方向サイズ
isy :イメージデータウィンドウのY方向サイズ
 出 力
 なし
 関数値
エラーコードを返す。
 機 能
指定フレームバンクに対して、イメージデータウィンドウのサイズを画素単位で設定する。

 (1)イメージデータウィンドウのサイズ
初期値はisx, isyとも0です。
指定値は2画素単位に切り捨てられる。
座標通常出力モード高精細出力モード
NTSCisx0〜352(CDC_MPNT_NSX)0〜704(CDC_MPNT_HSX)
isy0〜240(CDC_MPNT_NSY)0〜480(CDC_MPNT_HSY)
PALisx0〜352(CDC_MPPL_NSX)0〜704(CDC_MPPL_HSX)
isy0〜288(CDC_MPPL_NSY)0〜576(CDC_MPPL_HSY)



Title

関数仕様

Function

イメージデータウィンドウからの読み込み

Function Name [SR]

CDC_MpReadImg

No

23.4

 書 式
Sint32 CDC_MpReadImg(Sint32 srcfbn,Sint32 fln_y, Sint32 fln_cr, Sint32 fln_cb)
 入 力
srcfbn :読み込み元フレームバンク番号(0〜3)
fln_y :輝度データ(Y)用絞り番号
fln_cr :色差データ(Cr)用絞り番号
fln_cb :色差データ(Cb)用絞り番号
 出 力
なし
 関数値
エラーコードを返す。
 終了フラグ
MPEDフラグ
 機 能
フレームバンク内のイメージデータウィンドウから、絞りを通してバッファ区画にイメージデータ(YCC)を読み込む。
 備 考

  1. 本関数は、静止画再生モードだけで有効です。

  2. 画面サイズによってはデータ量がCDバッファ容量を越える場合がある。
    そういった場合は、データをホスト側に取り出しながら処理してください。

  3. CDバッファが満杯になっても本関数は終了しない。(MPED=1にならない。)
    途中で処理を中止するには、CDC_MpInit関数(またはCDC_CdInit関数によるソフトリセット)を実行してください。




Title

関数仕様

Function

イメージデータウィンドウへの書き出し

Function Name [SR]

CDC_MpWriteImg

No

23.5

 書 式
Sint32 CDC_MpWriteImg(Sint32 bn_y, Sint32 bn_cr, Sint32 bn_cb,Sint32 dstfbn, Bool clrmod)
 入 力
bn_y :輝度データ(Y)用バッファ区画番号
bn_cr :色差データ(Cr)用バッファ区画番号
bn_cb :色差データ(Cb)用バッファ区画番号
dstfbn :書き出し先フレームバンク番号(0〜3)
clrmod :バッファ区画内セクタの消去モード
 出 力
 なし
 関数値
エラーコードを返す。
 終了フラグ
 MPEDフラグ
 機 能
バッファ区画から、フレームバンク内のイメージデータウィンドウにイメージデータ(YCC)を書き込む。

 (1)消去モード
定数名説  明
OFFバッファ区画内のセクタを保持する(消去しない)
ON バッファ区画内のセクタを消去する

 備 考

  1. 本関数は、静止画再生モードだけで有効です。

  2. バッファ区画のデータが空になっても本関数は終了しない。(MPED=1にならない。)途中で処理を中止するには、CDC_MpInit関数(またはCDC_CdInit関数によるソフトリセット)を実行してください。


8.2.5 MPEGセクタバッファ

 本機能を使用するには、必ずCDC_MpInit関数を実行してから、CDC_MpSetMode関数でMPEGセクタバッファモードに切り替えること。MPEGセクタバッファ内の初期値は不定です。


Title

関数仕様

Function

MPEGセクタバッファからのセクタ読み込み

Function Name [SR]

CDC_MpReadSct

No

24.1

 書 式
Sint32 CDC_MpReadSct(Sint32 srcmsp, Sint32 snum, Sint32 dstfln)
 入 力
srcmsp :読み込み元MPEGセクタ位置
snum  :セクタ数
dstfln :絞り番号
 出 力
 なし
 関数値
エラーコードを返す。
 終了フラグ
 MPEDフラグ
 機 能
MPEGセクタバッファから、絞りを通してバッファ区画にセクタデータを読み込む。
読み込むセクタ範囲は、MPEGセクタ位置とセクタ数で指定する。

 備 考

  1. 指定セクタ数によってはデータ量がCDバッファ容量を越える場合がある。
    そういった場合は、データをホスト側に取り出しながら処理してください。

  2. CDバッファが満杯になっても本関数は終了しない。(MPED=1にならない。)
    途中で処理を中止するには、CDC_MpInit関数(またはCDC_CdInit関数によるソフトリセット)を実行してください。




Title

関数仕様

Function

MPEGセクタバッファへのセクタ書き出し

Function Name [SR]

CDC_MpWriteSct

No

24.2

 書 式
Sint32 CDC_MpWriteSct(Sint32 srcbn, Sint32 sp, Sint32 snum, Sint32 dstmsp)
 入 力
srcbn  :バッファ区画番号
sp :セクタ位置(CDC_SPOS_END:区画最後のセクタを示す)
snum :セクタ数 (CDC_SNUM_END:spから区画最後までのセクタ数を示す)
dstmsp :書き出し先MPEGセクタ位置
 出 力
 なし
 関数値
エラーコードを返す。
 終了フラグ
 MPEDフラグ
 機 能
バッファ区画から、MPEGセクタバッファにセクタデータを書き出す。
書き出すセクタ範囲は、セクタ位置とセクタ数で指定する。
 備 考

  1. 書き出し時にバッファ区画のセクタは消去される。

  2. バッファ区画のデータが空になっても本関数は終了しない。(MPED=1にならない。)
    途中で処理を中止するには、CDC_MpInit関数(またはCDC_CdInit関数によるソフトリセット)を実行してください。


戻る|   ■
PROGRAMMER'S GUIDECD通信I/F(MPEGパート)
Copyright SEGA ENTERPRISES, LTD., 1997