| ... | ... |
@@ -32,34 +32,34 @@ |
| 32 | 32 |
* Known codec tags for CAF |
| 33 | 33 |
*/ |
| 34 | 34 |
const AVCodecTag ff_codec_caf_tags[] = {
|
| 35 |
- { CODEC_ID_AAC, MKBETAG('a','a','c',' ') },
|
|
| 36 |
- { CODEC_ID_AC3, MKBETAG('a','c','-','3') },
|
|
| 37 |
- { CODEC_ID_ALAC, MKBETAG('a','l','a','c') },
|
|
| 35 |
+ { CODEC_ID_AAC, MKTAG('a','a','c',' ') },
|
|
| 36 |
+ { CODEC_ID_AC3, MKTAG('a','c','-','3') },
|
|
| 37 |
+ { CODEC_ID_ALAC, MKTAG('a','l','a','c') },
|
|
| 38 | 38 |
/* FIXME: use DV demuxer, as done in MOV */ |
| 39 |
- /*{ CODEC_ID_DVAUDIO, MKBETAG('v','d','v','a') },*/
|
|
| 40 |
- /*{ CODEC_ID_DVAUDIO, MKBETAG('d','v','c','a') },*/
|
|
| 41 |
- { CODEC_ID_ADPCM_IMA_QT, MKBETAG('i','m','a','4') },
|
|
| 42 |
- { CODEC_ID_ADPCM_IMA_WAV, MKBETAG('m','s', 0, 17 ) },
|
|
| 43 |
- { CODEC_ID_ADPCM_MS, MKBETAG('m','s', 0, 2 ) },
|
|
| 44 |
- { CODEC_ID_AMR_NB, MKBETAG('s','a','m','r') },
|
|
| 45 |
- { CODEC_ID_GSM, MKBETAG('a','g','s','m') },
|
|
| 46 |
- { CODEC_ID_GSM_MS, MKBETAG('m','s', 0, '1') },
|
|
| 47 |
- { CODEC_ID_MACE3, MKBETAG('M','A','C','3') },
|
|
| 48 |
- { CODEC_ID_MACE6, MKBETAG('M','A','C','6') },
|
|
| 49 |
- { CODEC_ID_MP3, MKBETAG('.','m','p','3') },
|
|
| 50 |
- { CODEC_ID_MP3, MKBETAG('m','s', 0 ,'U') },
|
|
| 51 |
- { CODEC_ID_MP2, MKBETAG('.','m','p','2') },
|
|
| 52 |
- { CODEC_ID_MP1, MKBETAG('.','m','p','1') },
|
|
| 53 |
- { CODEC_ID_PCM_ALAW, MKBETAG('a','l','a','w') },
|
|
| 54 |
- { CODEC_ID_PCM_MULAW, MKBETAG('u','l','a','w') },
|
|
| 55 |
- { CODEC_ID_QCELP, MKBETAG('Q','c','l','p') },
|
|
| 56 |
- { CODEC_ID_QDM2, MKBETAG('Q','D','M','2') },
|
|
| 57 |
- { CODEC_ID_QDM2, MKBETAG('Q','D','M','C') },
|
|
| 39 |
+ /*{ CODEC_ID_DVAUDIO, MKTAG('v','d','v','a') },*/
|
|
| 40 |
+ /*{ CODEC_ID_DVAUDIO, MKTAG('d','v','c','a') },*/
|
|
| 41 |
+ { CODEC_ID_ADPCM_IMA_QT, MKTAG('i','m','a','4') },
|
|
| 42 |
+ { CODEC_ID_ADPCM_IMA_WAV, MKTAG('m','s', 0, 17 ) },
|
|
| 43 |
+ { CODEC_ID_ADPCM_MS, MKTAG('m','s', 0, 2 ) },
|
|
| 44 |
+ { CODEC_ID_AMR_NB, MKTAG('s','a','m','r') },
|
|
| 45 |
+ { CODEC_ID_GSM, MKTAG('a','g','s','m') },
|
|
| 46 |
+ { CODEC_ID_GSM_MS, MKTAG('m','s', 0, '1') },
|
|
| 47 |
+ { CODEC_ID_MACE3, MKTAG('M','A','C','3') },
|
|
| 48 |
+ { CODEC_ID_MACE6, MKTAG('M','A','C','6') },
|
|
| 49 |
+ { CODEC_ID_MP3, MKTAG('.','m','p','3') },
|
|
| 50 |
+ { CODEC_ID_MP3, MKTAG('m','s', 0 ,'U') },
|
|
| 51 |
+ { CODEC_ID_MP2, MKTAG('.','m','p','2') },
|
|
| 52 |
+ { CODEC_ID_MP1, MKTAG('.','m','p','1') },
|
|
| 53 |
+ { CODEC_ID_PCM_ALAW, MKTAG('a','l','a','w') },
|
|
| 54 |
+ { CODEC_ID_PCM_MULAW, MKTAG('u','l','a','w') },
|
|
| 55 |
+ { CODEC_ID_QCELP, MKTAG('Q','c','l','p') },
|
|
| 56 |
+ { CODEC_ID_QDM2, MKTAG('Q','D','M','2') },
|
|
| 57 |
+ { CODEC_ID_QDM2, MKTAG('Q','D','M','C') },
|
|
| 58 | 58 |
/* currently unsupported codecs */ |
| 59 |
- /*{ AC-3 over S/PDIF MKBETAG('c','a','c','3') },*/
|
|
| 60 |
- /*{ MPEG4CELP MKBETAG('c','e','l','p') },*/
|
|
| 61 |
- /*{ MPEG4HVXC MKBETAG('h','v','x','c') },*/
|
|
| 62 |
- /*{ MPEG4TwinVQ MKBETAG('t','w','v','q') },*/
|
|
| 59 |
+ /*{ AC-3 over S/PDIF MKTAG('c','a','c','3') },*/
|
|
| 60 |
+ /*{ MPEG4CELP MKTAG('c','e','l','p') },*/
|
|
| 61 |
+ /*{ MPEG4HVXC MKTAG('h','v','x','c') },*/
|
|
| 62 |
+ /*{ MPEG4TwinVQ MKTAG('t','w','v','q') },*/
|
|
| 63 | 63 |
{ CODEC_ID_NONE, 0 },
|
| 64 | 64 |
}; |
| 65 | 65 |
|
| ... | ... |
@@ -68,7 +68,7 @@ static int read_desc_chunk(AVFormatContext *s) |
| 68 | 68 |
/* parse format description */ |
| 69 | 69 |
st->codec->codec_type = AVMEDIA_TYPE_AUDIO; |
| 70 | 70 |
st->codec->sample_rate = av_int2dbl(avio_rb64(pb)); |
| 71 |
- st->codec->codec_tag = avio_rb32(pb); |
|
| 71 |
+ st->codec->codec_tag = avio_rl32(pb); |
|
| 72 | 72 |
flags = avio_rb32(pb); |
| 73 | 73 |
caf->bytes_per_packet = avio_rb32(pb); |
| 74 | 74 |
st->codec->block_align = caf->bytes_per_packet; |
| ... | ... |
@@ -85,7 +85,7 @@ static int read_desc_chunk(AVFormatContext *s) |
| 85 | 85 |
} |
| 86 | 86 |
|
| 87 | 87 |
/* determine codec */ |
| 88 |
- if (st->codec->codec_tag == MKBETAG('l','p','c','m'))
|
|
| 88 |
+ if (st->codec->codec_tag == MKTAG('l','p','c','m'))
|
|
| 89 | 89 |
st->codec->codec_id = ff_mov_get_lpcm_codec_id(st->codec->bits_per_coded_sample, (flags ^ 0x2) | 0x4); |
| 90 | 90 |
else |
| 91 | 91 |
st->codec->codec_id = ff_codec_get_id(ff_codec_caf_tags, st->codec->codec_tag); |
| ... | ... |
@@ -114,7 +114,7 @@ static int caf_write_header(AVFormatContext *s) |
| 114 | 114 |
case CODEC_ID_PCM_F64BE: |
| 115 | 115 |
case CODEC_ID_PCM_ALAW: |
| 116 | 116 |
case CODEC_ID_PCM_MULAW: |
| 117 |
- codec_tag = MKBETAG('l','p','c','m');
|
|
| 117 |
+ codec_tag = MKTAG('l','p','c','m');
|
|
| 118 | 118 |
} |
| 119 | 119 |
|
| 120 | 120 |
if (!codec_tag) {
|
| ... | ... |
@@ -134,7 +134,7 @@ static int caf_write_header(AVFormatContext *s) |
| 134 | 134 |
ffio_wfourcc(pb, "desc"); //< Audio Description chunk |
| 135 | 135 |
avio_wb64(pb, 32); //< mChunkSize |
| 136 | 136 |
avio_wb64(pb, av_dbl2int(enc->sample_rate)); //< mSampleRate |
| 137 |
- avio_wb32(pb, codec_tag); //< mFormatID |
|
| 137 |
+ avio_wl32(pb, codec_tag); //< mFormatID |
|
| 138 | 138 |
avio_wb32(pb, codec_flags(enc->codec_id)); //< mFormatFlags |
| 139 | 139 |
avio_wb32(pb, enc->block_align); //< mBytesPerPacket |
| 140 | 140 |
avio_wb32(pb, samples_per_packet(enc->codec_id, enc->channels)); //< mFramesPerPacket |