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];