English
PROGRAMMER'S GUIDEMPEGライブラリ
戻る進む
MPEGライブラリ/12.関数詳細-2

12.2 動画再生





Title

関数仕様

Function

MPEG動画ハンドルの生成

Function Name

MPG_MvCreate

No

2.1

 書 式
MpgMv MPG_MvCreate(StmHn vstm, StmHn astm)
 入 力
vstm
:ビデオストリームハンドル
astm
:オーディオストリームハンドル
 出 力
なし
 関数値
MPEG動画ハンドル
 機 能
MPEGストリームを再生するためのMPEG動画ハンドルを生成します。ビデオデータのストリームハンドルとオーディオデータのストリームハンドルを指定します。
どちらか一方に NULL を指定し、オーディオとビデオを独立に再生することもできます。
両方を同時に指定すると同期を取って再生します。
MPEG動画ハンドルの生成に失敗した場合は、NULLを返します。
デフォルト値として以下の値が設定されます。
項目
設定値
終了条件
システムエンドコード
画像出力先
VDP2直接出力
デコードタイミング
VSYNC信号
チャネル選択
しない
ストリームID
無視する
ストリームレイヤ
システムレイヤ



Title

関数仕様

Function

MPEG動画ハンドルの消去

Function Name

MPG_MvDestroy

No

2.2

 書 式
Sint32 MPG_MvDestroy(MpgMv mpgmv)
 入 力
mpgmv:MPEG動画ハンドル
 出 力
なし
 関数値
エラーコード
 機 能
MPEG動画ハンドルを消去します。
[備考]
 (a) ハンドルは、オーディオ/ビデオともに停止状態であること。
 (b) ハンドルがMPG_MvEntryNext関数によって、次に再生するハンドルとして登録さ
  れていないこと。
 (c) 本関数内では、再生の停止関数を実行する。



Title

関数仕様

Function

動画の終了条件の設定

Function Name

MPG_MvSetTermCond

No

2.3

 書 式
void MPG_MvSetTermCond(MpgMv mpgmv, Sint32 vcnd, Sint32 acnd)
 入 力
mpgmv
:MPEG動画ハンドル
vcnd 
:MPEGビデオストリームの終了条件
acnd 
:MPEGオーディオストリームの終了条件
 出 力
なし
 関数値
なし
 機 能
各ストリームの転送終了条件を設定します。以下の値の論理和を取ることができます。
(1) MPEGストリームの終了条件(ビデオ/オーディオ共通)
・MPG_TCND_EOR 
:EORビットの立っているセクタを転送したとき
・MPG_TCND_SEC 
:ストリーム中にシステムエンドコードが現れたとき
・MPG_TCND_NONE
:終了条件を設定しない



Title

関数仕様

Function

動画の出力先の設定

Function Name

MPG_MvSetVideoDest

No

2.4

 書 式
void MPG_MvSetVideoDest(MpgMv mpgmv, Sint32 dst)
 入 力
mpgmv
:MPEG動画ハンドル
dst  
:出力先
 出 力
なし
 関数値
なし
 機 能
動画の出力先を設定します。
(1)出力先
・MPG_OUTDST_DRCT
:VDP2直接出力
・MPG_OUTDST_HOST
:ホスト転送出力
 備 考
(a)本関数の設定は、MPG_MvStart関数を呼ぶことにより有効となります。



Title

関数仕様

Function

デコードタイミングの設定

Function Name

MPG_MvSetDecTim

No

2.5

 書 式
void MPG_MvSetDecTim(MpgMv mpgmv, Sint32 tmg)
 入 力
mpgmv
:MPEG動画ハンドル
tmg  
:デコードタイミング
 出 力
なし
 関数値
なし
 機 能
MPEGビデオのデコードタイミングを設定します。
(1)デコードタイミング
・MPG_DECTMG_VSYNC
:VSYNC 信号が2回で1枚のピクチャをデコードする
・MPG_DECTMG_HOST 
:MPG_MvDecNext関数の呼び出しによってデコードする
 備 考
(a)本関数の設定は、MPG_MvStart関数を呼ぶことにより有効となります。



Title

関数仕様

Function

ビデオチャネルの設定

Function Name

MPG_MvSetVideoChan

No

2.6

 書 式
void MPG_MvSetVideoChan(MpgMv mpgmv, Sint32 vch)
 入 力
mpgmv
:MPEG動画ハンドル
vch  
:チャネル番号 (MPG_IGNORE:無指定)
 出 力
なし
 関数値
なし
 機 能
再生対象となるビデオのチャネルを指定します。デフォルトは無指定です。
この関数が呼ばれると即座にチャネルが切り替わります。チャネル番号の一致しないデータは、CDバッファ内から順次消去されていきます。
 備 考
(a)本関数はビデオレイヤのストリームに対して機能します。システムレイヤのストリームには使用できません。



Title

関数仕様

Function

オーディオチャネルの設定

Function Name

MPG_MvSetAudioChan

No

2.7

 書 式
void MPG_MvSetAudioChan(MpgMv mpgmv, Sint32 ach)
 入 力
mpgmv
:MPEG動画ハンドル
ach  
:チャネル番号 (MPG_IGNORE:無指定)
 出 力
なし
 関数値
なし
 機 能
再生対象となるオーディオのチャネルを指定します。デフォルトは無指定です。
この関数が呼ばれると即座にチャネルが切り替わります。チャネル番号の一致しないデータは、CDバッファ内から順次消去されていきます。
 備 考
(a)本関数はビデオレイヤのストリームに対して機能します。システムレイヤのストリームには使用できません。



Title

関数仕様

Function

ビデオのストリームIDの設定

Function Name

MPG_MvSetVideoId

No

2.8

 書 式
void MPG_MvSetVideoId(MpgMv mpgmv, Sint32 vid)
 入 力
mpgmv
:MPEG動画ハンドル
vid  :ビデオのストリーム番号 (MPG_IGNORE
:無指定)
 出 力
なし
 関数値
なし
 機 能
再生対象となるビデオのストリーム番号を指定します。デフォルトは無指定です。
ストリーム番号の一致しないデータは、CDバッファ内から順次消去されていきます。
 備 考
(a)オーディオ/ビデオ同期再生時に本関数を実行した場合、映像と音声の同期は保証されません。



Title

関数仕様

Function

オーディオのストリームIDの設定

Function Name

MPG_MvSetAudioId

No

2.9

 書 式
void MPG_MvSetAudioId(MpgMv mpgmv, Sint32 ai/d)
 入 力
mpgmv
:MPEG動画ハンドル
aid  
:オーディオのストリーム番号(MPG_IGNORE:無指定)
 出 力
なし
 関数値
なし
 機 能
再生対象となるオーディオのストリーム番号を指定します。デフォルトは無指定です。
ストリーム番号の一致しないデータは、CDバッファ内から順次消去されていきます。



Title

関数仕様

Function

動画再生の開始

Function Name

MPG_MvStart

No

2.10

 書 式
Sint32 MPG_MvStart(MpgMv mpgmv, Bool picsch)
 入 力
mpgmv 
:MPEG動画ハンドル
picsch
:ピクチャサーチフラグ
 出 力
なし
 関数値
エラーコード
 機 能
動画の再生を開始します。picsch が ON の場合は、ピクチャサーチを実行してから再生を開始します。OFFの場合はピクチャサーチを実行しません。
 備 考
(a)他のストリームを再生中に本関数を呼ぶと、MPG_ERR_PLAYINGを返します。
(b)MPEGデコーダの接続に失敗した場合は、MPG_ERR_MCONを返します。
(c)ピクチャサーチは、MPEGストリーム中のシーケンスヘッダをサーチして、見つかった位置から再生を開始する機能です。



Title

関数仕様

Function

動画再生の停止

Function Name

MPG_MvStop

No

2.11

 書 式
void MPG_MvStop(MpgMv mpgmv)
 入 力
mpgmv:MPEG動画ハンドル
 出 力
なし
 関数値
エラーコード
 機 能
動画の再生を停止します。オーディオ/ビデオ同期再生時は、オーディオ再生を停止してからビデオ再生を停止します。
 備 考
(a)復活処理中に本関数を呼ぶと、MPEGデコーダの初期化を行いMPG_ERR_RCVを返します。
(b)ストリームの切替処理中に本関数を呼ぶと、停止処理を行わずにMPG_ERR_CHGを返します。



Title

関数仕様

Function

ビデオ再生の停止

Function Name

MPG_MvStopVideo

No

2.12

 書 式
Sint32 MPG_MvStopVideo(MpgMv mpgmv)
 入 力
mpgmv:MPEG動画ハンドル
 出 力
なし
 関数値
なし
 機 能
ビデオの再生を停止します。
 備 考
(a)復活処理中に本関数を呼ぶと、MPEGのリセットを行いMPG_ERR_RCVを返します。 (b)ストリームの切替処理中に本関数を呼ぶと、停止処理を行わずにMPG_ERR_CHGを返します。



Title

関数仕様

Function

オーディオ再生の停止

Function Name

MPG_MvStopAudio

No

2.13

 書 式
Sint32 MPG_MvStopAudio(MpgMv mpgmv)
 入 力
mpgmv:MPEG動画ハンドル
 出 力
なし
 関数値
なし
 機 能
オーディオの再生を停止します。
 備 考
(a)復活処理中に本関数を呼ぶと、MPEGのリセットを行いMPG_ERR_RCVを返します。
(b)ストリームの切替処理中に本関数を呼ぶと、停止処理を行わずにMPG_ERR_CHGを返します。



Title

関数仕様

Function

一時停止/コマ送り/スロー再生

Function Name

MPG_MvPause

No

2.14

 書 式
void MPG_MvPause(MpgMv mpgmv, Sint32 cmd, Sint32 itvl)
 入 力
mpgmv
:MPEG動画ハンドル
cmd  
:動作指定
itvl 
:スロー再生の速度
 出 力
なし
 関数値
なし
 機 能
一時停止/コマ送り/スロー再生を行います。一時停止の状態でさらにMPG_PAUSE_ONを指定すると、コマ送りとなります。スロー再生は、1秒間にitvl/30回の割合でコマが進みます。
(1)動作指定
・MPG_PAUSE_ON  
:一時停止(通常再生中)
・MPG_PAUSE_ON  
:コマ送り(一時停止中)
・MPG_PAUSE_OFF 
:通常再生
・MPG_PAUSE_SLOW
:スロー再生
 備 考
(a)オーディオ/ビデオ同期再生時は、一時停止を解除してから再度一時停止するまでに、25VSYNC程度の間隔をあけてください。そうしなければオーディオとビデオの同期がずれます。



Title

関数仕様

Function

フリーズ/ストロボ再生

Function Name

MPG_MvFreeze

No

2.15

 書 式
void MPG_MvFreeze(MpgMv mpgmv, Sint32 cmd, Sint32 itvl)
 入 力
mpgmv
:MPEG動画ハンドル
cmd  
:動作指定
itvl 
:ストロボ間隔
 出 力
なし
 関数値
なし
 機 能
フリーズ/ストロボ再生を行います。フリーズ状態でさらに MPG_FREEZE_ONを指定すると、再フリーズされます。ストロボ再生は、1秒間にitvl/30回の割合で再フリーズされます。
(1)動作指定
・MPG_FREEZE_ON  
:フリーズの実行
・MPG_FREEZE_OFF 
:通常再生
・MPG_FREEZE_STRB
:ストロボ再生



Title

関数仕様

Function

音声の左右チャンネルの設定

Function Name

MPG_MvSetPan

No

2.16

 書 式
void MPG_MvSetPan(MpgMv mpgmv, Bool lsw, Bool rsw)
 入 力
mpgmv
:MPEG動画ハンドル
lsw  
:左チャンネルの ON/OFF(デフォルト ON)
rsw  
:右チャンネルの ON/OFF(デフォルト ON)
 出 力
なし
 関数値
なし
 機 能
MPEGオーディオの出力ON/OFF設定を行います。



Title

関数仕様

Function

ビデオの動作状態の取得

Function Name

MPG_MvGetVideoStat

No

2.17

 書 式
Sint32 MPG_MvGetVideoStat(MpgMv mpgmv)
 入 力
mpgmv:MPEG動画ハンドル
 出 力
なし
 関数値
現在のビデオの動作状態
 機 能
以下のような現在の動作状態を取得します。
(1) 現在のビデオの動作状態
・MPG_VSTAT_STOP
:停止中
・MPG_VSTAT_PREP
:準備中
・MPG_VSTAT_PLAY
:再生中
・MPG_VSTAT_ERR
:エラー



Title

関数仕様

Function

オーディオの動作状態の取得

Function Name

MPG_MvGetAudioStat

No

2.18

 書 式
Sint32 MPG_MvGetAudioStat(MpgMv mpgmv)
 入 力
mpgmv:MPEG動画ハンドル
 出 力
なし
 関数値
現在のオーディオの動作状態
 機 能
以下のような現在の動作状態を取得します。
(1)現在のオーディオの動作状態
・MPG_ASTAT_STOP
:停止中
・MPG_ASTAT_PREP
:準備中
・MPG_ASTAT_PLAY
:再生中
・MPG_ASTAT_ERR
:エラー



Title

関数仕様

Function

動画のタイムコードの取得

Function Name

MPG_MvGetTimeCode

No

2.19

 書 式
void MPG_MvGetTimeCode(MpgMv mpgmv, Sint32 *hh, Sint32 *mm, Sint32 *ss, Sint32 *pp)
 入 力
mpgmv:MPEG動画ハンドル
 出 力
hh   
:タイムコードの時間  (0〜23)
mm   
:タイムコードの分   (0〜59)
ss   
:タイムコードの秒   (0〜59)
pp   
:タイムコードのピクチャ(0〜29)
 関数値
なし
 機 能
ビデオストリーム中にあるタイムコードを取得します。ビデオストリームを再生中でないときは、0を出力します。
 備 考
(a)ビデオストリームは、NTSCのドロップフレームでエンコードされている必要があります。
(b)ピクチャをフレームと呼ぶこともあります。



Title

関数仕様

Function

オーディオの再生時間の取得

Function Name

MPG_MvGetPlaytime

No

2.20

 書 式
Sint32 MPG_MvGetPlaytime(MpgMv mpgmv)
 入 力
mpgmv:MPEG動画ハンドル
 出 力
なし
 関数値
オーディオの現在までの再生時間(msec単位)
 機 能
オーディオの現在までの再生時間をmsec単位で返します。
 備 考
(a)MPEG動画ハンドルがビデオのみの再生になっている場合は、常に0を返します。



Title

関数仕様

Function

動画のMPEGウィンドウの接続

Function Name

MPG_MvConnectWin

No

2.21

 書 式
void MPG_MvConnectWin(MpgMv mpgmv, MpgWn mpgwn)
 入 力
mpgmv
:MPEG動画ハンドル
mpgwn
:MPEGウィンドウ
 出 力
なし
 関数値
なし
 機 能
MPEG動画ハンドルとMPEGウィンドウを接続します。デコードされた映像は、このMPEGウィンドウを通して表示されます。
 備 考
(a)MPEG動画ハンドルの再生モードがオーディオのみになっているときは、なにもしません。



Title

関数仕様

Function

動画のMPEGウィンドウの切り離し

Function Name

MPG_MvDisconnectWin

No

2.22

 書 式
void MPG_MvDisconnectWin(MpgMv mpgmv, MpgWn mpgwn)
 入 力
mpgmv
:MPEG動画ハンドル
mpgwn
:MPEGウィンドウ
 出 力
なし
 関数値
なし
 機 能
MPEG動画ハンドルとMPEGウィンドウの接続を切り離します。



Title

関数仕様

Function

動画のデコードの実行

Function Name

MPG_MvDecNext

No

2.23

 書 式
Sint32 MPG_MvDecNext(MpgMv mpgmv)
 入 力
mpgmv:MPEG動画ハンドル
 出 力
なし
 関数値
エラーコード
 機 能
次のピクチャをデコードします。デコードタイミングは、MPG_DECTMG_HOST になっていなければなりません。
【注意】
 最初のピクチャをデコードする時だけ、本関数の実行前にMPG_IsDecReady関数
を使用してデコード準備ができたことを確認してください。
 それ以降は、必ず1フレーム分のデコード時間(2VSYNC)以上の間隔を空けて
本関数を実行してください。通常は、VSYNCやオーディオ再生量などを利用して同
期タイミングを取る必要があります。
 詳細は、CDCマニュアル(MPEGパート)のP.57「デコード同期信号の送出」
(CDC_MpOutDsync関数)を参照してください。



Title

関数仕様

Function

動画の出力

Function Name

MPG_MvOutput

No

2.24

 書 式
Sint32 MPG_MvOutput(MpgMv mpgmv, Bool chkupic)
 入 力
mpgmv  
:MPEG動画ハンドル
chkupic
:ピクチャ更新チェックスイッチ(ON/OFF)
 出 力
なし
 関数値
エラーコード
 機 能
本関数をVSYNC毎に呼ぶことによって、動画をホスト転送出力します。本関数が呼ばれると、MPEG動画ハンドルに接続されているホスト転送用ウィンドウのバッファ領域にイメージデータが転送されます。
(各MPEGウィンドウに対してMPG_WnTrans関数を実行する)
ピクチャ更新チェックスイッチがONの時は、ピクチャ更新が発生したときのみ動画の出力を行います。OFFのときは、このチェックを行いません。
 備 考
(a)mpgmvはホスト出力モードで、かつビデオの動作状態が再生中でなければなりません。そうなっていないときは動画の出力に失敗します。 (b)デコードタイミングがMPG_DECTMG_HOSTになっている場合はピクチャ更新を検出できないので、ピクチャ更新チェックスイッチをOFFにしてください。



Title

関数仕様

Function

次に再生するMPEGハンドルの登録

Function Name

MPG_MvEntryNext

No

2.25

 書 式
Sint32 MPG_MvEntryNext(MpgMv mpgmv, MpgMv nextmv)
 入 力
mpgmv :MPEG動画ハンドル nextmv:次に再生するMPEG動画ハンドル
 出 力
なし
 関数値
エラーコード
 機 能
ストリームが切り替わるときに次に再生されるMPEG動画ハンドルを登録します。
MPG_MvChange 関数によって強制切り替えが行われた時も、この関数で登録されたストリームが次に再生されます。ストリームが切り替わると、再生されていたMPEGハンドルは、停止状態になり、登録されていたMPEGハンドルが再生中になります。
 備 考
(a)動画の出力先かデコードタイミングが異なるMPEG動画ハンドルを登録してはいけません。例えば、VDP2直接出力のMPEG動画ハンドルの次にホスト転送出力のMPEG動画ハンドルを登録してはいけません。
 (b) 再生するストリームが異なるMPEG動画ハンドルを登録してはいけません。例えば
   オーディオ/ビデオ同期再生の動画ハンドルの次にビデオのみ再生の動画ハン
   ドルを登録してはいけません。
 (c) 以下の項目については、動画切り替え時に設定を行いません。切り替え前の設定が
   切り替え後にも適用されます。
  ・ビデオチャネルとオーディオチャネル
  ・ビデオのストリームIDとオーディオのストリームID
  ・スロー再生の速度
  ・ストロボ間隔
  ・音声の左右チャンネル



Title

関数仕様

Function

ストリームの強制切り替え

Function Name

MPG_MvChange

No

2.26

 書 式
Sint32 MPG_MvChange(MpgMv mpgmv)
 入 力
mpgmv:現在再生中のMPEG動画ハンドル
 出 力
なし
 関数値
エラーコード
 機 能
MPEGストリームを強制的に切り替えます。現在再生中のストリーム mpgmvを中断し、MPG_MvEntryNext関数で登録されているストリームが次に再生されます。
 備 考
(a)以下のケースでは切り替えに失敗するので、再発行してください。



Title

関数仕様

Function

バッファの消去方法の設定

Function Name

MPG_MvSetClearMode

No

2.27

 書 式
void MPG_MvSetClearMode(MpgMv mpgmv, Sint32 vmode, Sint32 amode)
 入 力
mpgmv
:MPEG動画ハンドル
vmode
:ビデオストリームの消去モード
amode
:オーディオストリームの消去モード
 出 力
なし
 関数値
なし
 機 能
ストリームを強制切り替えするときのバッファのクリア方法を設定します。
(1)ビデオストリームの消去モード
・MPG_VCLR_VBV_IP
:次のIまたはPピクチャスタートでVBVバッファをクリア
・MPG_VCLR_ALL   
:フレームバッファとVBVバッファを即座にクリア
(2)オーディオストームの消去モード
・MPG_ACLR_NONE
:クリアしない
・MPG_ACLR_ALL 
:即座にすべてクリア



Title

関数仕様

Function

ストリームレイヤの設定

Function Name

MPG_MvSetLay

No

2.28

 書 式
void MPG_MvSetLay(MpgMv mpgmv, Sint32 vlay, Sint32 alay)
 入 力
mpgmv
:MPEG動画ハンドル
vlay 
:ビデオストリームレイヤ  (MPG_NOCHG:変更しない)
alay 
:オーディオストリームレイヤ(MPG_NOCHG:変更しない)
 出 力
なし
 関数値
なし
 機 能
ストリームレイヤを設定します。再生を開始する前に設定しなければなりません。
(1)ビデオストリームレイヤ
(2)オーディオストリームレイヤ

戻る進む
PROGRAMMER'S GUIDEMPEGライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997