OROCHI
 
Loading...
Searching...
No Matches
GxMotionEncoder.h File Reference

モーション圧縮アルゴリズム More...

#include <assert.h>
#include <vector>
Include dependency graph for GxMotionEncoder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  KeyCache
 キーキャッシュクラス More...
 
union  NEW_MOTION_ENCODER::Header
 
union  NEW_MOTION_ENCODER::KeyFrame
 キーフレームWORD(int32_t型) More...
 
union  NEW_MOTION_ENCODER::KeyFrameShort
 
union  NEW_MOTION_ENCODER::BitWidthChange
 
struct  NEW_MOTION_ENCODER::CompressBitType
 圧縮率ごとの、圧縮ブロックの情報 More...
 

Macros

#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
 

Functions

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)
 カーブ値を取得
 

Variables

const CompressBitType NEW_MOTION_ENCODER::COMPRESS_BIT_TYPE_TABLE []
 比較用ビット種類テーブル
 

Detailed Description

モーション圧縮アルゴリズム

Author
Copyright (C)2009 SiliconStudio Inc. All rights reserved.
Yuya Ikeuchi

Function Documentation

◆ getCurveValueFromCache()

f32 NEW_MOTION_ENCODER::getCurveValueFromCache ( u32 * pCompressData,
u32 frame,
KeyCache * pCache,
u32 cacheFrame )

カーブ値を取得

Parameters
pCompressData[in] 圧縮データ
frame[in] フレーム
pCache[in] キーキャッシュ
cacheFrame[in] キャッシュフレーム
Returns
カーブ値
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCurveValueFromFrame()

f32 NEW_MOTION_ENCODER::getCurveValueFromFrame ( u32 * pCompressData,
u32 frame,
KeyCache *  )

カーブ値を取得

Parameters
pCompressData[in] 圧縮データ
frame[in] フレーム
pCache[in] キーキャッシュ
Returns
カーブ値
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getQuaternion()

void NEW_MOTION_ENCODER::getQuaternion ( f32 data[3],
f32 outData[4] )

回転を取得

Parameters
data[in] 入力値
outData[out] 出力値
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inverseQuantize()

f32 NEW_MOTION_ENCODER::inverseQuantize ( s32 in,
s8 width )

量子反転

Parameters
in[in] 入力値
width[in] 幅
Returns
出力値
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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
フレーム数
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ 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 },
}

比較用ビット種類テーブル