Cmvideoorammatdescriptioncreatefromh264Parametersets Problemi
Domanda
Ho provato a creare CMVideoFormatDescriptionRef
con CMVideoFormatDescriptionCreateFromH264ParameterSets
ma non riesce con -12712 errore (che non sembra essere definito in nessuna intestazione)
Ho preso il mio SPS e PPS da un Atomo avcC
di un file MOV (creato da un app per fotocamera iPhone):
61 76 63 43 01 64 00 29 FF E1 00 10 67 64 00 29 AC 56 80 78 02 27 E5 9A 80
80 80 81 01 00 05 28 EE 04 F2 C0
.
SPS sembra essere: 67 64 00 29 AC 56 80 78 02 27 E5 9A 80 80 80 81
... e il PPS: 28 EE 04 F2 C0
Ho preceduto SPS e PPS con le loro lunghezze di 4 byte (hanno provato anche lunghezze 1-byte e 2 byte con gli stessi risultati) e ha rilasciato la chiamata del genere:
uint8_t sps[] = {0x00, 0x00, 0x00, 0x10, 0x67, 0x64, 0x00, 0x29, 0xAC, 0x56, 0x80, 0x78, 0x02, 0x27, 0xE5, 0x9A, 0x80, 0x80, 0x80, 0x81};
uint8_t pps[] = {0x00, 0x00, 0x00, 0x05, 0x28, 0xEE, 0x04, 0xF2, 0xC0};
uint8_t* props[] = {sps, pps};
size_t sizes[] = {0x14, 0x09}; // sizes include the 4-byte length
CMVideoFormatDescriptionRef formatDesc;
OSStatus formatCreateResult = CMVideoFormatDescriptionCreateFromH264ParameterSets(NULL, 2, props, sizes, 4, &formatDesc);
.
ottengo -12712 come risultato ogni singola volta (ha provato SPS / PPS da diversi file e flussi).
Hai idea di cosa faccio male?(Il codice è stato controllato su XCode6-Beta4 su Simulator).Preferirei evitare di analizzare SPS e PPS da solo e usare Plain CMVideoOfformatDestionCreate: -)
Soluzione
Non includere la dimensione di 4 byte.Nei carichi utili SPS / PPS, né i valori delle dimensioni.
Altri suggerimenti
Ho googled per te; -)
Controlla questo codice di cromo
E questa risposta su H.264 SPS / PPS NALU
Possibili posizioni perSequenza / set di parametri figura / i per flusso H.264