H264 NALE de l'unité de préfixes

J'ai besoin de quelques éclaircissements sur H264 NALE de l'unité de séparateur de préfixes (00 00 00 01 et 00 00 01), je suis en utilisant Intel Media SDK pour générer un H264 et emballer dans du RTP. Le problème est que jusqu'à présent j'étais à la recherche que pour 00 00 00 01 comme une unité de séparateur et, fondamentalement, n'a pu trouver que l'AUD,le SPS,PPS et SEI unités dans le flux binaire. En regardant la mémoire, j'ai vu qu'après le SEI il y avait une séquence d'octets 00 00 01 25 qui pourrait être le début d'une IDR unité, mais mon algorithme de recherche n'a pas détecté parce qu'il manque un zéro octet. Quelqu'un peut-il préciser la différence entre 00 00 00 01 et 00 00 01 préfixes? En regardant Chrome code il semble que la première unité ainsi que l'AUD, le SPS, PPS, et SEI ont un zéro supplémentaire:

if (first_nal_in_this_access_unit ||
    IsAccessUnitBoundaryNal(nal_unit_type)) {
    output_size += 1;  //Extra zero_byte for these nal units
    first_nal_in_this_access_unit = false;
}

...

static bool IsAccessUnitBoundaryNal(int nal_unit_type) {
    //Check if this packet marks access unit boundary by checking the
    //packet type.
    if (nal_unit_type == 6 ||  //Supplemental enhancement information
        nal_unit_type == 7 ||  //Picture parameter set
        nal_unit_type == 8 ||  //Sequence parameter set
        nal_unit_type == 9 ||  //Access unit delimiter
        (nal_unit_type >= 14 && nal_unit_type <= 18)) {  //Reserved types
            return true;
        }
    return false;
}

1) je suppose que je devrais regarder pour les deux préfixes, mais alors je comprends que j'ai besoin de vérifier le type de la prochaine NALE de l'unité afin de connaître la longueur de l'actuel (à savoir si le préfixe est de 3 ou 4 octets et ne consomme pas de zéro octet qui pourrait être la fin d'une précédente NALE de l'unité que le préfixe).

2) Sont PPS, SPS, et SEI tailles fixes? Si je pouvais passer à la fin de l'unité lors de la recherche de la prochaine préfixe.

J'espère que quelqu'un qui a eu le plus d'expérience avec ce peut formuler des observations sur les questions ci-dessus.

OriginalL'auteur Rudolfs Bundulis | 2014-05-07