Mercurial > mplayer.hg
annotate stream/frequencies.h @ 27518:e54c9b7eb0d8
Revert bad changes to SSA/ASS subtitle packet format
The following commits are reverted partially or completely:
"a valid ASS line contains 9 ',' before actual text"
"demux_mkv: output correctly formated ASS packets"
"libass: add a new ass_process_data() to process demuxed subtitle packets"
These commits converted the internal representation of SSA/ASS
subtitle packets from the format used by Matroska to a custom format
where each packet has contents exactly matching one line in complete
SSA script files. AFAIK no files natively use such a format for muxed
subtitles. The stated reason for this change was to use a format that
could in principle be muxed into a maximal number of containers. SSA
subtitles do not have an implicit duration so both start time and
duration or end time need to be specified explicitly; the new format
moved timing information inside the codec packet data so it could be
muxed without modification into containers that can represent only
start time at the container level. However such a change is wrong from
the viewpoint of program architecture. Timing information belongs to
the demuxer level, but these commits moved not only the duration but
also the authoritative value of the start time to inside the codec
data. Additionally the new format lost the value of the Matroska
ReadOrder field which is used by MPlayer.
This commit changes the internal packet format back to that used by
Matroska and makes the internal Matroska demuxer output that format
again. Libavformat still outputs the "new" format; it could be
converted back to the Matroska format in demux_lavf.c, but I'm not
adding that code at least yet. The current lavf code has similar
problems as the reverted code in MPlayer, and it also currently fails
to provide any way to access the value of the ReadOrder field. I hope
that the lavf side will be improved; if it isn't conversion can be
added later. For now I'll make MPlayer default to the internal Matroska
demuxer instead of the lavf one in a separate commit.
author | uau |
---|---|
date | Mon, 08 Sep 2008 21:26:22 +0000 |
parents | 4129c8cfa742 |
children | 0f1b5b68af32 |
rev | line source |
---|---|
2933 | 1 /* |
2 * Worldwide channel/frequency list | |
3 * | |
4 * Nathan Laredo (laredo@broked.net) | |
5 * | |
6 * Frequencies are given in kHz | |
7 */ | |
25553
6ac1ece1f9fe
Add multiple inclusion guards to all header files that lack them.
diego
parents:
19271
diff
changeset
|
8 |
26029 | 9 #ifndef MPLAYER_FREQUENCIES_H |
10 #define MPLAYER_FREQUENCIES_H | |
25553
6ac1ece1f9fe
Add multiple inclusion guards to all header files that lack them.
diego
parents:
19271
diff
changeset
|
11 |
2933 | 12 #define NTSC_AUDIO_CARRIER 4500 |
13 #define PAL_AUDIO_CARRIER_I 6000 | |
14 #define PAL_AUDIO_CARRIER_BGHN 5500 | |
15 #define PAL_AUDIO_CARRIER_MN 4500 | |
16 #define PAL_AUDIO_CARRIER_D 6500 | |
17 #define SEACAM_AUDIO_DKK1L 6500 | |
18 #define SEACAM_AUDIO_BG 5500 | |
19 /* NICAM 728 32-kHz, 14-bit digital stereo audio is transmitted in 1ms frames | |
20 containing 8 bits frame sync, 5 bits control, 11 bits additional data, and | |
21 704 bits audio data. The bit rate is reduced by transmitting only 10 bits | |
22 plus parity of each 14 bit sample, the largest sample in a frame determines | |
23 which 10 bits are transmitted. The parity bits for audio samples also | |
24 specify the scaling factor used for that channel during that frame. The | |
25 companeded audio data is interleaved to reduce the influence of dropouts | |
26 and the whole frame except for sync bits is scrambled for spectrum shaping. | |
27 Data is modulated using QPSK, at below following subcarrier freqs */ | |
28 #define NICAM728_PAL_BGH 5850 | |
29 #define NICAM728_PAL_I 6552 | |
30 | |
31 /* COMPREHENSIVE LIST OF FORMAT BY COUNTRY | |
32 (M) NTSC used in: | |
33 Antigua, Aruba, Bahamas, Barbados, Belize, Bermuda, Bolivia, Burma, | |
34 Canada, Chile, Colombia, Costa Rica, Cuba, Curacao, Dominican Republic, | |
35 Ecuador, El Salvador, Guam Guatemala, Honduras, Jamaica, Japan, | |
36 South Korea, Mexico, Montserrat, Myanmar, Nicaragua, Panama, Peru, | |
37 Philippines, Puerto Rico, St Christopher and Nevis, Samoa, Suriname, | |
38 Taiwan, Trinidad/Tobago, United States, Venezuela, Virgin Islands | |
39 (B) PAL used in: | |
40 Albania, Algeria, Australia, Austria, Bahrain, Bangladesh, Belgium, | |
41 Bosnia-Herzegovinia, Brunei Darussalam, Cambodia, Cameroon, Croatia, | |
42 Cyprus, Denmark, Egypt, Ethiopia, Equatorial Guinea, Finland, Germany, | |
43 Ghana, Gibraltar, Greenland, Iceland, India, Indonesia, Israel, Italy, | |
44 Jordan, Kenya, Kuwait, Liberia, Libya, Luxembourg, Malaysa, Maldives, | |
45 Malta, Nepal, Netherlands, New Zeland, Nigeria, Norway, Oman, Pakistan, | |
46 Papua New Guinea, Portugal, Qatar, Sao Tome and Principe, Saudi Arabia, | |
47 Seychelles, Sierra Leone, Singapore, Slovenia, Somali, Spain, | |
48 Sri Lanka, Sudan, Swaziland, Sweden, Switzeland, Syria, Thailand, | |
49 Tunisia, Turkey, Uganda, United Arab Emirates, Yemen | |
50 (N) PAL used in: (Combination N = 4.5MHz audio carrier, 3.58MHz burst) | |
51 Argentina (Combination N), Paraguay, Uruguay | |
52 (M) PAL (525/60, 3.57MHz burst) used in: | |
53 Brazil | |
54 (G) PAL used in: | |
55 Albania, Algeria, Austria, Bahrain, Bosnia/Herzegovinia, Cambodia, | |
56 Cameroon, Croatia, Cyprus, Denmark, Egypt, Ethiopia, Equatorial Guinea, | |
57 Finland, Germany, Gibraltar, Greenland, Iceland, Israel, Italy, Jordan, | |
58 Kenya, Kuwait, Liberia, Libya, Luxembourg, Malaysia, Monaco, | |
59 Mozambique, Netherlands, New Zealand, Norway, Oman, Pakistan, | |
60 Papa New Guinea, Portugal, Qatar, Romania, Sierra Leone, Singapore, | |
61 Slovenia, Somalia, Spain, Sri Lanka, Sudan, Swaziland, Sweeden, | |
62 Switzerland, Syria, Thailand, Tunisia, Turkey, United Arab Emirates, | |
63 Yemen, Zambia, Zimbabwe | |
64 (D) PAL used in: | |
65 China, North Korea, Romania, Czech Republic | |
66 (H) PAL used in: | |
67 Belgium | |
68 (I) PAL used in: | |
69 Angola, Botswana, Gambia, Guinea-Bissau, Hong Kong, Ireland, Lesotho, | |
70 Malawi, Nambia, Nigeria, South Africa, Tanzania, United Kingdom, | |
71 Zanzibar | |
72 (B) SECAM used in: | |
73 Djibouti, Greece, Iran, Iraq, Lebanon, Mali, Mauritania, Mauritus, | |
74 Morocco | |
75 (D) SECAM used in: | |
76 Afghanistan, Armenia, Azerbaijan, Belarus, Bulgaria, | |
77 Estonia, Georgia, Hungary, Zazakhstan, Lithuania, Mongolia, Moldova, | |
78 Russia, Slovak Republic, Ukraine, Vietnam | |
79 (G) SECAM used in: | |
80 Greecem Iran, Iraq, Mali, Mauritus, Morocco, Saudi Arabia | |
81 (K) SECAM used in: | |
82 Armenia, Azerbaijan, Bulgaria, Estonia, Georgia, | |
83 Hungary, Kazakhstan, Lithuania, Madagascar, Moldova, Poland, Russia, | |
84 Slovak Republic, Ukraine, Vietnam | |
85 (K1) SECAM used in: | |
86 Benin, Burkina Faso, Burundi, Chad, Cape Verde, Central African | |
87 Republic, Comoros, Congo, Gabon, Madagascar, Niger, Rwanda, Senegal, | |
88 Togo, Zaire | |
89 (L) SECAM used in: | |
90 France | |
91 */ | |
92 | |
93 /* --------------------------------------------------------------------- */ | |
94 | |
95 struct CHANLIST { | |
18032
de6740c3ab2a
10l: huge amount of constant crap in data segment
rfelker
parents:
15472
diff
changeset
|
96 char name[8]; |
2933 | 97 int freq; |
98 }; | |
99 | |
100 struct CHANLISTS { | |
19110
08888397444e
marks several strings inside structs as const when they hold just
reynaldo
parents:
18513
diff
changeset
|
101 const char *name; |
18032
de6740c3ab2a
10l: huge amount of constant crap in data segment
rfelker
parents:
15472
diff
changeset
|
102 const struct CHANLIST *list; |
de6740c3ab2a
10l: huge amount of constant crap in data segment
rfelker
parents:
15472
diff
changeset
|
103 int count; |
2933 | 104 }; |
105 | |
106 #define CHAN_COUNT(x) (sizeof(x)/sizeof(struct CHANLIST)) | |
107 | |
108 /* --------------------------------------------------------------------- */ | |
109 | |
18032
de6740c3ab2a
10l: huge amount of constant crap in data segment
rfelker
parents:
15472
diff
changeset
|
110 extern const struct CHANLISTS chanlists[]; |
15472
b40d7c9a6ace
comment out useless/nonexistent variable breaking compile on gcc4
rfelker
parents:
2933
diff
changeset
|
111 //extern struct STRTAB chanlist_names[]; |
2933 | 112 |
113 extern int chantab; | |
18513 | 114 extern const struct CHANLIST *chanlist; |
2933 | 115 extern int chancount; |
25553
6ac1ece1f9fe
Add multiple inclusion guards to all header files that lack them.
diego
parents:
19271
diff
changeset
|
116 |
26029 | 117 #endif /* MPLAYER_FREQUENCIES_H */ |