Rudy Zijlstra wrote:
Stuart, Daniel,

DVB has added the following service types which would be interesting to support in MythTv:

- 0x11 - MPEG2 HD Television Service
- 0x16 - Advanced Codec SD Television service
- 0x19 - Advanced Codec HD Television service

For Radio were added:
- 0x0A - Advanced Codec digital radio sound service

For TV any DVB reference to Advanced Codec must be read as a reference to H.264.

In Europe SAT broadcasts using type 0x19 have started (at least on Astra 19.2). It would be interesting to experiment with them.


Cheers,


Rudy

Looking at some code, i suspect the only changes needed are those listed below:

793         // The stream type can be detected in two ways:
794         // - by stream type field in PMT, if known
795         // - by a descriptor
796         switch (e.Orig_Type)
797         {
798             case 0x01:
799                 e.Type = ES_TYPE_VIDEO_MPEG1;
800                 break;
801             case 0x80:  // OpenCable Mpeg2
802             case 0x02:  // DVB/ATSC Mpeg2
                   case 0x11:  // DVB MPEG2 HD
803                 e.Type = ES_TYPE_VIDEO_MPEG2;
804                 break;
805             case 0x03:
806                 e.Type = ES_TYPE_AUDIO_MPEG1;
807                 break;
808             case 0x04:
809                 e.Type = ES_TYPE_AUDIO_MPEG2;
810                 break;
811             case 0x08:
812             case 0x0B:
813                 e.Type = ES_TYPE_DATA;
814                 break;
                   case 0x0A: // DVB Advanced Codec digital radio sound service
815             case 0x0F:
816                 e.Type = ES_TYPE_AUDIO_AAC;
817                 break;
                   case 0x16:  // DVB H.264 SD TV
                   case 0x19:  // DVB H.264 HD TV
                        e.Type = ES_TYPE_VIDEO_H264;
                        break;
818             case 0x81:
819                 // Where ATSC Puts the AC3 Descriptor
820                 e.Type = ES_TYPE_AUDIO_AC3;
821                 break;
822
823         }


Followed by:

891         switch (e.Type)
892         {
893             case ES_TYPE_VIDEO_MPEG1:
894                 e.Description = QString("MPEG-1 Video");
895                 p.hasVideo = true;
896                 break;
897             case ES_TYPE_VIDEO_MPEG2:
898                 e.Description = QString("MPEG-2 Video");
899                 p.hasVideo = true;
900                 break;
                   case ES_TYPE_VIDEO_H264;
                        e.Description = QString("MPEG4 H.264 Video");
                        p.hasVideo = true;
                        break;
901             case ES_TYPE_AUDIO_MPEG1:
902                 e.Description = QString("MPEG-1 Audio");
903                 p.hasAudio = true;
904                 break;
905             case ES_TYPE_AUDIO_MPEG2:
906                 e.Description = QString("MPEG-2 Audio");
907                 p.hasAudio = true;
908                 break;
909             case ES_TYPE_AUDIO_AC3:
910                 e.Description = QString("AC3 Audio");
911                 p.hasAudio = true;
912                 break;
913             case ES_TYPE_AUDIO_DTS:
914                 e.Description = QString("DTS Audio");
915                 p.hasAudio = true;
916                 break;
917             case ES_TYPE_AUDIO_AAC:
918                 e.Description = QString("AAC Audio");
919                 p.hasAudio = true;
920                 break;
921             case ES_TYPE_TELETEXT:
922                 e.Description = QString("Teletext");
923                 break;
924             case ES_TYPE_SUBTITLE:
925                 e.Description = QString("Subtitle");
926                 break;
927             case ES_TYPE_DATA:
928                 e.Description = QString("Data");
929                 break;
930             default:
931                 e.Description = QString("Unknown type: %1").arg(e.Orig_Type);
932                 break;
933         }

I've started ordering components to build a test system. Considering the usage pattern in the home, i cannot afford to disturb the production mythtv... Would greatly lower the FAF!
So this change is without any testing.

some remarks:
- the ES_TYPE_VIDEO_MPEG4 type is a funny one because of the MPEG4 standard. H.264 is part 10 of the MPEG4 standard. It might be interesting to subdivide all the different parts into their own type definition.
- DVB uses the term Advanced Codec in the (draft versions) of the standard. It always refers to H.264.
- These added type definitions were taken from the latest DVB meeting, and are unlikely to change. Also because broadcast using them has started.
- I've not added the NVOD service type definitions.

Cheers,


Rudy
_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to