Códecs AJM
AJM descodifica ATRAC9, MP3, AAC de MPEG-4 y Opus. Cada instancia de códec conserva su propio estado, y un códec desconocido se rechaza en lugar de informarse como un éxito silencioso.
Notas del repositorio hasta el 10 de octubre de 2026
Códecs y formatos de muestra
El códec 0 es MP3, mediante minimp3. El códec 1 es ATRAC9. El códec 2 es AAC de MPEG-4, mediante FAAD2, para trabajos ADTS, raw y SAF. El códec 24 es Opus, mediante libopus. La salida de ATRAC9 puede ser 16 bits con signo, 32 bits con signo, float o planar. Se conservan la inicialización, la información del códec, los metadatos gapless, los recuentos de bytes del flujo, los recuentos de fotogramas descodificados y las bandas laterales del total de muestras.
Los trabajos pueden usar un búfer contiguo o un búfer dividido. El estado de la instancia es por descodificador, de modo que dos flujos no comparten una reserva de bits. La ruta heredada de libSceAudiodec usa el mismo backend para ATRAC9, MP3 y AAC después de sus propias llamadas de inicialización, creación, reinicio y borrado.
Audio de películas y vistas previas
La disposición ATRAC9 multicanal de PlayStation 5 observada se descodifica como flujos mono intercalados. El audio de las películas de Ghost of Yōtei empieza en el punto correcto gracias a esa disposición. Una pista háptica que lleva la película se temporiza con silencio. La vibración del mando no se sintetiza a partir de ella.
Las vistas previas de respaldo con base FSB se remuestrean a la mezcla de 48 kHz, reciben un fundido corto y se drenan una sola vez. No se mezclan en el grafo AudioOut en vivo salvo que PS5_AUDIO_FALLBACK_MIX=1, porque una segunda copia del mismo clip es un eco.
Licencias
ATRAC9, FAAD2, minimp3 y Opus son descodificadores de terceros. Sus licencias viajan en el directorio docs/licenses del repositorio y con la compilación portátil. El código propio del emulador sigue siendo GPL-3.0-or-later.
Un número de códec fuera de los cuatro valores implementados es un error. Devolver un búfer de ceros y un código de éxito dejaría que un título creyera que el flujo se había descodificado.
Qué está implementado
- ATRAC9, MP3, AAC de MPEG-4 y Opus, con estado de descodificador por instancia.
- Salida de ATRAC9 como PCM de 16 bits con signo, de 32 bits con signo, float o planar.
- Metadatos gapless y de bandas laterales, y búferes de entrada contiguos y divididos.
- El backend compartido detrás de libSceAudiodec.
Qué falta todavía
- Los números de códec AJM desconocidos se rechazan.
- Las pistas hápticas permanecen en silencio. La vibración no se emula a partir de ellas.
- La mezcla de las vistas previas de respaldo está apagada salvo que PS5_AUDIO_FALLBACK_MIX=1.
Mecanismos relacionados
Qué describen estas páginas