descriptor.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /*
  2. * section and descriptor parser
  3. *
  4. * Copyright (C) 2005 Kenneth Aafloy (kenneth@linuxtv.org)
  5. * Copyright (C) 2005 Andrew de Quincey (adq_dvb@lidskialf.net)
  6. *
  7. * This library is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Lesser General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2.1 of the License, or (at your option) any later version.
  11. *
  12. * This library is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with this library; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  20. */
  21. #ifndef _UCSI_MPEG_DESCRIPTOR_H
  22. #define _UCSI_MPEG_DESCRIPTOR_H 1
  23. #ifdef __cplusplus
  24. extern "C"
  25. {
  26. #endif
  27. #include <libucsi/mpeg/mpeg4_audio_descriptor.h>
  28. #include <libucsi/mpeg/mpeg4_video_descriptor.h>
  29. #include <libucsi/mpeg/audio_stream_descriptor.h>
  30. #include <libucsi/mpeg/ca_descriptor.h>
  31. #include <libucsi/mpeg/content_labelling_descriptor.h>
  32. #include <libucsi/mpeg/copyright_descriptor.h>
  33. #include <libucsi/mpeg/data_stream_alignment_descriptor.h>
  34. #include <libucsi/mpeg/external_es_id_descriptor.h>
  35. #include <libucsi/mpeg/fmc_descriptor.h>
  36. #include <libucsi/mpeg/fmxbuffer_size_descriptor.h>
  37. #include <libucsi/mpeg/hierarchy_descriptor.h>
  38. #include <libucsi/mpeg/ibp_descriptor.h>
  39. #include <libucsi/mpeg/iod_descriptor.h>
  40. #include <libucsi/mpeg/iso_639_language_descriptor.h>
  41. #include <libucsi/mpeg/maximum_bitrate_descriptor.h>
  42. #include <libucsi/mpeg/metadata_descriptor.h>
  43. #include <libucsi/mpeg/metadata_pointer_descriptor.h>
  44. #include <libucsi/mpeg/metadata_std_descriptor.h>
  45. #include <libucsi/mpeg/multiplex_buffer_descriptor.h>
  46. #include <libucsi/mpeg/multiplex_buffer_utilization_descriptor.h>
  47. #include <libucsi/mpeg/muxcode_descriptor.h>
  48. #include <libucsi/mpeg/private_data_indicator_descriptor.h>
  49. #include <libucsi/mpeg/registration_descriptor.h>
  50. #include <libucsi/mpeg/sl_descriptor.h>
  51. #include <libucsi/mpeg/smoothing_buffer_descriptor.h>
  52. #include <libucsi/mpeg/std_descriptor.h>
  53. #include <libucsi/mpeg/system_clock_descriptor.h>
  54. #include <libucsi/mpeg/target_background_grid_descriptor.h>
  55. #include <libucsi/mpeg/video_stream_descriptor.h>
  56. #include <libucsi/mpeg/video_window_descriptor.h>
  57. #include <libucsi/endianops.h>
  58. /**
  59. * Enumeration of MPEG descriptor tags.
  60. */
  61. enum mpeg_descriptor_tag {
  62. dtag_mpeg_video_stream = 0x02,
  63. dtag_mpeg_audio_stream = 0x03,
  64. dtag_mpeg_hierarchy = 0x04,
  65. dtag_mpeg_registration = 0x05,
  66. dtag_mpeg_data_stream_alignment = 0x06,
  67. dtag_mpeg_target_background_grid = 0x07,
  68. dtag_mpeg_video_window = 0x08,
  69. dtag_mpeg_ca = 0x09,
  70. dtag_mpeg_iso_639_language = 0x0a,
  71. dtag_mpeg_system_clock = 0x0b,
  72. dtag_mpeg_multiplex_buffer_utilization = 0x0c,
  73. dtag_mpeg_copyright = 0x0d,
  74. dtag_mpeg_maximum_bitrate = 0x0e,
  75. dtag_mpeg_private_data_indicator = 0x0f,
  76. dtag_mpeg_smoothing_buffer = 0x10,
  77. dtag_mpeg_std = 0x11,
  78. dtag_mpeg_ibp = 0x12,
  79. dtag_mpeg_4_video = 0x1b,
  80. dtag_mpeg_4_audio = 0x1c,
  81. dtag_mpeg_iod = 0x1d,
  82. dtag_mpeg_sl = 0x1e,
  83. dtag_mpeg_fmc = 0x1f,
  84. dtag_mpeg_external_es_id = 0x20,
  85. dtag_mpeg_muxcode = 0x21,
  86. dtag_mpeg_fmxbuffer_size = 0x22,
  87. dtag_mpeg_multiplex_buffer = 0x23,
  88. dtag_mpeg_content_labelling = 0x24,
  89. dtag_mpeg_metadata_pointer = 0x25,
  90. dtag_mpeg_metadata = 0x26,
  91. dtag_mpeg_metadata_std = 0x27,
  92. };
  93. #ifdef __cplusplus
  94. }
  95. #endif
  96. #endif