Wie schnell den Framecount eines H.264 raw streams ermitteln?

  • Ich habe da ein kurioses Problemchen. :)


    Mir ist aufgefallen, dass ich den FrameCounter noch gar nicht für HEVC erweitert hatte, jedoch habe ich einen alten Code-Schnipsel, den ich nie committed hatte, in den RecoveryDaten einer kaputten Platte gefunden:

    Schon mal schön ist, dass der Code auf ein paar H.265 raw files rauswerfe immer anscheinend die richtige Frameanzahl rauswirft.


    Frage ist nur warum. :)

    Finde spontan nichts im Netz was rechtfertigt warum ich:

    a. nach '0x00000100' suche als Anfang einer nul unit

    b. nur type 1 und 19 nal units zähle.


    -> Sieht da irgendwer warum das Sinn macht was ich da tue?


    Cu Selur

  • Das witzige ist, dass der Code vom Style her, sehr unterschiedlich ist von dem den ich sonst geschrieben habe im FrameCounter. (hab ich mal im Urlaub irgendwann in Bus&Bahn zusammengeschrieben)

    Der Code an sich ist auch klar, normalerweise schreib ich mir immer die NAL Unit types&Co dran.

    Hab mir definitiv damals mal den x265 und x264 und den HM Sourcecode angeschaut, nur finde ich momentan einfach keine Rechtfertigun:


    " 0x00, 0x00, 0x00, 0x01" ist die Startsequenz, dann kommt ein Forbidden bit und dann kommt eigentlich ein 6bit NAL Unit Typ und da ist mir dann nicht mehr klar warum ich:

    a. als Start "0x00, 0x00, 0x00, 0x01, 0x00" verwende

    b. ich mir nur den Anfang des NAL Unit Typ angucke,...
    bin mir ziemlich sicher ich übersehe irgendwo nur ein bit oder so bei der Betrachtung momentan und dass dann alles klar wird. *gig*

    Will mir vor allem bevor ich mich drann mache, den Code umzuschreiben, so dass da nicht byte für byte alles eingelesen wird, sondern in größeren chunks ich mir sicher bin, dass das Sinn macht was ich mir da mal zusammengeschrieben habe. ;)


    Cu Selur