Codec multimediali
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
A partire da Android 10 (livello API 29) e versioni successive, esistono metodi in
MediaCodecInfo
che
rivelano maggiori informazioni su un codec:
isSoftwareOnly()
- Restituisce true se il codec viene eseguito solo nel software. I codec software non offrono
garanzie sulle prestazioni di rendering.
isHardwareAccelerated()
- Restituisce true se un codec è accelerato dall'hardware.
isVendor()
- Restituisce true se il codec è fornito dal fornitore del dispositivo o false se è fornito
dalla piattaforma Android.
isAlias()
MediaCodecList
può contenere voci aggiuntive per lo stesso codec sottostante
utilizzando nomi di codec alternativi (alias). Questo metodo restituisce true se il
codec in questa voce è un alias di un altro codec.
Inoltre,
MediaCodec.getCanonicalName()
restituisce il nome del codec sottostante per i codec creati tramite un alias.
Un punto di rendimento rappresenta la capacità di un codec di eseguire il rendering video a una specifica
altezza, larghezza e frequenza fotogrammi. Ad esempio, il punto di prestazioni UHD_60
rappresenta un video in ultra alta definizione (3840 x 2160 pixel) riprodotto a 60 frame
al secondo.
Il metodo
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
restituisce un elenco di
voci PerformancePoint
che il codec può eseguire il rendering o acquisire.
Puoi verificare se una determinata PerformancePoint
copre un'altra chiamando il numero
PerformancePoint.covers(PerformancePoint)
.
Ad esempio, UHD_60.covers(UHD_50)
restituisce vero.
Viene fornito un elenco di punti di rendimento per tutti i codec con accelerazione hardware.
Potrebbe trattarsi di un elenco vuoto se il codec non soddisfa nemmeno il punto di prestazioni standard più basso.
Tieni presente che i dispositivi di cui è stato eseguito l'upgrade ad Android 10 (livello API 29) e versioni successive senza
aggiornare l'immagine del fornitore non avranno dati sui punti di rendimento, perché questi
dati provengono dall'HAL del fornitore. In questo caso, getSupportedPerformancePoints()
restituisce un valore nullo.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-27 UTC."],[],[],null,["Beginning with Android 10 (API level 29) and higher, there are methods in\n[`MediaCodecInfo`](/reference/android/media/MediaCodecInfo) that\nreveal more information about a codec:\n\n[`isSoftwareOnly()`](/reference/android/media/MediaCodecInfo#isSoftwareOnly)\n: Returns true if the codec runs in software only. Software codecs make no\n guarantees about rendering performance.\n\n[`isHardwareAccelerated()`](/reference/android/media/MediaCodecInfo#isHardwareAccelerated)\n: Returns true if a codec is accelerated by hardware.\n\n[`isVendor()`](/reference/android/media/MediaCodecInfo#isVendor)\n: Returns true if the codec is provided by the device vendor or false if provided\n by the Android platform.\n\n[`isAlias()`](/reference/android/media/MediaCodecInfo#isAlias)\n: `MediaCodecList` may contain additional entries for the same underlying codec\n using an alternate codec name/s (alias/es). This method returns true if the\n codec in this entry is an alias for another codec.\n\nIn addition,\n[`MediaCodec.getCanonicalName()`](/reference/android/media/MediaCodecInfo#getCanonicalName)\nreturns the underlying codec name for codecs created via an alias.\n\nPerformance Points\n\nA *performance point* represents a codec's ability to render video at a specific\nheight, width and frame rate. For example, the `UHD_60` performance point\nrepresents Ultra High Definition video (3840x2160 pixels) rendered at 60 frames\nper second.\n\nThe method\n[`MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()`](/reference/android/media/MediaCodecInfo.VideoCapabilities#getSupportedPerformancePoints())\nreturns a list of\n[`PerformancePoint`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint)\nentries that the codec can render or capture.\n\nYou can check whether a given `PerformancePoint` covers another by calling\n[`PerformancePoint.covers(PerformancePoint)`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint#covers(android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint)).\nFor example, `UHD_60.covers(UHD_50)` returns true.\n\nA list of performance points is provided for all hardware-accelerated codecs.\nThis could be an empty list if the codec does not meet even the lowest standard\nperformance point.\n\nNote that devices which have been upgraded to Android 10 (API level 29) and higher without\nupdating the vendor image will not have performance point data, because this\ndata comes from the vendor HAL. In this case, `getSupportedPerformancePoints()`\nreturns null."]]