DV NTSC transmission over IEEE-1394!

DV NTSC transmission over IEEE-1394!

Post by Amja » Fri, 10 May 2002 14:28:01



I am writing a virtual subunit driver on Windows XP that transmits
NTSC DV stream using the services of 1394bus.sys.

I transmit an NTSC DV frame in 267 CIP frames as follows:
1) The first 250 CIP frames (488 bytes) carry the NTSC DV source
packets.
2) The next 17 CIP frames (8 bytes) are empty.
3) The first source packet of every CIP frame carries a valid
timestamp.
The above sequence repeats for every frame.

The above transmission is received by a subunit driver on Windows XP
(on another PC) that uses AVCStream.sys to receive the NTSC DV stream.
The DV data is received successfully but the results are not
consistent. Sometimes the DV frames arrive out of sync.

Is this a problem with timestamps or CIP packet insertion?

Thanks,
-Amjad

 
 
 

DV NTSC transmission over IEEE-1394!

Post by Jonathan Russ [MS » Fri, 10 May 2002 17:35:08


Hi Amjad,

Quote:> I am writing a virtual subunit driver on Windows XP that transmits
> NTSC DV stream using the services of 1394bus.sys....

This newsgroup is intended primarily for user mode questions pertaining to
kernel technologies.  You may receive more feedback if you post questions
pertaining to the development of device drivers in the following newsgroup:

   microsoft.public.development.device.drivers

Regards,
Jonathan

This posting is provided "AS IS" with no warranties, and confers no rights.

 
 
 

DV NTSC transmission over IEEE-1394!

Post by Maxim S. Shatski » Wed, 15 May 2002 10:06:56


Quote:> NTSC DV stream using the services of 1394bus.sys.

> I transmit an NTSC DV frame in 267 CIP frames as follows:
> 1) The first 250 CIP frames (488 bytes) carry the NTSC DV source
> packets.
> 2) The next 17 CIP frames (8 bytes) are empty.

NTSC DV pattern is other.

Each packet is 480 bytes - 120 quadlets, or, together with CIP, is 488
bytes.
The video frame is transmitted as:

 10 packets + null (CIP-only) packet + ( 15 packets + null packet ) *
16 = 120000 data bytes, or (including null packets) - 267 1394 isoch
frames (one packet is transferred per 1 1394 isoch frame).

1394 isoch frame is 1/8000 second, thus, the NTSC video frame is
transmitted in ~33.3ms, which gives us 30 NTSC video frames per
second.

The null frames are used to match 8KHz 1394 frequency to 30Hz NTSC
frequency, given the 120000 bytes picture size.

    Max