モーション圧縮アルゴリズム
More...
#include <assert.h>
#include <vector>
Go to the source code of this file.
|
#define | KEYFRAME_INTERVAL_MASK 0x0001 |
|
#define | KEYFRAME_CONSTANT_INTERVAL 0x0000 |
|
#define | KEYFRAME_SPECIFY_POSITION 0x0001 |
|
#define | KEYFRAME_SHORT_TYPE 0x0002 |
|
#define | CONSTANT_DATA 0x0004 |
|
#define | KEYFRAME_RAWDATA 0x0008 |
|
#define | KEYFRAME_CONSTANT_VALUE 0x8000 |
|
#define | COMPRATE_2BIT 0 |
|
#define | COMPRATE_3BIT 1 |
|
#define | COMPRATE_4BIT 2 |
|
#define | COMPRATE_5BIT 3 |
|
#define | COMPRATE_6BIT 4 |
|
#define | COMPRATE_8BIT 5 |
|
#define | COMPRATE_16BIT 6 |
|
#define | COMPRATE_32BIT 7 |
|
#define | COMPRATE_RUNLENGTH 8 |
|
|
s32 | NEW_MOTION_ENCODER::uncompressData (u32 *pCompressData, f32 *pData) |
| 圧縮プログラムのデコードテスト
|
|
s32 | NEW_MOTION_ENCODER::uncompressUnitQuaternion (u32 **ppCompressData, f32 *pData[4]) |
| 回転を表す四元数の新圧縮プログラムのデコードテスト
|
|
s32 | NEW_MOTION_ENCODER::uncompressUnitQuaternionFrame (u32 **ppCompressData, u32 frame0, u32 frame1, f32 *pDataStw[3], f32 *pData[4]) |
| 回転を表す四元数の新圧縮プログラムのデコード
|
|
f32 | NEW_MOTION_ENCODER::inverseQuantize (s32 in, s8 width) |
| 量子反転
|
|
void | NEW_MOTION_ENCODER::getQuaternion (f32 data[3], f32 outData[4]) |
| 回転を取得
|
|
f32 | NEW_MOTION_ENCODER::getCurveValueFromFrame (u32 *pCompressData, u32 frame, KeyCache *pCache) |
| カーブ値を取得
|
|
f32 | NEW_MOTION_ENCODER::getCurveValueFromCache (u32 *pCompressData, u32 frame, KeyCache *pCache, u32 cacheFrame) |
| カーブ値を取得
|
|
モーション圧縮アルゴリズム
- Author
- Copyright (C)2009 SiliconStudio Inc. All rights reserved.
-
Yuya Ikeuchi
◆ getCurveValueFromCache()
f32 NEW_MOTION_ENCODER::getCurveValueFromCache |
( |
u32 * | pCompressData, |
|
|
u32 | frame, |
|
|
KeyCache * | pCache, |
|
|
u32 | cacheFrame ) |
カーブ値を取得
- Parameters
-
pCompressData | [in] 圧縮データ |
frame | [in] フレーム |
pCache | [in] キーキャッシュ |
cacheFrame | [in] キャッシュフレーム |
- Returns
- カーブ値
◆ getCurveValueFromFrame()
f32 NEW_MOTION_ENCODER::getCurveValueFromFrame |
( |
u32 * | pCompressData, |
|
|
u32 | frame, |
|
|
KeyCache * | ) |
カーブ値を取得
- Parameters
-
pCompressData | [in] 圧縮データ |
frame | [in] フレーム |
pCache | [in] キーキャッシュ |
- Returns
- カーブ値
◆ getQuaternion()
void NEW_MOTION_ENCODER::getQuaternion |
( |
f32 | data[3], |
|
|
f32 | outData[4] ) |
回転を取得
- Parameters
-
data | [in] 入力値 |
outData | [out] 出力値 |
◆ inverseQuantize()
f32 NEW_MOTION_ENCODER::inverseQuantize |
( |
s32 | in, |
|
|
s8 | width ) |
量子反転
- Parameters
-
- Returns
- 出力値
◆ uncompressUnitQuaternionFrame()
s32 NEW_MOTION_ENCODER::uncompressUnitQuaternionFrame |
( |
u32 ** | ppCompressData, |
|
|
u32 | frame0, |
|
|
u32 | frame1, |
|
|
f32 * | pDataStw[3], |
|
|
f32 * | pData[4] ) |
回転を表す四元数の新圧縮プログラムのデコード
- Parameters
-
ppCompressData | [in] 圧縮データ |
frame0 | [in] 計算してほしいフレーム |
frame1 | [in] 計算してほしいフレーム |
pDataStw | [in] 計算用領域(new回避のため外から渡す) |
pData | [out] デコードデータを書き込むバッファ |
- Returns
- フレーム数
◆ COMPRESS_BIT_TYPE_TABLE
const CompressBitType NEW_MOTION_ENCODER::COMPRESS_BIT_TYPE_TABLE[] |
Initial value:=
{
{ 2, 16 },
{ 3, 10 },
{ 4, 8 },
{ 5, 6 },
{ 6, 5 },
{ 8, 4 },
{ 16, 2 },
{ 32, 1 },
}
比較用ビット種類テーブル