[リストへもどる]
一括表示
タイトルRe:DirectShowフィルター
記事No259
投稿日: 2002/03/10(Sun) 14:26
投稿者へるみ
>午後のコーダ3をDirectShowフィルタ化しているのですが、

私も実装してみようかと思っていたところでした(^^;
いろいろ用事があってなかなか手をつけられていませんが。

>1.PCMデータのサイズはいつも決まったサイズ必要なのか
>(渡された分だけエンコードすることはできないのか)
出来ません。入力PCMデータは
32/44.1/48kHzのとき1152サンプル
16/22.05/24kHzのとき576サンプルごとにエンコードされます。
1サンプル=2byte * チャンネル数(1 or 2)
従って入力データはこの倍数にしかなりえません。

2.fr0、fr1、fr2、fr3はそれぞれどう違うのか
これはリングバッファ的構造をもっています。
FFTによるオーバーラップなどがあるため
若干のディレイ分をこめてコピーしてます。
ちょっとややこしいです。

コピーを減らすためにはおそらく
get_audio_init, get_pcmを外側に引っ張り出して
readDataのポインタにコピーさせるんでしょうが
読み込みバイトを外側で決められないので辛いと
思います。

タイトルDirectShowフィルター
記事No261
投稿日: 2002/03/10(Sun) 15:57
投稿者
>1.PCMデータのサイズはいつも決まったサイズ必要なのか
> >(渡された分だけエンコードすることはできないのか)
> 出来ません。入力PCMデータは
> 32/44.1/48kHzのとき1152サンプル
> 16/22.05/24kHzのとき576サンプルごとにエンコードされます。
> 1サンプル=2byte * チャンネル数(1 or 2)
> 従って入力データはこの倍数にしかなりえません。

最初のフレームだけちょっと別の値になっているので,576 or 1152 の倍数で決
め打ちはやばいかも.