mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 00:22:57 -05:00
Ghost of Yotei (PPSA26344, v1.008, eboot 0x2e1cfc) creates an M4AAC instance (codec 2) and calls sceAjmBatchJobControl with flags 0x200000006000 (RESET | INITIALIZE | SIDEBAND_GAPLESS_DECODE), 8 bytes of gapless decode plus 8 bytes of M4AAC initialize parameters and an 8-byte result (#884); INITIALIZE for M4AAC threw on main. - INITIALIZE (control and sceAjmBatchJobInitialize) reads the 8-byte {config type (1 ADTS, 2 raw), sampling frequency index} block of shadPS4 ajm_aac.h at 443f0224; an invalid type or a raw index above 11 returns the invalid parameter result. Raw input is configured from the instance channels (0 is stereo) as in shadPS4 ajm_aac.cpp. - RUN decodes ADTS frames (length from the header) and raw access units (the whole input, as fdk-aac's raw transport) with FFmpeg's AAC decoder into the instance's S16, S32 or float PCM, with the framework's gapless, resampling, stream, format and multiple-frames sidebands. - Without ENABLE_NONDELAY_OUTPUT the first two frames after initialization or reset produce no output, as in shadPS4. A decoder error returns CODEC_ERROR | FATAL. The codec info is {heaac, reserved}; the format reports the last frame's bitrate with fdk-aac's formula. - Throws for what the sources do not settle: ADTS resynchronization, profiles other than AAC LC, several raw data blocks per frame, channel configurations other than 1, 2 and 6, more channels than the instance, HE-AAC without ENABLE_SBR_DECODE, raw input with RUN_MULTIPLE_FRAMES or several access units, a frame longer than the reserved room, and unknown codec flags. guest_ajm decodes an embedded 5-frame stereo ADTS fixture (two chirps, encoded by FFmpeg 6.1.1's aac encoder at 64 kbit/s) frame by frame, in one multiple-frames run, as float, as raw access units and with gapless trimming, and checks sample counts, format, codec info, the delay frames, RESET, partial input, missing room and the correlation of each channel with its input chirp at the 1024-sample encoder delay; plus the INITIALIZE validation results and the refusals. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>