Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: ?: Why exist plus PIDs 0 and 1024 in /dev/ost/dvr with NAPI



Don't know about why PIDs 0 and 1024 are in there but a video packet begin
with 0x47 0x41 ... means to indicate the beginning of the video PES starting
from this transport packet.


Jacob
-----Original Message-----
From: Varga Zsager Peter [mailto:jagger@sch.bme.hu]
Sent: Monday, April 23, 2001 3:42 PM
To: linux-dvb@linuxtv.org
Subject: [linux-dvb] ?: Why exist plus PIDs 0 and 1024 in /dev/ost/dvr
with NAPI


Hi!


I have captured and recorded into a file from my Siemens DVB-S card. I
have used the NAPI with the /dev/ost/dvr device. I have seted only two
PIDs (audio and video) as can it be seeing in the follows:
   .
   .
   myAudioDmxPesFilterParams->pid            = 0x1f5; // 501
   myAudioDmxPesFilterParams->input          = DMX_IN_FRONTEND;
   myAudioDmxPesFilterParams->output         = DMX_OUT_TS_TAP;
   myAudioDmxPesFilterParams->pesType        = DMX_PES_AUDIO;
   myAudioDmxPesFilterParams->flags          = DMX_IMMEDIATE_START;
   if (ioctl(audioDemuxDevFd, DMX_SET_PES_FILTER, myAudioDmxPesFilterParams)
<
   .
   .
   myVideoDmxPesFilterParams->pid            = 0x1f4; // 500
   myVideoDmxPesFilterParams->input          = DMX_IN_FRONTEND;
   myVideoDmxPesFilterParams->output         = DMX_OUT_TS_TAP;
   myVideoDmxPesFilterParams->pesType        = DMX_PES_VIDEO;
   myVideoDmxPesFilterParams->flags          = DMX_IMMEDIATE_START;
   if (ioctl(videoDemuxDevFd, DMX_SET_PES_FILTER, myVideoDmxPesFilterParams)
   .
   .
I read from the dvr device and write it into a file. It is working fine.
But I don't understand, why get I two more PIDs in my capture file. This
shows the mpegtools/tspids application too:

   jagger@computer$ DVB/apps/mpegtools/tspids ~/Videos/recorded_napi_ts.mpg
   tspids
   Reading /home/jagger/VideoSamples/recorded_napi_ts.mpg
   0 1024 500 501
   jagger@computer$

I can it recognize in the capture file too (not the tspids application
make mistake), used the viewer in hexamode (and read the ISO/IEC 13818-1
documentation):

   File: base              Offset 0x000018f0  18055168 bytes      0%
   .
   .
   000018F0 93 0D 1A 34 x 68 D1 86 1A x 47 01 F4 30 x 17 00 FF FF <-
beginning of PID 500
   00001900 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF    TS
packet (OK)
   00001910 FF FF FF FF x 3C 68 D1 A3 x 36 1A 3C 68 x D1 A3 0C 34
   00001920 78 D1 A3 46 x 18 68 D1 A3 x 46 8C 30 D1 x E3 46 8D 18
   00001930 61 A3 C6 8D x 1A 30 C3 46 x 8D 1A 34 61 x 86 8F 1A 34
   00001940 68 C9 86 8F x 1A 34 68 CD x 86 8D 1A 34 x 68 C3 0D 1E
   00001950 34 68 D1 86 x 1A 34 68 D1 x A3 0C 34 78 x D1 A3 46 18
   00001960 68 F1 A3 46 x 8C 30 D1 E3 x 46 8D 18 66 x D1 A3 46 8D
   00001970 18 64 D1 A3 x 46 8D 18 61 x A3 46 8D 1A x 30 C3 47 8D
   00001980 1A 34 61 9B x 47 8D 1A 34 x 61 93 46 8D x 1A 34 61 86
   00001990 8D 1A 34 68 x C9 86 8D 1A x 34 68 CD 86 x 8D 1A 34 68
   000019A0 C3 0D 1A 34 x 68 D1 86 1A x 34 68 D1 A3 x 26 18 00 00
   000019B0 00 00 00 00 x 47 40 00 11 x 00 00 B0 11 x 00 00 CB 00 <-
beginning of PID 0
   000019C0 00 00 00 E0 x 10 00 01 E4 x 00 2A D6 1A x FB FF FF FF    TS
packet (?)
   000019D0 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   000019E0 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   000019F0 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001A00 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001A10 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001A20 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001A30 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001A40 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001A50 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001A60 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001A70 47 44 00 11 x 00 02 B0 1C x 00 01 CB 00 x 00 E0 A0 F0 <-
beginning of PID 1024
   00001A80 05 48 03 01 x 00 00 02 E1 x F4 F0 00 03 x E1 F5 F0 00    TS
packet (?)
   00001A90 AE EA 4E 48 x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001AA0 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001AB0 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001AC0 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001AD0 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001AE0 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001AF0 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001B00 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001B10 FF FF FF FF x FF FF FF FF x FF FF FF FF x FF FF FF FF
   00001B20 FF FF FF FF x FF FF FF FF x FF FF FF FF x 47 41 F4 11  <-
beginning of PID 500
   00001B30 00 00 01 E0 x 00 00 80 80 x 05 25 86 FF x 03 CB 00 00     TS
packet (OK),
   00001B40 01 B3 2D 02 x 40 23 24 9F x 23 82 10 20 x 20 26 20 26     but
why .. 47 41 F4 ..
   00001B50 2C 2C 2C 2C x 2C 2C 34 30 x 34 36 36 36 x 34 34 34 34     and
not .. 47 01 F4 .. ?
   00001B60 36 36 36 3A x 3A 3A 44 44 x 44 3A 3A 3A x 36 36 3A 3A
   00001B70 40 40 44 44 x 4A 4C 4A 46 x 46 44 46 4C x 4C 50 50 50
   00001B80 60 60 5C 5C x 70 70 74 8A x 8A A7 10 11 x 11 12 12 12
   00001B90 13 13 13 13 x 14 14 14 14 x 14 15 15 15 x 15 15 15 16
   .
   .

The PIDs 0 and 1024 have nothing information content only FF, why can it
be exist, and why start the PID 500 (video) TS packet after this whit 47
41 F$ and not 47 01 F4 (4X means the payload_unit_start_indicator)?


The Semantic definition of fields in Transport Stream packet layer is in
the MPEG-2 system standard (figure 2.4.3.3):

Syntax					No. of bits	Mnemonic
----------------------------------------------------------------
transport_packet(){
	sync_byte 8 bslbf
	transport_error_indicator	1		bslbf
	payload_unit_start_indicator	1		bslbf
	transport_priority		1		bslbf
	PID				13		uimsbf
	transport_scrambling_control	2		bslbf
	adaptation_field_control	2		bslbf
	continuity_counter		4		uimsbf
	if(adaptation_field_control=='10'\
	|| adaptation_field_control=='11'){
		adaptation_field()
	}
	if(adaptation_field_control=='01' \
	|| adaptation_field_control=='11') {
		for (i=0;i<N;i++){
			data_byte	8		bslbf
		}
	}
}



Is it problem of the NAPI or what is happening or what I dont understand?


regards,
Peter

=-=-=-=-=-=-=-=-=-=-=-=-=
Peter Varga Zsager
E-mail: jagger@sch.bme.hu



-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe
linux-dvb" as subject.



-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index