2011-12-15 32 views
2

簡単な質問ですが、回答を見つけることができません。FFMPEGはまだCUDAやその他のハードウェアアクセラレーションを利用していますか?

トランスコードエンジン(オープンソースが好ましい)を決定していますが、FFMPEGはハードウェアアクセラレーションを利用していないようですが、わかりません。

私はffmpegが、Handbrakeのような無数の他の製品で使われているのと同じライブラリlibavcodecを使用すると信じています。私は彼らがハードウェアアクセラレーションをサポートしていないと信じられないので、私の質問です。

答えて

0

私が知る限り、ffmpegはCUDAを利用していませんが、何かについて興味があれば - CoreAVC Video DecoderはそのようなオプションをH.264デコーダに持っています。

0

私はLoiloscopeを使用しています。最初のリリース以来、CUDAはトランスコードを加速しました。

1

libavcodecには、クライアントがハードウェアデコードを実装できるAPIがあります。私はハンドブレーキがそれをサポートしているとは思わない。

これはではありません。は、CUDAカーネルまたはその他の種類のSIMD言語を使用していますが、これらはすべてタスクにとって無駄です。 GPU(または新しいCPU)とともにパッケージ化された専用のデコーダハードウェアを使用します。 CUDAはこれにアクセスするためのAPIを提供します。これは「CUDAのサポート」が意味するものです。

0

avcodec_find_decoder()を呼び出してデコーダを取得した場合、FFmpegはデコードにハードウェアアクセラレーションを使用しません。代わりに、特定のハードウェアデコーダを使用してavcodec_find_decoder_by_name()を呼び出すと、GPUの使用率が向上します。例:

AVCodec *avcodec_h264dec = avcodec_find_decoder_by_name("h264_cuvid"); 
関連する問題