ch.kuramo.javie.api
インタフェース IVideoBuffer


public interface IVideoBuffer

IVideoBuffer はビデオ用バッファです。 IVideoEffectContext.doPreviousEffect() から返される他、 IVideoRenderSupport.createVideoBuffer(VideoBounds) 等で作成することができます。

IVideoBuffer オブジェクトは、 フッテージ、レイヤー、コンポジション等におけるビデオデータの1フレーム分を OpenGLテクスチャまたはJavaVM上の配列いずれかの状態で保持します。 OpenGLを用いて処理を行うエフェクトはテクスチャの状態でビデオデータを扱います。 CPU側で処理を行う必要がある場合は getArray() メソッドを使って配列としてデータを取り出します。 一度 getArray() が呼ばれると、その IVideoBuffer オブジェクトが保持するビデオデータは getTexture() が呼ばれるまで配列の状態で保持され続けます。


入れ子のクラスの概要
static class IVideoBuffer.TextureFilter
          テクスチャの補間フィルタを表す列挙型
static class IVideoBuffer.TextureWrapMode
          テクスチャのラップモードを表す列挙型
 
メソッドの概要
 void clear()
          このビデオ用バッファを、無色透明 (r,g,b,a=0,0,0,0) でクリアします。
 void clear(Color color)
          注意:このメソッドの実装は不完全です。
 void copyToTexture(java.lang.Object srcArray, ColorMode srcColorMode)
          引数 srcArray のデータをこのビデオ用バッファが保持するテクスチャへ転送し、上書きします。
 void dispose()
          このビデオ用バッファを破棄します。
 java.lang.Object getArray()
          このビデオ用バッファが保持する配列を返します。
 VideoBounds getBounds()
          このビデオ用バッファの位置およびサイズを返します。
 ColorMode getColorMode()
          このビデオ用バッファの色深度を返します。
 int getTexture()
          このビデオ用バッファが保持するテクスチャを返します。
 IVideoBuffer.TextureFilter getTextureFilter()
          このビデオ用バッファが保持するテクスチャの補間タイプを返します。
 IVideoBuffer.TextureWrapMode getTextureWrapMode()
          このビデオ用バッファが保持するテクスチャのラップモードを返します。
 boolean isArray()
          このビデオ用バッファが配列の状態でデータを保持している場合は true を返します。
 boolean isTexture()
          このビデオ用バッファがテクスチャの状態でデータを保持している場合は true を返します。
 void setTextureFilter(IVideoBuffer.TextureFilter filter)
          このビデオ用バッファが保持するテクスチャの補間タイプを、引数 filter で指定したタイプに設定します。
 void setTextureWrapMode(IVideoBuffer.TextureWrapMode wrapMode)
          このビデオ用バッファが保持するテクスチャのラップモードを、引数 wrapMode で指定したモードに設定します。
 

メソッドの詳細

dispose

void dispose()
このビデオ用バッファを破棄します。


isTexture

boolean isTexture()
このビデオ用バッファがテクスチャの状態でデータを保持している場合は true を返します。

戻り値:
このビデオ用バッファがテクスチャの状態でデータを保持している場合は true、 そうでない場合は false

isArray

boolean isArray()
このビデオ用バッファが配列の状態でデータを保持している場合は true を返します。

戻り値:
このビデオ用バッファが配列の状態でデータを保持している場合は true、 そうでない場合は false

getTexture

int getTexture()
このビデオ用バッファが保持するテクスチャを返します。 このビデオ用バッファが配列の状態でデータを保持している場合、 配列からテクスチャへのデータ転送が発生します。

戻り値:
このビデオ用バッファが保持するデータのテクスチャ

getArray

java.lang.Object getArray()
このビデオ用バッファが保持する配列を返します。 このビデオ用バッファがテクスチャの状態でデータを保持している場合、 テクスチャから配列へのデータ転送が発生します。

戻り値:
このビデオ用バッファが保持するデータの配列

getColorMode

ColorMode getColorMode()
このビデオ用バッファの色深度を返します。

戻り値:
このビデオ用バッファの色深度を表す ColorMode オブジェクト

getBounds

VideoBounds getBounds()
このビデオ用バッファの位置およびサイズを返します。

戻り値:
このビデオ用バッファの位置およびサイズを表す VideoBounds オブジェクト

getTextureFilter

IVideoBuffer.TextureFilter getTextureFilter()
このビデオ用バッファが保持するテクスチャの補間タイプを返します。 このビデオ用バッファが配列の状態でデータを保持している場合、 配列からテクスチャへのデータ転送が発生します。

戻り値:
このビデオ用バッファが保持するテクスチャの補間タイプ

setTextureFilter

void setTextureFilter(IVideoBuffer.TextureFilter filter)
このビデオ用バッファが保持するテクスチャの補間タイプを、引数 filter で指定したタイプに設定します。 このビデオ用バッファが配列の状態でデータを保持している場合、 配列からテクスチャへのデータ転送が発生します。

パラメータ:
filter - このビデオ用バッファが保持するテクスチャに設定する補間モード

getTextureWrapMode

IVideoBuffer.TextureWrapMode getTextureWrapMode()
このビデオ用バッファが保持するテクスチャのラップモードを返します。 このビデオ用バッファが配列の状態でデータを保持している場合、 配列からテクスチャへのデータ転送が発生します。

戻り値:
このビデオ用バッファが保持するテクスチャのラップモード

setTextureWrapMode

void setTextureWrapMode(IVideoBuffer.TextureWrapMode wrapMode)
このビデオ用バッファが保持するテクスチャのラップモードを、引数 wrapMode で指定したモードに設定します。 このビデオ用バッファが配列の状態でデータを保持している場合、 配列からテクスチャへのデータ転送が発生します。

パラメータ:
wrapMode - このビデオ用バッファが保持するテクスチャに設定するラップモード

clear

void clear()
このビデオ用バッファを、無色透明 (r,g,b,a=0,0,0,0) でクリアします。


clear

void clear(Color color)
注意:このメソッドの実装は不完全です。 このビデオ用バッファを、引数 color で指定した色でクリアします。 現在の実装では、このビデオ用バッファが配列の状態でデータを保持していて color が無色透明 (r,g,b,a=0,0,0,0) 以外の場合、 UnsupportedOperationException をスローします。


copyToTexture

void copyToTexture(java.lang.Object srcArray,
                   ColorMode srcColorMode)
引数 srcArray のデータをこのビデオ用バッファが保持するテクスチャへ転送し、上書きします。 このビデオ用バッファが配列の状態でデータを保持している場合、配列を破棄しテクスチャを作成した後、データを転送します。 srcArray の実際の型は、byte[], short[] はたは float[] のいずれかで、引数 srcColorMode が表す型と一致している必要があります。

パラメータ:
srcArray - このビデオ用バッファが保持するテクスチャへ転送するデータの配列
srcColorMode - srcArray のデータの色深度