Mercurial > mplayer.hg
comparison libmpdemux/demux_ty.c @ 24471:516c6a2277b1
Greatly simplify IsValidAudioPacket, though this might break something
author | reimar |
---|---|
date | Fri, 14 Sep 2007 18:54:14 +0000 |
parents | 656a62a00e94 |
children | 9341d242f432 |
comparison
equal
deleted
inserted
replaced
24470:656a62a00e94 | 24471:516c6a2277b1 |
---|---|
277 #define SERIES2_PTS_LENGTH 16 | 277 #define SERIES2_PTS_LENGTH 16 |
278 #define SERIES2_PTS_OFFSET 9 | 278 #define SERIES2_PTS_OFFSET 9 |
279 #define AC3_PTS_LENGTH 16 | 279 #define AC3_PTS_LENGTH 16 |
280 #define AC3_PTS_OFFSET 9 | 280 #define AC3_PTS_OFFSET 9 |
281 | 281 |
282 #define NUMBER_DIFFERENT_AUDIO_SIZES 7 | |
283 static int Series1AudioWithPTS[ NUMBER_DIFFERENT_AUDIO_SIZES ] = | |
284 { | |
285 336 + SERIES1_PTS_LENGTH, | |
286 384 + SERIES1_PTS_LENGTH, | |
287 480 + SERIES1_PTS_LENGTH, | |
288 576 + SERIES1_PTS_LENGTH, | |
289 768 + SERIES1_PTS_LENGTH, | |
290 864 + SERIES1_PTS_LENGTH | |
291 }; | |
292 static int Series2AudioWithPTS[ NUMBER_DIFFERENT_AUDIO_SIZES ] = | |
293 { | |
294 336 + SERIES2_PTS_LENGTH, | |
295 384 + SERIES2_PTS_LENGTH, | |
296 480 + SERIES2_PTS_LENGTH, | |
297 576 + SERIES2_PTS_LENGTH, | |
298 768 + SERIES2_PTS_LENGTH, | |
299 864 + SERIES2_PTS_LENGTH | |
300 }; | |
301 | |
302 static int IsValidAudioPacket( int size, int *ptsOffset, int *ptsLen ) | 282 static int IsValidAudioPacket( int size, int *ptsOffset, int *ptsLen ) |
303 { | 283 { |
304 int count; | |
305 | |
306 *ptsOffset = 0; | 284 *ptsOffset = 0; |
307 *ptsLen = 0; | 285 *ptsLen = 0; |
308 | 286 |
309 // AC-3 | 287 // AC-3 |
310 if ( size == 1550 || size == 1552 ) | 288 if ( size == 1550 || size == 1552 ) |
313 *ptsLen = AC3_PTS_LENGTH; | 291 *ptsLen = AC3_PTS_LENGTH; |
314 return 1; | 292 return 1; |
315 } | 293 } |
316 | 294 |
317 // MPEG | 295 // MPEG |
318 for( count = 0 ; count < NUMBER_DIFFERENT_AUDIO_SIZES ; count++ ) | 296 if ( (size & 15) == (SERIES1_PTS_LENGTH & 15) ) |
319 { | |
320 if ( size == Series1AudioWithPTS[ count ] ) | |
321 { | 297 { |
322 *ptsOffset = SERIES1_PTS_OFFSET; | 298 *ptsOffset = SERIES1_PTS_OFFSET; |
323 *ptsLen = SERIES1_PTS_LENGTH; | 299 *ptsLen = SERIES1_PTS_LENGTH; |
324 return 1; | 300 return 1; |
325 } | 301 } |
326 } | 302 if ( (size & 15) == (SERIES2_PTS_LENGTH & 15) ) |
327 for( count = 0 ; count < NUMBER_DIFFERENT_AUDIO_SIZES ; count++ ) | |
328 { | |
329 if ( size == Series2AudioWithPTS[ count ] ) | |
330 { | 303 { |
331 *ptsOffset = SERIES2_PTS_OFFSET; | 304 *ptsOffset = SERIES2_PTS_OFFSET; |
332 *ptsLen = SERIES2_PTS_LENGTH; | 305 *ptsLen = SERIES2_PTS_LENGTH; |
333 return 1; | 306 return 1; |
334 } | 307 } |
335 } | |
336 mp_msg( MSGT_DEMUX, MSGL_DBG3, "ty:Tossing Audio Packet Size %d\n", | 308 mp_msg( MSGT_DEMUX, MSGL_DBG3, "ty:Tossing Audio Packet Size %d\n", |
337 size ); | 309 size ); |
338 return 0; | 310 return 0; |
339 } | 311 } |
340 | 312 |