Android 10(API レベル 29)以降では、
MediaCodecInfo
。
コーデックに関する詳細情報を表示します。
isSoftwareOnly()
- コーデックがソフトウェアでのみ動作する場合、true を返します。ソフトウェア コーデックの レンダリング パフォーマンスを保証します。
isHardwareAccelerated()
- コーデックがハードウェアによって高速化された場合、true を返します。
isVendor()
- コーデックがデバイス ベンダーから提供されている場合は true、指定された場合は false を返します 開発されたものです
isAlias()
MediaCodecList
には、代替コーデック名(エイリアス)を使用している場合、1 つの基盤コーデックに対して複数のエントリが含まれている可能性があります。このメソッドは true を返します。 このエントリのコーデックは、別のコーデックのエイリアスです。
また、MediaCodec.getCanonicalName()
はエイリアス経由で作成されたコーデックの基盤コーデック名を返します。
パフォーマンス ポイント
「パフォーマンス ポイント」とは、特定の高さ、幅、フレームレートで動画をレンダリングするコーデックの能力を示します。たとえば、UHD_60
パフォーマンス ポイントです。
60 フレームでレンダリングされた超高画質動画(3,840 x 2,160 ピクセル)を表します
毎秒
メソッド MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
は、コーデックがレンダリングまたはキャプチャできる PerformancePoint
エントリのリストを返します。
特定の PerformancePoint
のチャットが別のプランでカバーされているかどうかは、
PerformancePoint.covers(PerformancePoint)
。
たとえば、UHD_60.covers(UHD_50)
は true を返します。
パフォーマンス ポイントのリストには、すべてのハードウェア アクセラレーション コーデックが含まれています。コーデックが最も低い標準パフォーマンス ポイントでさえ満たさない場合、空のリストになることがあります。
なお、Android 10(API レベル 29)以降にアップグレードされたデバイスでは、
パフォーマンス ポイント データは失われるため、ベンダー イメージを更新しても
データはベンダー HAL から取得されます。この場合は、getSupportedPerformancePoints()
です。
null を返します。