AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
jpg.h

JPG Manager Header

JPG Manager提供ヘッダ。 

JPG Manager使用時にincludeして下さい。 

none

AXELL CORPORATION

2017_02_22 初版 

2017_05_01 [#1303]JPGライブラリの変更 

2017_10_26 Ver2.0 

2018_01_24 Ver2.1 [#1781] 品質設定API "AG903_JPGSetQScale" を追加 

2021_06_30 [SDK3.3] 異常なJPEGデータのデコードが終了しなくなる不具合を修正 (#3255)

1: 13: 14: 18: 19: #ifndef __JPGMGR_H__ 20: #define __JPGMGR_H__ 21: 22: 23: #ifdef __cplusplus 24: extern "C" { 25: #endif 26: 27: 28: enum AG903_JPG_ENDEC_ENUM{ 29: AG903_JPG_ENDEC_DECODE = 0 , 30: AG903_JPG_ENDEC_ENCODE , 31: }; 32: 33: 34: enum AG903_JPG_CCOMP_ENUM{ 35: AG903_JPG_CCOMP_YUV420 = 0 , 36: AG903_JPG_CCOMP_YUV422 , 37: }; 38: 39: 40: enum AG903_JPG_HOOK_ENUM{ 41: AG903_JPG_HOOK_CMP = 0 , 42: AG903_JPG_HOOK_STRE , 43: AG903_JPG_HOOK_IMGE , 44: AG903_JPG_HOOK_CAPE , 45: AG903_JPG_HOOK_ESTE , 46: AG903_JPG_HOOK_EOI , 47: AG903_JPG_HOOK_SOI , 48: AG903_JPG_HOOK_EOP , 49: AG903_JPG_HOOK_SOP , 50: AG903_JPG_HOOK_NG , 51: AG903_JPG_HOOK_SOS , 52: AG903_JPG_HOOK_DCTRI , 53: AG903_JPG_HOOK_INITF , 54: AG903_JPG_HOOK_SRSTF , 55: 56: AG903_JPG_HOOK_MAX 57: }; 58: 59: 60: typedef uint32_t AG903_JPGHandle; 61: 62: 73: uint8_t operation; 74: uint8_t color_cmpnt; 75: uint8_t EOImarker; 76: uint8_t RSTmarker; 77: uint8_t SOImarker; 78: uint8_t marker; 79: uint8_t SOSstop; 80: uint8_t reserve[3]; 81: } AG903_JPGCtrlParam; 82: 83: 96: void* out_buf; 97: uint32_t h_size; 98: uint32_t v_size; 99: uint32_t strm_size; 100: uint16_t stride; 101: uint8_t capture; 102: uint8_t buf_flow; 103: uint8_t flame_skip; 104: uint8_t reserve[3]; 105: } AG903_JPGCodecParam; 106: 107: 116: uint32_t param; 117: } AG903_JPGHooks; 118: 119: 122: 123: 130: int32_t AG903_JPGInit(void); 131: 132: 146: int32_t AG903_JPGGetHandle(AG903_JPGHandle **handle); 147: 148: 158: int32_t AG903_JPGReleaseHandle(AG903_JPGHandle *handle); 159: 160: 169: int32_t AG903_JPGGetStreamSize(AG903_JPGHandle *handle, uint32_t *size); 170: 171: 181: int32_t AG903_JPGGetImageSize(AG903_JPGHandle *handle, uint32_t *xlen, uint32_t *ylen); 182: 183: 192: int32_t AG903_JPGGetColorComponent(AG903_JPGHandle *handle, uint8_t *ccomp); 193: 194: 208: int32_t AG903_JPGInitCodec(AG903_JPGHandle *handle, AG903_JPGCtrlParam *param); 209: 210: 224: int32_t AG903_JPGStartCodec(AG903_JPGHandle *handle, AG903_JPGCodecParam *param); 225: 226: 234: int32_t AG903_JPGEndCodec(AG903_JPGHandle *handle); 235: 236: 268: int32_t AG903_JPGSetHooks(AG903_JPGHandle *handle, AG903_JPGHooks *hook); 269: 270: 280: int32_t AG903_JPGSetQScale(uint8_t scale); 281: 282: 283: #ifdef __cplusplus 284: } 285: #endif 286: 287: #endif
 
名前 
説明 
 
カラーコンポーネント 
 
コーデックモード 
 
フック要因 
 
名前 
説明 
 
コーデック終了処理 
 
カラーコンポーネント取得 
 
JPGハンドル取得 
 
イメージサイズ取得 
 
ストリームサイズ取得 
 
JPGモジュール初期化 
 
コーデック初期化 
 
JPGハンドル解放 
 
コールバック登録 
 
品質値を設定 
 
コーデック開始処理 
 
名前 
説明 
 
コーデック設定パラメータ
in_buf は4バイトアラインされたアドレスを指定して下さい。 またデコード時はデータの末尾に0xXXを4バイト以上余分に付加して下さい。
out_buf は4バイトアラインされたアドレスを指定して下さい。 またエンコード時はサイズを見積もれませんので十分なサイズを確保して下さい。
strm_size は in_buf に余分に付加したデータを含めたサイズを設定して下さい。
stride は ストライドのバイトサイズを設定して下さい。 また設定値は8ピクセルの倍数(16バイト)単位にする必要があります。
capture は true=キャプチャ回路から取り込み、false=VRAMから取り込み です。
buf_flow は true=有効、false=無効 です。(BMU使用時はtrueを指定して下さい)
flame_skip は true=次のSOIマーカーまでフレームをスキップする、false=スキップなし です。 
 
コーデック制御パラメータ
interval はRestartマーカーのインターバルの設定です。
operation は右から指定します。 AG903_JPG_ENDEC_DECODE , AG903_JPG_ENDEC_ENCODE
color_cmpnt は右から指定します。 AG903_JPG_CCOMP_YUV420 , AG903_JPG_CCOMP_YUV422
EOImarker は true=マーカーON、false=マーカーOFF です。
RSTmarker は true=マーカーON、false=マーカーOFF です。
SOImarker は true=マーカーON、false=マーカーOFF です。
marker は true=マーカーON、false=マーカーOFF です。
SOSstop は true=デコード停止、false=通常動作 です。 
 
フックリスト構造体
コールバック不要な場合は clbk にNULLを設定して下さい。
param はコールバック関数に引数として渡されます。 
 
コーデック設定パラメータ
in_buf は4バイトアラインされたアドレスを指定して下さい。 またデコード時はデータの末尾に0xXXを4バイト以上余分に付加して下さい。
out_buf は4バイトアラインされたアドレスを指定して下さい。 またエンコード時はサイズを見積もれませんので十分なサイズを確保して下さい。
strm_size は in_buf に余分に付加したデータを含めたサイズを設定して下さい。
stride は ストライドのバイトサイズを設定して下さい。 また設定値は8ピクセルの倍数(16バイト)単位にする必要があります。
capture は true=キャプチャ回路から取り込み、false=VRAMから取り込み です。
buf_flow は true=有効、false=無効 です。(BMU使用時はtrueを指定して下さい)
flame_skip は true=次のSOIマーカーまでフレームをスキップする、false=スキップなし です。 
 
コーデック制御パラメータ
interval はRestartマーカーのインターバルの設定です。
operation は右から指定します。 AG903_JPG_ENDEC_DECODE , AG903_JPG_ENDEC_ENCODE
color_cmpnt は右から指定します。 AG903_JPG_CCOMP_YUV420 , AG903_JPG_CCOMP_YUV422
EOImarker は true=マーカーON、false=マーカーOFF です。
RSTmarker は true=マーカーON、false=マーカーOFF です。
SOImarker は true=マーカーON、false=マーカーOFF です。
marker は true=マーカーON、false=マーカーOFF です。
SOSstop は true=デコード停止、false=通常動作 です。 
 
フックリスト構造体
コールバック不要な場合は clbk にNULLを設定して下さい。
param はコールバック関数に引数として渡されます。 
名前 
説明 
コールバック関数型
handle はJPGハンドル、param は AG903_JPGSetHooks で設定したパラメータです。 
JPGハンドル 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.