미디어 코덱

Android 10 (API 수준 29) 이상부터는 MediaCodecInfo에 코덱에 관한 추가 정보를 표시하는 메서드가 있습니다.

isSoftwareOnly()
코덱이 소프트웨어에서만 실행되는 경우 true를 반환합니다. 소프트웨어 코덱은 렌더링 성능을 보장하지 않습니다.
isHardwareAccelerated()
코덱이 하드웨어에 의해 가속화되면 true를 반환합니다.
isVendor()
코덱이 기기 공급업체에서 제공하는 경우 true를 반환하고 Android 플랫폼에서 제공하는 경우 false를 반환합니다.
isAlias()
MediaCodecList에는 대체 코덱 이름 (별칭)을 사용하는 동일한 기본 코덱의 추가 항목이 포함될 수 있습니다. 이 메서드는 이 항목의 코덱이 다른 코덱의 별칭인 경우 true를 반환합니다.

또한 MediaCodec.getCanonicalName()는 별칭을 통해 생성된 코덱의 기본 코덱 이름을 반환합니다.

성능 포인트

성능 포인트는 특정 높이, 너비, 프레임 속도로 동영상을 렌더링하는 코덱의 기능을 나타냅니다. 예를 들어 UHD_60 성능 포인트는 초당 60프레임으로 렌더링된 초고화질 동영상 (3840x2160픽셀)을 나타냅니다.

MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() 메서드는 코덱이 렌더링하거나 캡처할 수 있는 PerformancePoint 항목 목록을 반환합니다.

PerformancePoint.covers(PerformancePoint)를 호출하여 특정 PerformancePoint가 다른 를 포함하는지 확인할 수 있습니다. 예를 들어 UHD_60.covers(UHD_50)는 true를 반환합니다.

성능 포인트 목록은 모든 하드웨어 가속 코덱에 대해 제공됩니다. 코덱이 가장 낮은 표준 성능 포인트도 충족하지 못하는 경우 이 목록은 비어 있을 수 있습니다.

공급업체 이미지를 업데이트하지 않고 Android 10 (API 수준 29) 이상으로 업그레이드된 기기에는 성능 포인트 데이터가 없습니다. 이 데이터는 공급업체 HAL에서 가져오기 때문입니다. 이 경우 getSupportedPerformancePoints()는 null을 반환합니다.