Here's a virtually complete (omitting only the buffer size) compilation of all the ATSC A/52, ATSC A/53 and A/65 mandatory requirements for transmitting AC-3 streams. Those of you on my [PSIP List] have saw this litany over a month ago. To subscribe to that (very high signal to oise ratio) list, one can send an email to mailto:JohnWillkie@xxxxxxxxxxxxx (when I include the easy registration URL, freelists burps on the message.) I would note that I have yet to parse an ATSC transport stream with dynamic PSIP that meets all of these requirements; I know of many test & measurement systems that either don't discern these issues, or don't clearly label them. However, of the transport streams I have seen, Tribune's KSWB-DT San Diego comes the closest to compliance -- their errors are with langcod, the ISO_639 language descriptor and the length of the AC-3 descriptor. And, if folks are interested in a system that clearly indicates these and most other ATSC transport stream issues in a form that anyone can discern from across the room or across the world, I will be showing such a system -- EtherGuide Ferret ATSC-- to a select few at NAB next week, and to a wider audience starting the following week. EtherGuide Ferret is, I believe, a new product category: a real-time ATSC transport stream monitor and validator that also coverts PSIP into PMCP (ATSC A/76). John Willkie EtherGuide Systems --- The below is copyright 2006, by John M. Willkie. All Rights Reserved. Permission granted to redistribute the list, as long as no changes are made, and the entire list, including this message, is transmitted along with the list. 1. fscod / sample_rate_code = 0 (for 48khz) 2. frmsizecod / bit_rate_kbps <= 448 kbps 3. frmsizecode / bit_rate_kbps <=128 kbps for single channel audio services 4. frmsizecode / bit_rate_kbps <=192 kbps for two channel dialogue associated service 5. frmsizecode / bit_rate_kbps <= 576 kbps combined for main and associated audio services intended to be decoded simultaneously. 6. acmod >= 001 / num_channels >= 1, <= 13 7. stream_id must be equal to 189, signaling MPEG-2 private_stream_1 8. each audio service gets it's own packet id 9. each audio service is the sole user of it's packet id 10. if a program contains one or more audio services, at least one shall be a complete main (CM) service. 11. for each audio service, an AC-3 registration descriptor (ATSC A/52, annex A) must be in the ES_info loop of the PMT for that service. This descriptor shall be located nowhere else. 12. for each audio service, an AC-3 descriptor (ATSC A52, annex A) must be in the ES_info loop of the PMT for that service. For current events, this descriptor must match the mandatory AC-3 descriptor in the Event Information Table for the corresponding event. 13. The AC-3 descriptor may terminate at only one of two places. If there is no associated service, the descriptor may be terminated after full_svc, otherwise, the descriptor must be terminated immediately before textlen. 14. In the AC-3 descriptor, langcod is a reserved field and must be set to 255. 15. To signal the language of the stream, use the MPEG-2 ISO_639_descriptor. 16. If an ISO_639_descriptor is present in the ES_info loop, audio_type must be equal to zero. 17. The ISO_639_descriptor is mandatory if there are two or more elementary streams in the PMT with the same value of bsmod. 18. the bsmod value in the descriptor must match bsmod in the corresponding stream ---- ---------------------------------------------------------------------- You can UNSUBSCRIBE from the OpenDTV list in two ways: - Using the UNSUBSCRIBE command in your user configuration settings at FreeLists.org - By sending a message to: opendtv-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.