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

RE: Hepl required regarding the PAT table



 

Hi Vinay:

 

This is the typical MPEG-2 Systems way to indicate that the length is not explicitly specified in the syntax. However, it can be easily inferred that this loop cannot take more than (section_length - 9) bytes. (9 = 5 bytes after the  section_length field + 4 bytes of CRC at the bottom of the section). The section length cannot exceed 1021 bytes so this further constrains the number of iterations (no more than (1021-9) / 4 = 253 programs can be listed in the section ). So, N <= 253.

 

 

While I am at it, I will encourage you to buy the following book (I am one of the authors). It includes a nice intro to MPEG-2 systems where all this kind of stuff is already resolved for you.

The title is:

Data Broadcasting: Understanding the ATSC Data Broadcast Standard

 

 

http://www.amazon.com/exec/obidos/tg/detail/-/0071375902/qid=1079602791/sr=1-2/ref=sr_1_2/102-4421880-4066506?v=glance&s=books

 

 

Kind regards,

 

Regis.

 

 

================================================

Regis J. Crinon, Ph.D.

Lead Program Manager, Core Media Processing Technologies

Windows Digital Media Division

Microsoft Corporation

One Microsoft Way

Building 50 - Office 3509

Redmond WA 98052-6399

USA

Tel: 425-707-3475

Fax: 425-936-7329

================================================

 

 

 

-----Original Message-----
From: owner-ip-dvb@erg.abdn.ac.uk [mailto:owner-ip-dvb@erg.abdn.ac.uk] On Behalf Of Vinay S.
Sent: Thursday, March 18, 2004 1:05 AM
To: ip-dvb@erg.abdn.ac.uk
Subject: Hepl required regarding the PAT table

 

 

hi

 

 I m a newbie to DVB-RCS.While trying to get the Program map PIDs, for the

different programs,from the PAT table,

a variable N is presented in the standard, saying that so many program

channels are present.But, I have not found any place/hint

indicating what this variable n might be? The exact context is given

below.(marked by the Arrow)

 

program_association_table

program_association_section()

{

      table_id 8 uimsbf

      section_syntax_indicator 1 bslbf

      '0' 1 bslbf

      reserved 2 bslbf

      section_length 12 uimsbf

      transport_stream_id 16 uimsbf

      reserved 2 bslbf

      version_number 5 uimsbf

      current_next_indicator 1 bslbf

      section_number 8 uimsbf

      last_section_number 8 uimsbf

 

      for (i = 0; i < N; i++)  -------------------->what is the value of N?

      {

            program_number 16 uimsbf

            reserved 3 bslbf

            if (program_number = = '0')

            {

                  network_PID 13 uimsbf

            }

            else

            {

            program_map_PID 13 uimsbf

            }

      }

CRC_32 32 rpchof

}

 

 

with warm regards,

Vinay.S