1. Cookies optimieren die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklärst Du dich damit einverstanden, dass wir Cookies verwenden. Weitere Informationen
    Information ausblenden
  2. Willkommen im Forum von DIGITAL FERNSEHEN - dem führenden Portal für digitales Fernsehen, Medien und Entertainment. Wenn du hier neu bist, schau dich ruhig etwas um und melde dich an, um am Forengeschehen teilnehmen zu können.
    Information ausblenden

CRC32 Berechnung im MPEG-TS in der PAT/PMT

Dieses Thema im Forum "Digitale Audio- und Videobearbeitung" wurde erstellt von NomexX, 3. Juni 2014.

  1. NomexX

    NomexX Neuling

    Registriert seit:
    28. Mai 2014
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Anzeige
    Hi

    ich bin gerade dabei mich mit dem Transportstrom zu beschäftigen.
    Einiges habe ich auch schon hin bekommen.
    Ich stehe aber schon seit Tagen vor dem problem, dass ich nicht weiß wie die CRC berechnet wird in der PAT bzw. PMT.

    Berechnung allgemein ist klar, kann man ja in Wikipedia nachlesen. Auch das Polynom ist klar mit dem wert: 4C11DB7
    Cyclic redundancy check - Wikipedia, the free encyclopedia

    Jetzt wird beispielsweise hier die PAT erklärt. Nur leider wird nicht viel zur CRC berechnung angegeben. TV & Engineering: PAT - satbroadcasts.com

    Wenn ich jetzt sämtliche Bytes nach der section_length eintippe und diese mit dem Polynom berechnen will komme ich auf diesen wert: 4E 22 D1 89

    aber es soll der Wert heraus kommen: 65 6C F5 BF

    [​IMG]

    Berechnen kann man sich den Wert z.B. hier: CRC calculation

    Vielleicht kann mir jemand helfen. Ich suche echt schon seit Tagen, wie ich es richtig berechnen kann.

    Vielen Dank :)
     
  2. TV_WW

    TV_WW Lexikon

    Registriert seit:
    10. Juli 2004
    Beiträge:
    20.232
    Zustimmungen:
    4.139
    Punkte für Erfolge:
    213
    AW: CRC32 Berechnung im MPEG-TS in der PAT/PMT

    CRC32 alleine besagt nur die Hälfte. Die Angabe von genutzem Generatorpolynom und Startwert ist ebenfalls von Bedeutung.
    Da können völlig unterschiedliche Ergebnisse herauskommen.
    Für normalsterbliche Nutzer ist das nicht von Bedeutung. Mit CRC32 können Übertragungsfehler lediglich erkannt werden, aber nicht korrigiert.
    Bei fehlerhaften Datenpaketen wird im Dekoder die Fehlerverdeckung genutzt.
     
    Zuletzt bearbeitet: 3. Juni 2014
  3. Rod Cor

    Rod Cor Gold Member

    Registriert seit:
    26. April 2005
    Beiträge:
    1.134
    Zustimmungen:
    139
    Punkte für Erfolge:
    73
    AW: CRC32 Berechnung im MPEG-TS in der PAT/PMT

    Laut ISO 13818-1 muss über die gesamte section berechnet werden. Section_length ist teil der section. Für die PAT gilt (ebenso analog für die PMT und andere sections):

     
  4. Robert Schlabbach

    Robert Schlabbach Talk-König

    Registriert seit:
    12. Juni 2003
    Beiträge:
    6.700
    Zustimmungen:
    165
    Punkte für Erfolge:
    73
    AW: CRC32 Berechnung im MPEG-TS in der PAT/PMT

    Macht man üblicherweise mit einer Tabelle. Dann vereinfacht sich die Überprüfung auf:

    Code:
    CRC32 = 0xFFFFFFFF;
    for (i = 0; i < Length; i++) {
     CRC32 = ((CRC32 <<  8) ^ CRC32DecoderTable[((CRC32 >> 24) ^ Buffer[i]) & 0xFF]);
    }
    if (CRC32) {
     // invalid CRC handling
    }
     
    Zuletzt bearbeitet: 4. Juni 2014