Mercurial > mplayer.hg
comparison libmpcodecs/ad_hwac3.c @ 24433:435b37266f1e
Improved comments, based on patches by Ulion [ulion2002 gmail com]
author | reimar |
---|---|
date | Fri, 14 Sep 2007 08:56:04 +0000 |
parents | 79fcacd73f9b |
children | 8b5437063481 |
comparison
equal
deleted
inserted
replaced
24432:79fcacd73f9b | 24433:435b37266f1e |
---|---|
158 return decode_audio_dts(sh_audio->a_in_buffer, len, buf); | 158 return decode_audio_dts(sh_audio->a_in_buffer, len, buf); |
159 } | 159 } |
160 else if(isdts == 0) | 160 else if(isdts == 0) |
161 { | 161 { |
162 uint16_t *buf16 = (uint16_t *)buf; | 162 uint16_t *buf16 = (uint16_t *)buf; |
163 buf16[0] = 0xF872; | 163 buf16[0] = 0xF872; // iec 61937 syncword 1 |
164 buf16[1] = 0x4E1F; | 164 buf16[1] = 0x4E1F; // iec 61937 syncword 2 |
165 buf16[2] = 0x0001; | 165 buf16[2] = 0x0001; // data-type ac3 |
166 buf16[3] = len << 3; | 166 buf16[3] = len << 3; // number of bits in payload |
167 #ifdef WORDS_BIGENDIAN | 167 #ifdef WORDS_BIGENDIAN |
168 memcpy(buf + 8, sh_audio->a_in_buffer, len); // untested | 168 memcpy(buf + 8, sh_audio->a_in_buffer, len); |
169 #else | 169 #else |
170 swab(sh_audio->a_in_buffer, buf + 8, len); | 170 swab(sh_audio->a_in_buffer, buf + 8, len); |
171 #endif | 171 #endif |
172 memset(buf + 8 + len, 0, 6144 - 8 - len); | 172 memset(buf + 8 + len, 0, 6144 - 8 - len); |
173 | 173 |
356 if(fsize + 8 > nr_samples * 2 * 2) | 356 if(fsize + 8 > nr_samples * 2 * 2) |
357 { | 357 { |
358 mp_msg(MSGT_DECAUDIO, MSGL_ERR, "DTS: more data than fits\n"); | 358 mp_msg(MSGT_DECAUDIO, MSGL_ERR, "DTS: more data than fits\n"); |
359 } | 359 } |
360 #ifdef WORDS_BIGENDIAN | 360 #ifdef WORDS_BIGENDIAN |
361 memcpy(&buf[8], indata_ptr, fsize); // untested | 361 memcpy(&buf[8], indata_ptr, fsize); |
362 #else | 362 #else |
363 //TODO if fzise is odd, swab doesn't copy the last byte | 363 //TODO if fzise is odd, swab doesn't copy the last byte |
364 swab(indata_ptr, &buf[8], fsize); | 364 swab(indata_ptr, &buf[8], fsize); |
365 if (fsize & 1) | 365 if (fsize & 1) |
366 buf[8+fsize] = indata_ptr[fsize]; | 366 buf[8+fsize] = indata_ptr[fsize]; |