본문으로 건너뛰기
PS5PCEM
부분오디오와 비디오

AJM 코덱

AJM은 ATRAC9, MP3, MPEG-4 AAC, Opus를 디코딩합니다. 각 코덱 인스턴스는 자기 상태를 유지하며, 알 수 없는 코덱은 무음 성공으로 보고하지 않고 거부합니다.

2026년 10월 10일까지의 저장소 노트

코덱과 샘플 형식

코덱 0은 minimp3를 쓰는 MP3입니다. 코덱 1은 ATRAC9입니다. 코덱 2는 FAAD2를 쓰는 MPEG-4 AAC로, ADTS, 원시, SAF 작업을 처리합니다. 코덱 24는 libopus를 쓰는 Opus입니다. ATRAC9 출력은 부호 있는 16비트, 부호 있는 32비트, float, 평면형이 가능합니다. 초기화, 코덱 정보, 갭리스 메타데이터, 스트림 바이트 수, 디코딩된 프레임 수, 전체 샘플 사이드밴드를 보존합니다.

작업은 연속 버퍼나 분할 버퍼를 쓸 수 있습니다. 인스턴스 상태는 디코더별이므로 두 스트림이 비트 저장소를 공유하지 않습니다. 레거시 libSceAudiodec 경로는 자체 초기화, 생성, 재설정, 삭제 호출 뒤 ATRAC9, MP3, AAC에 같은 백엔드를 사용합니다.

영상 오디오와 미리보기

관찰된 PlayStation 5 다채널 ATRAC9 레이아웃은 인터리브된 모노 스트림으로 디코딩됩니다. 이 레이아웃 덕분에 Ghost of Yōtei의 영상 오디오가 올바른 지점에서 시작합니다. 영상에 실린 햅틱 트랙은 무음으로 시간만 맞춥니다. 거기서 컨트롤러 진동을 합성하지는 않습니다.

FSB 기반 대체 미리보기는 48 kHz 믹스로 리샘플링되고, 짧은 페이드가 적용되며, 한 번 비워집니다. PS5_AUDIO_FALLBACK_MIX=1이 아니면 실행 중인 AudioOut 그래프에 섞지 않습니다. 같은 클립의 두 번째 사본은 메아리이기 때문입니다.

라이선스

ATRAC9, FAAD2, minimp3, Opus는 서드파티 디코더입니다. 해당 라이선스는 저장소의 docs/licenses 디렉터리와 포터블 빌드에 함께 들어 있습니다. 에뮬레이터 자체 코드는 GPL-3.0-or-later입니다.

구현된 네 값 밖의 코덱 번호는 오류입니다. 0으로 채운 버퍼와 성공 코드를 반환하면 타이틀이 스트림이 디코딩되었다고 믿게 됩니다.

구현된 것

  • 인스턴스별 디코더 상태를 갖춘 ATRAC9, MP3, MPEG-4 AAC, Opus.
  • 부호 있는 16비트, 부호 있는 32비트, float, 평면형 PCM으로의 ATRAC9 출력.
  • 갭리스·사이드밴드 메타데이터, 연속·분할 입력 버퍼.
  • libSceAudiodec 뒤의 공유 백엔드.

아직 빠진 것

  • 알 수 없는 AJM 코덱 번호는 거부됩니다.
  • 햅틱 트랙은 무음입니다. 거기서 진동을 에뮬레이션하지 않습니다.
  • 대체 미리보기 믹싱은 PS5_AUDIO_FALLBACK_MIX=1이 아니면 꺼져 있습니다.

관련 메커니즘

이 페이지들에 대하여

본문은 PS5PCEM 저장소의 아키텍처 노트와 2026년 10월 보고서를 따릅니다. 특정 테스트를 통과했다고 해서 새로운 프레임 속도나 새로운 완주를 뜻하지는 않습니다.

모든 기술