Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: hevc_FPS_changer

  1. #11
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.275

    Standard AW: hevc_FPS_changer

    Ich glaube, Du schaust Dir die falschen Bits an. Wenn Du etwas nach links/rechts schaust, paßt es. Jede Verschiebung um ein Bit im Binärsystem ist Multiplikation mit 2, darum immer diese Faktoren.

    80 40 00 00 FA C0 00 17 70 02 00 => 1000 0000 01[00 0000 0000 0000 0000 0000 1111 1010 11][00 0000 0000 0000 0001 0111 0111 0000 00]00 0010 0000 0000
    0000 0000 0000 0000 0000 0011 1110 1011 => 1003
    0000 0000 0000 0000 0101 1101 1100 0000 => 24000
    (je 32 bit für vui_num_units_in_tick und vui_time_scale)

    10 00 00 3E B0 00 05 DC 00 80 00 => 0001 [0000 0000 0000 0000 0000 0011 1110 1011] [0000 0000 0000 0000 0101 1101 1100 0000] 0000 1000 0000 0000 0000
    0000 0000 0000 0000 0000 0011 1110 1011 => 1003
    0000 0000 0000 0000 0101 1101 1100 0000 => 24000
    Geändert von sneaker2 (13. June 2017 um 00:36 Uhr)

  2. #12
    Kaiser
    Registriert seit
    5. December 2007
    Beiträge
    1.193

    Standard AW: hevc_FPS_changer

    ja ... das erklärt auch das "komische offset" für den Denominator

  3. #13
    Kaiser
    Registriert seit
    5. December 2007
    Beiträge
    1.193

    Standard AW: hevc_FPS_changer

    ... ich komm nicht weiter ...

    Das Problem ist das sps:vui:time_scale & sps:vui:num_units_in_tick nicht immer an der selben Stelle im SPS stehen ... Nichtmal der SPS hat eine feste Größe und kann variieren.
    Was soviel bedeutet wie: es müssen vorher noch einige andere Bit/Bytes analysiert werden um auf die tatsächliche Position im SPS zu kommen.
    FFMpeg hat in seiner Doku die Struktur zwar abgebildet, jedoch werde ich da nicht ganz schlau draus ...

    hevc_ps.c - Ab Zeile 538 ...

    Zeile 642: vui->vui_timing_info_present_flag = get_bits1(gb);
    Ok, ab hier wird's interessant, aber ich kann nicht erkennen wie dieses Flag "gefunden" wird.

    Ich bin nicht der CPP Programmierer (komme aus dem Java Umfeld) und benötige daher etwas Hilfe den Code zu verstehen

    Das Problem scheinen die Flags zu sein ...
    Klar, meine Test-Streams haben unterschiedliche Settings und somit sind natürlich auch andere Optionen ein bzw. ausgeschaltet.
    Doch schaut man sich den Code binär an, gibt es Verschiebungen um 2 und manchmal 4 Bits ... Was ein "Ortung" extrem schwierig macht !Das würde bedeuten, die Flags werden scheinbar nicht als int's sondern wohl als Bit's gespeichert ...
    Geändert von may24 (22. June 2017 um 22:17 Uhr)

  4. #14
    Kaiser
    Registriert seit
    6. July 2009
    Beiträge
    1.275

    Standard AW: hevc_FPS_changer

    https://cardinalpeak.com/blog/the-h-...parameter-set/
    https://en.wikipedia.org/wiki/Exponential-Golomb_coding

    Hilft das? Die Teile sind wie z.B. UTF-8 teilweise mit variabler Länge codiert.

Seite 2 von 2 ErsteErste 12

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •