Aller au contenu
PS5PCEM
PartielAudio et vidéo

Codecs AJM

AJM décode ATRAC9, MP3, MPEG-4 AAC et Opus. Chaque instance de codec conserve son propre état, et un codec inconnu est rejeté au lieu d'être annoncé comme un succès silencieux.

Notes du dépôt jusqu’au 10 octobre 2026

Codecs et formats d'échantillons

Le codec 0 est MP3, par minimp3. Le codec 1 est ATRAC9. Le codec 2 est MPEG-4 AAC, par FAAD2, pour les travaux ADTS, bruts et SAF. Le codec 24 est Opus, par libopus. La sortie ATRAC9 peut être du 16 bits signé, du 32 bits signé, du flottant, ou du planaire. L'initialisation, les informations de codec, les métadonnées gapless, les comptes d'octets de flux, les comptes de trames décodées et les bandes latérales du total d'échantillons sont préservés.

Les travaux peuvent utiliser un tampon contigu ou un tampon scindé. L'état d'instance est propre à chaque décodeur, de sorte que deux flux ne partagent pas un réservoir de bits. Le chemin hérité libSceAudiodec utilise le même backend pour ATRAC9, MP3 et AAC après ses propres appels d'init, de création, de réinitialisation et de suppression.

Audio des films et aperçus

La disposition ATRAC9 multicanal PlayStation 5 observée est décodée comme des flux mono entrelacés. L'audio du film de Ghost of Yōtei commence au bon endroit grâce à cette disposition. Une piste haptique portée par le film est cadencée en silence. La vibration de la manette n'est pas synthétisée à partir d'elle.

Les aperçus de repli adossés à FSB sont rééchantillonnés vers le mix à 48 kHz, munis d'un court fondu, puis vidés une seule fois. Ils ne sont pas mélangés au graphe AudioOut en cours, sauf si PS5_AUDIO_FALLBACK_MIX=1, parce qu'une seconde copie du même extrait est un écho.

Licences

ATRAC9, FAAD2, minimp3 et Opus sont des décodeurs tiers. Leurs licences sont livrées dans le répertoire docs/licenses du dépôt et avec le build portable. Le code propre de l'émulateur reste GPL-3.0-or-later.

Un numéro de codec en dehors des quatre valeurs implémentées est une erreur. Renvoyer un tampon de zéros et un code de succès ferait croire à un titre que le flux a été décodé.

Ce qui est en place

  • ATRAC9, MP3, MPEG-4 AAC et Opus, avec un état de décodeur par instance.
  • Sortie ATRAC9 en PCM 16 bits signé, 32 bits signé, flottant ou planaire.
  • Métadonnées gapless et de bandes latérales, tampons d'entrée contigus et scindés.
  • Le backend partagé derrière libSceAudiodec.

Ce qui manque encore

  • Les numéros de codec AJM inconnus sont rejetés.
  • Les pistes haptiques restent silencieuses. La vibration n'est pas émulée à partir d'elles.
  • Le mixage des aperçus de repli est éteint, sauf si PS5_AUDIO_FALLBACK_MIX=1.

Mécanismes liés

Ce que ces pages décrivent

Le texte suit les notes d’architecture et les rapports d’octobre 2026 du dépôt PS5PCEM. Un test ciblé qui passe n’est ni une nouvelle cadence d’images ni une nouvelle partie terminée.

Toutes les technologies