Media Codec

Android 10(API レベル 29)以降では、 MediaCodecInfo。 コーデックに関する詳細情報を表示します。

isSoftwareOnly()
コーデックがソフトウェアでのみ動作する場合、true を返します。ソフトウェア コーデックの レンダリング パフォーマンスを保証します。
isHardwareAccelerated()
コーデックがハードウェアによって高速化された場合、true を返します。
isVendor()
コーデックがデバイス ベンダーから提供されている場合は true、指定された場合は false を返します 開発されたものです
isAlias()
MediaCodecList には、基盤となる同じコーデックに対する追加のエントリが含まれている場合があります。 代替コーデック名(エイリアス)を使用します。このメソッドは 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 を返します。