50 #define GST_RIFF_TAG_plst GST_MAKE_FOURCC ('p','l','s','t') |
50 #define GST_RIFF_TAG_plst GST_MAKE_FOURCC ('p','l','s','t') |
51 #define GST_RIFF_TAG_cue GST_MAKE_FOURCC ('c','u','e',' ') |
51 #define GST_RIFF_TAG_cue GST_MAKE_FOURCC ('c','u','e',' ') |
52 #define GST_RIFF_TAG_bext GST_MAKE_FOURCC ('b','e','x','t') |
52 #define GST_RIFF_TAG_bext GST_MAKE_FOURCC ('b','e','x','t') |
53 #define GST_RIFF_TAG_BEXT GST_MAKE_FOURCC ('B','E','X','T') |
53 #define GST_RIFF_TAG_BEXT GST_MAKE_FOURCC ('B','E','X','T') |
54 #define GST_RIFF_TAG_fact GST_MAKE_FOURCC ('f','a','c','t') |
54 #define GST_RIFF_TAG_fact GST_MAKE_FOURCC ('f','a','c','t') |
55 #define GST_RIFF_TAG_acid GST_MAKE_FOURCC ('a','c','i','d') |
|
56 |
55 |
57 /* LIST types */ |
56 /* LIST types */ |
58 #define GST_RIFF_LIST_movi GST_MAKE_FOURCC ('m','o','v','i') |
57 #define GST_RIFF_LIST_movi GST_MAKE_FOURCC ('m','o','v','i') |
59 #define GST_RIFF_LIST_hdrl GST_MAKE_FOURCC ('h','d','r','l') |
58 #define GST_RIFF_LIST_hdrl GST_MAKE_FOURCC ('h','d','r','l') |
60 #define GST_RIFF_LIST_odml GST_MAKE_FOURCC ('o','d','m','l') |
59 #define GST_RIFF_LIST_odml GST_MAKE_FOURCC ('o','d','m','l') |
133 #define GST_RIFF_CRAM GST_MAKE_FOURCC ('C', 'R', 'A', 'M') |
132 #define GST_RIFF_CRAM GST_MAKE_FOURCC ('C', 'R', 'A', 'M') |
134 #define GST_RIFF_wham GST_MAKE_FOURCC ('w', 'h', 'a', 'm') |
133 #define GST_RIFF_wham GST_MAKE_FOURCC ('w', 'h', 'a', 'm') |
135 #define GST_RIFF_WHAM GST_MAKE_FOURCC ('W', 'H', 'A', 'M') |
134 #define GST_RIFF_WHAM GST_MAKE_FOURCC ('W', 'H', 'A', 'M') |
136 #define GST_RIFF_rgb GST_MAKE_FOURCC (0x00,0x00,0x00,0x00) |
135 #define GST_RIFF_rgb GST_MAKE_FOURCC (0x00,0x00,0x00,0x00) |
137 #define GST_RIFF_RGB GST_MAKE_FOURCC ('R', 'G', 'B', ' ') |
136 #define GST_RIFF_RGB GST_MAKE_FOURCC ('R', 'G', 'B', ' ') |
138 #define GST_RIFF_RAW GST_MAKE_FOURCC ('R', 'A', 'W', ' ') |
|
139 #define GST_RIFF_DIB GST_MAKE_FOURCC ('D', 'I', 'B', ' ') |
|
140 #define GST_RIFF_rle8 GST_MAKE_FOURCC (0x01,0x00,0x00,0x00) |
137 #define GST_RIFF_rle8 GST_MAKE_FOURCC (0x01,0x00,0x00,0x00) |
141 #define GST_RIFF_RLE8 GST_MAKE_FOURCC ('R', 'L', 'E', '8') |
138 #define GST_RIFF_RLE8 GST_MAKE_FOURCC ('R', 'L', 'E', '8') |
142 #define GST_RIFF_rle4 GST_MAKE_FOURCC (0x02,0x00,0x00,0x00) |
139 #define GST_RIFF_rle4 GST_MAKE_FOURCC (0x02,0x00,0x00,0x00) |
143 #define GST_RIFF_RLE4 GST_MAKE_FOURCC ('R', 'L', 'E', '4') |
140 #define GST_RIFF_RLE4 GST_MAKE_FOURCC ('R', 'L', 'E', '4') |
144 #define GST_RIFF_none GST_MAKE_FOURCC (0x00,0x00,0xFF,0xFF) |
141 #define GST_RIFF_none GST_MAKE_FOURCC (0x00,0x00,0xFF,0xFF) |
324 #define GST_RIFF_WAVE_FORMAT_MSG723 (0x0042) |
321 #define GST_RIFF_WAVE_FORMAT_MSG723 (0x0042) |
325 #define GST_RIFF_WAVE_FORMAT_MPEGL12 (0x0050) |
322 #define GST_RIFF_WAVE_FORMAT_MPEGL12 (0x0050) |
326 #define GST_RIFF_WAVE_FORMAT_RT24 (0x0052) |
323 #define GST_RIFF_WAVE_FORMAT_RT24 (0x0052) |
327 #define GST_RIFF_WAVE_FORMAT_PAC (0x0053) |
324 #define GST_RIFF_WAVE_FORMAT_PAC (0x0053) |
328 #define GST_RIFF_WAVE_FORMAT_MPEGL3 (0x0055) |
325 #define GST_RIFF_WAVE_FORMAT_MPEGL3 (0x0055) |
329 #define GST_RIFF_WAVE_FORMAT_AMR_NB (0x0057) |
|
330 #define GST_RIFF_WAVE_FORMAT_AMR_WB (0x0058) |
|
331 #define GST_RIFF_WAVE_FORMAT_LUCENT_G723 (0x0059) |
326 #define GST_RIFF_WAVE_FORMAT_LUCENT_G723 (0x0059) |
332 #define GST_RIFF_WAVE_FORMAT_CIRRUS (0x0060) |
327 #define GST_RIFF_WAVE_FORMAT_CIRRUS (0x0060) |
333 #define GST_RIFF_WAVE_FORMAT_ADPCM_IMA_DK4 (0x0061) /* not official */ |
|
334 #define GST_RIFF_WAVE_FORMAT_ADPCM_IMA_DK3 (0x0062) /* not official */ |
|
335 /* FIXME: where are these from? are they used at all? */ |
|
336 #if 0 |
|
337 #define GST_RIFF_WAVE_FORMAT_ESPCM (0x0061) |
328 #define GST_RIFF_WAVE_FORMAT_ESPCM (0x0061) |
338 #define GST_RIFF_WAVE_FORMAT_VOXWARE (0x0062) |
329 #define GST_RIFF_WAVE_FORMAT_VOXWARE (0x0062) |
339 #endif |
|
340 #define GST_RIFF_WAVE_FORMAT_CANOPUS_ATRAC (0x0063) |
330 #define GST_RIFF_WAVE_FORMAT_CANOPUS_ATRAC (0x0063) |
341 #define GST_RIFF_WAVE_FORMAT_G726_ADPCM (0x0064) |
331 #define GST_RIFF_WAVE_FORMAT_G726_ADPCM (0x0064) |
342 #define GST_RIFF_WAVE_FORMAT_G722_ADPCM (0x0065) |
332 #define GST_RIFF_WAVE_FORMAT_G722_ADPCM (0x0065) |
343 #define GST_RIFF_WAVE_FORMAT_DSAT_DISPLAY (0x0067) |
333 #define GST_RIFF_WAVE_FORMAT_DSAT_DISPLAY (0x0067) |
344 #define GST_RIFF_WAVE_FORMAT_ADPCM_IMA_WAV (0x0069) |
|
345 /* FIXME: where are these from? are they used at all? */ |
|
346 #if 0 |
|
347 #define GST_RIFF_WAVE_FORMAT_VOXWARE_BYTE_ALIGNED (0x0069) |
334 #define GST_RIFF_WAVE_FORMAT_VOXWARE_BYTE_ALIGNED (0x0069) |
348 #endif |
|
349 #define GST_RIFF_WAVE_FORMAT_VOXWARE_AC8 (0x0070) |
335 #define GST_RIFF_WAVE_FORMAT_VOXWARE_AC8 (0x0070) |
350 #define GST_RIFF_WAVE_FORMAT_VOXWARE_AC10 (0x0071) |
336 #define GST_RIFF_WAVE_FORMAT_VOXWARE_AC10 (0x0071) |
351 #define GST_RIFF_WAVE_FORMAT_VOXWARE_AC16 (0x0072) |
337 #define GST_RIFF_WAVE_FORMAT_VOXWARE_AC16 (0x0072) |
352 #define GST_RIFF_WAVE_FORMAT_VOXWARE_AC20 (0x0073) |
338 #define GST_RIFF_WAVE_FORMAT_VOXWARE_AC20 (0x0073) |
353 #define GST_RIFF_WAVE_FORMAT_VOXWARE_METAVOICE (0x0074) |
339 #define GST_RIFF_WAVE_FORMAT_VOXWARE_METAVOICE (0x0074) |
405 #define GST_RIFF_WAVE_FORMAT_RAW_SPORT (0x0240) |
391 #define GST_RIFF_WAVE_FORMAT_RAW_SPORT (0x0240) |
406 #define GST_RIFF_WAVE_FORMAT_IPI_HSX (0x0250) |
392 #define GST_RIFF_WAVE_FORMAT_IPI_HSX (0x0250) |
407 #define GST_RIFF_WAVE_FORMAT_IPI_RPELP (0x0251) |
393 #define GST_RIFF_WAVE_FORMAT_IPI_RPELP (0x0251) |
408 #define GST_RIFF_WAVE_FORMAT_CS2 (0x0260) |
394 #define GST_RIFF_WAVE_FORMAT_CS2 (0x0260) |
409 #define GST_RIFF_WAVE_FORMAT_SONY_ATRAC3 (0x0270) |
395 #define GST_RIFF_WAVE_FORMAT_SONY_ATRAC3 (0x0270) |
410 #define GST_RIFF_WAVE_FORMAT_SIREN (0x028E) |
|
411 #define GST_RIFF_WAVE_FORMAT_FM_TOWNS_SND (0x0300) |
396 #define GST_RIFF_WAVE_FORMAT_FM_TOWNS_SND (0x0300) |
412 #define GST_RIFF_WAVE_FORMAT_BTV_DIGITAL (0x0400) |
397 #define GST_RIFF_WAVE_FORMAT_BTV_DIGITAL (0x0400) |
413 #define GST_RIFF_WAVE_FORMAT_IMC (0x0401) |
|
414 #define GST_RIFF_WAVE_FORMAT_QDESIGN_MUSIC (0x0450) |
398 #define GST_RIFF_WAVE_FORMAT_QDESIGN_MUSIC (0x0450) |
415 #define GST_RIFF_WAVE_FORMAT_VME_VMPCM (0x0680) |
399 #define GST_RIFF_WAVE_FORMAT_VME_VMPCM (0x0680) |
416 #define GST_RIFF_WAVE_FORMAT_TPC (0x0681) |
400 #define GST_RIFF_WAVE_FORMAT_TPC (0x0681) |
417 #define GST_RIFF_WAVE_FORMAT_OLIGSM (0x1000) |
401 #define GST_RIFF_WAVE_FORMAT_OLIGSM (0x1000) |
418 #define GST_RIFF_WAVE_FORMAT_OLIADPCM (0x1001) |
402 #define GST_RIFF_WAVE_FORMAT_OLIADPCM (0x1001) |
422 #define GST_RIFF_WAVE_FORMAT_LH_CODEC (0x1100) |
406 #define GST_RIFF_WAVE_FORMAT_LH_CODEC (0x1100) |
423 #define GST_RIFF_WAVE_FORMAT_NORRIS (0x1400) |
407 #define GST_RIFF_WAVE_FORMAT_NORRIS (0x1400) |
424 #define GST_RIFF_WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS (0x1500) |
408 #define GST_RIFF_WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS (0x1500) |
425 #define GST_RIFF_WAVE_FORMAT_A52 (0x2000) |
409 #define GST_RIFF_WAVE_FORMAT_A52 (0x2000) |
426 #define GST_RIFF_WAVE_FORMAT_DTS (0x2001) |
410 #define GST_RIFF_WAVE_FORMAT_DTS (0x2001) |
427 #define GST_RIFF_WAVE_FORMAT_SONIC (0x2048) |
|
428 #define GST_RIFF_WAVE_FORMAT_SONIC_LS (0x2048) |
|
429 #define GST_RIFF_WAVE_FORMAT_AAC_AC (0x4143) |
|
430 #define GST_RIFF_WAVE_FORMAT_VORBIS1 (0x674f) |
411 #define GST_RIFF_WAVE_FORMAT_VORBIS1 (0x674f) |
431 #define GST_RIFF_WAVE_FORMAT_VORBIS2 (0x6750) |
412 #define GST_RIFF_WAVE_FORMAT_VORBIS2 (0x6750) |
432 #define GST_RIFF_WAVE_FORMAT_VORBIS3 (0x6751) |
413 #define GST_RIFF_WAVE_FORMAT_VORBIS3 (0x6751) |
433 #define GST_RIFF_WAVE_FORMAT_VORBIS1PLUS (0x676f) |
414 #define GST_RIFF_WAVE_FORMAT_VORBIS1PLUS (0x676f) |
434 #define GST_RIFF_WAVE_FORMAT_VORBIS2PLUS (0x6770) |
415 #define GST_RIFF_WAVE_FORMAT_VORBIS2PLUS (0x6770) |
435 #define GST_RIFF_WAVE_FORMAT_VORBIS3PLUS (0x6771) |
416 #define GST_RIFF_WAVE_FORMAT_VORBIS3PLUS (0x6771) |
436 #define GST_RIFF_WAVE_FORMAT_AAC_pm (0x706d) |
|
437 #define GST_RIFF_WAVE_FORMAT_GSM_AMR_CBR (0x7A21) |
417 #define GST_RIFF_WAVE_FORMAT_GSM_AMR_CBR (0x7A21) |
438 #define GST_RIFF_WAVE_FORMAT_GSM_AMR_VBR (0x7A22) |
418 #define GST_RIFF_WAVE_FORMAT_GSM_AMR_VBR (0x7A22) |
439 #define GST_RIFF_WAVE_FORMAT_FLAC (0xF1AC) |
|
440 #define GST_RIFF_WAVE_FORMAT_EXTENSIBLE (0xFFFE) |
419 #define GST_RIFF_WAVE_FORMAT_EXTENSIBLE (0xFFFE) |
441 guint16 channels; |
420 guint16 channels; |
442 guint32 rate; |
421 guint32 rate; |
443 guint32 av_bps; |
422 guint32 av_bps; |
444 guint16 blockalign; |
423 guint16 blockalign; |
469 |
448 |
470 typedef struct _gst_riff_dmlh { |
449 typedef struct _gst_riff_dmlh { |
471 guint32 totalframes; |
450 guint32 totalframes; |
472 } gst_riff_dmlh; |
451 } gst_riff_dmlh; |
473 |
452 |
474 /* taken from libsndfile/wav.c (LGPL) */ |
|
475 typedef struct _gst_riff_acid { |
|
476 /* 4 bytes (int) type of file: |
|
477 * this appears to be a bit mask,however some combinations |
|
478 * are probably impossible and/or qualified as "errors" |
|
479 * |
|
480 * 0x01 On: One Shot Off: Loop |
|
481 * 0x02 On: Root note is Set Off: No root |
|
482 * 0x04 On: Stretch is On, Off: Strech is OFF |
|
483 * 0x08 On: Disk Based Off: Ram based |
|
484 * 0x10 On: ?????????? Off: ????????? (Acidizer puts that ON) |
|
485 */ |
|
486 guint32 loop_type; |
|
487 /* 2 bytes (short) root note |
|
488 * if type 0x10 is OFF : [C,C#,(...),B] -> [0x30 to 0x3B] |
|
489 * if type 0x10 is ON : [C,C#,(...),B] -> [0x3C to 0x47] |
|
490 * (both types fit on same MIDI pitch albeit different octaves, so who cares) |
|
491 */ |
|
492 guint16 root_note; |
|
493 /* 2 bytes (short) ??? always set to 0x8000 |
|
494 * 4 bytes (float) ??? seems to be always 0 |
|
495 */ |
|
496 guint16 unknown1; |
|
497 gfloat unknown2; |
|
498 /* 4 bytes (int) number of beats |
|
499 * 2 bytes (short) meter denominator //always 4 in SF/ACID |
|
500 * 2 bytes (short) meter numerator //always 4 in SF/ACID |
|
501 * //are we sure about the order?? usually its num/denom |
|
502 * 4 bytes (float) tempo |
|
503 */ |
|
504 guint32 number_of_beats; |
|
505 guint16 meter_d, meter_n; |
|
506 gfloat tempo; |
|
507 } gst_riff_acid; |
|
508 |
|
509 G_END_DECLS |
453 G_END_DECLS |
510 |
454 |
511 #endif /* __GST_RIFF_IDS_H__ */ |
455 #endif /* __GST_RIFF_IDS_H__ */ |