OSDN Git Service

ブロックサイズの指定方法と引数を整理
[uzume/uzume_bfin.git] / uzume_prototype / uzume_callback.c
1 /**
2  * @file uzume_callback.c
3  * @brief オーディオ信号処理を行うユーザー・コールバック
4  * 
5  */
6 #include "t_services.h"
7 #include "kernel_id.h"
8 #include "uzume.h"
9 /**
10  * @brief 信号処理初期化関数
11  * @param count @ref codec_callback()に渡される引数配列のサイズ
12  * @ingroup AUDIO
13  * 
14  * この関数は@ref codec_callback()に先立って一度だけ呼び出される。フィルタの構築や
15  * 変数の初期化に使う。count引数の値は@ref codec_callback()のcount引数と同じである。
16  */
17 void init_audio( int count )
18 {
19
20 }
21 /**
22  * @brief 信号処理関数
23  * @param in0_left 左チャンネル0入力配列
24  * @param in0_right 右チャンネル0入力配列
25  * @param out0_left 左チャンネル0出力配列
26  * @param out0_right 右チャンネル0出力配列
27  * @ingroup AUDIO
28  * 
29  * ユーザーが信号処理を行う関数。オーディオ信号に同期して呼び出される。それぞれの引数は
30  * 引数countがあらわす個数だけデータを持っている。データは24bit符号付整数。32bit変数に
31  * 左詰で渡される。
32  * 
33  * この関数はステレオ信号を2系統あつかえる。すなわち、系統0と系統1がそれぞれ左右チャンネルを持つ。
34  * 
35  * この関数が使う資源で、あらかじめ初期化が必要なものは、@ref codec_callback_init()の
36  * 中で初期化しておく。
37  */
38 void process_audio( 
39                         AUDIOSAMPLE input_left[],
40                         AUDIOSAMPLE input_right[],
41                         AUDIOSAMPLE output_left[],
42                         AUDIOSAMPLE output_right[]
43                         )
44 {
45                 // ループ変数
46         int sample;
47         
48                 // count個のサンプルすべてを処理する
49         for ( sample = 0; sample < UZUME_BLOCKSIZE; sample++ ){
50                 output_left[sample]  = input_left[sample];
51                 output_right[sample] = input_right[sample];
52         }
53 }
54