PID Filterung bei Aufnahme

Allgemeines und Neues zum TF5x00PVR/Masterpiece/Black Panther/White Polar.
cms
Topfversteher
Topfversteher
Beiträge: 373
Registriert: Mi 14. Dez 2005, 17:12
Receivertyp: VDR, 5000MP
Receiverfirmware: 5.13.62 20070808
Wohnort: Rhein-Main

PID Filterung bei Aufnahme

#1

Beitrag von cms » Do 5. Jun 2008, 07:20

Es ist doch wohl so: Der Topf filtert bei der Aufnahme nur die wirklich relevanten PIDs. Ich entdecke also die PIDs Video, Audio, Teletext und auf Anweisung DVB Untertitel.

Ich würde mir jetzt gerne inmal einen kompletten (bzw. erweiterten) Transponder Stream mit dem Ziel ansehen, mit dvbsnoop einmal etwas über das Freetime EPG herauszufinden oder auch einmal Dinge wie die NIT zu sehen.

Das ist ja wohl tägliches Brot für die EPG Autoren, die bei einem Recorder Scan den Zugriff auf die vollen Daten haben.

Nur: Wie wird das gemacht?
Wie bekomme ich das ggfs einfach hin?
Oder unterliege ich hier einem Denkfehler?
Weiterführende Literatur?

Hier ist ein Beispiel, was ich in einer typischen Topfield TS Datei entdecke (dvbsnoop -s TS). Also es ist wohl irgendeine wohldefinierte Untermenge des Transponder Streams.

Code: Alles auswählen

PID: 0 (0x0000)  [= ISO 13818-1 Program Association Table (PAT)]
PID: 17 (0x0011)  [= DVB Service Description Table (SDT), Bouquet Association Ta
ble (BAT)]
PID: 192 (0x00c0)  [= ]
PID: 261 (0x0105)  [= ]
PID: 3886 (0x0f2e)  [= ]
PID: 4705 (0x1261)  [= ]
PID: 5000 (0x1388)  [= ]
PID: 5001 (0x1389)  [= ]
PID: 5002 (0x138a)  [= ]
PID: 5003 (0x138b)  [= ]
PID: 5004 (0x138c)  [= ]
ACL 3.16, 3PG 1.29, FastSkip
Panasonic TH-37PV71, Denon AVR-2307, Denon DVD-1730, Logitech Harmony 885, yaVDR 0.3

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

AW: PID Filterung bei Aufnahme

#2

Beitrag von Harvey » Do 5. Jun 2008, 11:16

Das wird wohl nur zu machen sein, wenn Du ein entsprechendes TAP schreibst.

Record-A-Mux ist OpenSource, sicherlich kann man davon was gebrauchen.
Gruss
Harvey

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 29057
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: PID Filterung bei Aufnahme

#3

Beitrag von FireBird » Do 5. Jun 2008, 11:41

Man kann zwei Bits (Bits 5 und 6 für Slot 0 und 1) in einem EMMA-Register (EMMA_TTSD_SR_CMD = 0xb000a400) setzen und schon landet der gesamte Transportstrom in der REC-Datei.

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

AW: PID Filterung bei Aufnahme

#4

Beitrag von Harvey » Do 5. Jun 2008, 13:24

Das macht die Sache latürnich sehr einfach.

Aber ich schreibe das TAP trotzdem nicht (oder zumindest nicht so bald).
Gruss
Harvey

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

AW: PID Filterung bei Aufnahme

#5

Beitrag von Harvey » Sa 14. Jun 2008, 17:30

Ich hätte ja gedacht, was könnt so einfach sein, isses aber nicht.

Code: Alles auswählen

dword TAP_EventHandler(word event, dword param1, dword param2)
{
}


int TAP_Main(void)
{
  dword* EMMA_TTSD_SR_CMD;
  EMMA_TTSD_SR_CMD = (dword*)0xb000a400;
  if ((*EMMA_TTSD_SR_CMD & 0x00000060) == 0)
    *EMMA_TTSD_SR_CMD |= 0x00000060;
  else
    *EMMA_TTSD_SR_CMD &= 0xffffff9f;
  return 0;
}
funzt nicht (jedenfalls ist PID 18 nicht dabei).
Gruss
Harvey

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 29057
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: PID Filterung bei Aufnahme

#6

Beitrag von FireBird » Sa 14. Jun 2008, 19:11

Der Code macht schon das richtige, aber der 18er wird schon früher über PID-Filter für die Topf-F/W abgefangen. Du musst also alle PID-Filter deaktivieren, z.B. so:

Code: Alles auswählen

int TAP_Main(void)
{
  dword* EMMA_TTSD_SR_CMD     = (dword*)0xb000a400;
  dword* EMMA_TTSD_PID_0      = (dword*)0xb000a038;
  dword* EMMA_TTSD_PID_47     = (dword*)0xb000a0f4;
  dword* EMMA_TTSD_PID_48     = (dword*)0xb000a640;
  dword* EMMA_TTSD_PID_EXT_47 = (dword*)0xb000a7bc;
  dword   *i;

  if ((*EMMA_TTSD_SR_CMD & 0x00000060) == 0)
  {
    for (i = EMMA_TTSD_PID_0; i <= EMMA_TTSD_PID_47; i++)
    {
      if ((*i & 0x1fff) == 18) *i = 0x00001fff;
    }

    for (i = EMMA_TTSD_PID_48; i <= EMMA_TTSD_PID_EXT_47; i++)
    {
      if ((*i & 0x1fff) == 18) *i = 0x00001fff;
    }

    *EMMA_TTSD_SR_CMD |= 0x00000060;
  }
  else
    *EMMA_TTSD_SR_CMD &= 0xffffff9f;
  return 0;
}
MfG. Alex

Antworten

Zurück zu „TF5x00PVR Allgemeines“