[Speex-dev] Major internal changes, TI DSP build change
Jim Crichton
jim.crichton at comcast.net
Thu Apr 20 08:56:41 PDT 2006
>> You found it. The SHL32 (not SHR32) line fixes the problem. It must be
>> doing a 16-bit shift, then extending the result (which is reasonable).
>> As
>> it happens, that it the same macro which gave us trouble last May
>> (25th/26th), when the C55 build was more subtlely broken.
>
> Yes, that's what I finally remembered. I think I've fixed all
> occurrences (by adding EXTEND32) in svn. Could you check if that's the
> case?
>
>> I will test the C54 build and send a patch tomorrow with updates to the
>> .pjt
>> files (adding window.c) and bits.c, as I described earlier.
Build 11169 in SVN works correctly. I have attached a zip file (renamed
.txt) with a patch to bits.c to make the byteswapping for TI DSPs
consistent. I also added a switch so that byte swapping could be enabled or
disabled in config.h. There are also updates to the .pjt files to add
window.c, and updates in the test main files in the TI directory to account
for the reduction in delay from 10ms to 5ms. There is also an added file:
the C6x build needs speex/speex_config_types.h, so I created a speex
subdirectory under TI with this file. The subversion patch generation tool
would not handle an added file.
I first made a patch against build 11146, applied this against 11169, made a
couple of other changes, and made a new patch agains 11169. The second
patch is larger because some line ends got changed in a couple of the files
when the first patch was applied. I am sorry for the clutter, but its my
first time with the patch tool.
I have one lingering concern. The C6x encoder does not produce the same
results as the C55x and C54x. The waveform reproduction is less accurate as
measured by a sample by sample comparison. In the test programs, the SNR is
11.10 in the C55x and C54x, and 10.79 in the C6x build. I figured that the
encoders might not produce bit-exact results because of differences in their
wordlengths, but at one time they were the same (1.1.8, I think). The
decoders do produce the same results. Do you think that this is anything to
be worried about?
Finally, in the simulator I measured the peak MIPs for the C55x as 29.4,
where it was 41.5 in Speex 1.1.8. I was expecting some improvement from the
continuing work you have been doing on the fixed point build, but this is
really impressive, almost too good to be true. This is all straight
compiled C, after all (though the compiler has been updated also).
- Jim
-------------- next part --------------
PK QX4Þü`h Q ti_dsp_11169.patchí<ksÚJ²ã*ÿ¹Ý°Áò ¤ÆJÌ]¼@gãJÀ`´7'ÿ}»ç!Í dǹ»[µ Íôkzº{º["mgLï^=ôÞíYÞhº;ÝÞjüüg{«\.Ç)?Ë{ôÆöm×!Õjµöª°½U,W¡n]ïí\»¸ß'åêÃÒRä_¿ÿ¾½E~£ÎØlø¯ü=Ó iu;ïÚïÍAÛl
]naÀ¸íÐ1É«òÇÉsG$º·Cö :hÖÑ
9é_=àÊqÈñçÑ7/Ù:mö t«
SæÐüÝѯP&§¼I*A¯Jû/I¾j\7®=&ÏD<Ó£ÖØxî<ßÇÁc#;8S"£©å
ünl' 3êƾoøà½]ß*ãåäa¼%W~;\NLßþ?ZØ*
@!
¤@öb*s0 "ÀVé CÎ>\ø[Ës`±&Ïç.¬Ñ7
òødfy×Ô#ÁÔr5¹#+mJê½&¹[C]B¦{ëP¯ Ç¿³uñ×B0_øy¼Ù)p @sÈ@jâäÄæ
ä"zAR¥®¬H
°
À¨<B6Ó vêìBg>s6
p+g³£è[ϵÜålL
7
Eh°Å2w/ðì'8Èiú!¯CySù¸ ìyѪ×/yýz¹t?µë¼Ý¨Ôí7¸Yv±X\møbmÈ.t裸ÍoÞ
ÔyèËë
ÕhìÈóç2êåO¦ fÿSóÜB^ÿÖZá}@}¸dá¹p´à8®7ümDZqÞÔsÀhï2>ºgý|³@òð¯·oÉËÂóÊÝdRø<'ìîÍàýîNzM²P_Ôµ$,)ª¨(NEÞ¢2 at McÊ7gÝ÷ûæq{ F äEà_eþ^so¨7¹·8ÊÎZ[µWòÜ"D
´ÙÒ2wf»p¥µpß¾M,E 64Ý$¨KÀ¬¨,ãò×k,¯ûå~©Z
¿ªÈ
óÌrnÝaPÏç5ê½rµ´üBöJGQª³ÜÄ
¥
ÃIXæf0ÉÊËÒãûï¡X^Ìuë{ãÑ`é9&vâç(ÛW¯JpâïWàKá½x¼îÓt½aÕåتõõòh'Mwjá
U_}[ ÅW1*:¯H®¯\f¶é"¿ì½ëLìë'Mª)y jàm%ÏA(oÁg_OHod¿R9"¾Mú÷~@çU´Ñ.[Ý;{F_Iiùܲ
Â2?â.ÅvF³å ³=ļ¸vxwWô¾åáê®àÔQßw=íÖg Çø
LdZî
¢MóËÔÇôÎÜÅB¸îÌßá§GǶxöpÉA>HôÝ¥7¢ldh;w¼PO°Åow0eTJ¤_µÐ:Æû³ö{£Ó2H·GºS£÷©Ý7
¤Ùk÷Û÷¤Ý!ÍÎgò©ùt?H÷
ò¡oðËvéwß
>5{Fi¿#Í@çD"\tûýöqû¬=øCýSrÒ<o¾7`p·£ õ®}iÝvg öçpê·ÿfj¢L´ûÍã3ÃüÔ>1mF© Yé-Óþ>ÒÜ' !Ͻ
2uAÂúÍ')L<kNKd±À¤Ø`w"2=
Õyó
D$¸¿§G¯B(ò
ÓáòZY:Xñîav;gCH£ªGU6EªO°k»¤ä¶îÁ%ÈBª À¸À©vô1
kâ4zÇݾa6Ïκ-Ì|JÉ´1_¦X\ ~|mÍ3¡ÃN÷Ìóv_
Ó¨s º=)Á0Íçgâ²ôw¾ôÌ¿À \@æ`¾3Ûù0rçsÜô,¹¦=¡«Tá¸*Ö6?S4NS¬ë¢g´Àê»jMlÌ
L),èÆ-ÁÆÇ9£4¼·³f÷>(·ùå·áBµ0E]ýøCé·û³?h¶þÂMù¨R©$ö[½æ uª
$)%QÝ?JM ZTY¡¸v©ÛE§ku;ïñÿmÍM×-©f]W-ûº´²®}¹.L^â8I´óëÖS\'Va
|<k4 *ûØd08
© BIÖÛ¼bT(QVÔl4
±Hèé"lÄ'cìÕð
4V¢« {lleÈꢢ,ÒH3îOV`RTU
ß$àjDå¥:
ÈØ
,¶õ¢8WU¥÷lÿ
#²"pdJ A®¿ )áW4¢è¡*ÁWõÝ¡7Ûj ¤5q7j~üʨ§þ° «è8cÌÕ02
\ز¨ ãýp^»Ý]ü=xÚÊl#»ô-jb-W`1Wòâ¢
«s.<÷ït°ÊD>R±Þßü71ç.ØÌ=-
»7SlÆdjä¤a;þWX®;±½F®õúIÍÏo(íU`_éò_å`I8&ÓB2~p¿
ã0ѺøðÎÛ³ûÆ༰_Áðx ã(à6,
ë!O1Û/íÙ
Àql»þÊøåxßb¥.@âyã*?¨aý|ðB6«ú¬
lävw¯à|¨"Ö3²f³¡Gòî({3ôÖÏÿMS¦omgìÞ&Q ½¢6©3*ÚåÖÑ3²Ñ|c{¾ê?GºU
ýbÿIe·ÙÖ þ'úÏÑCý'Bxÿ
ý×~Â6ùOMêµ_|þ¤³Ûè?ëPý5«/ÿuþc¬ñÚCÏáþSû:Â
aå*âÉ´ê:üiµúÁrl»æÍÁnõª
9èÕè5<Ñ®¼À¯
V*»p½Æ°õ½ÖÑFCÓ§ìÝuPôndV+fµf2
2XªG^â׿wlP£Bí
²ãeUrÌÕÂ(B¾D¦ÿk"¶tYÜo¯IÙ= åûS
Ö
Û^á²Í$¶åè©Ãí8)õñ÷ìò´ùÑ0EYy
#óv$Ò
Ñ#CYpé¢{9
2M´âÏ1ݸènØÚ
·ã£¥R<zU:äVÌh §NQ_DeBäv¥ô±°´;· ¥à. ¸%e¥¨Dñsìi8õôsf2éX©
ðgá2KØV
ÃAÍ,©wÎG!,¢ô
{QQWDã0uNc²ðl'¼À¦z%c2ÖÚyMþ<¾rr%"àñ ÿÍ^×»\c:³îIgÉ
Ù¯ó§V© u.¸xçL{`8Å
¹Ñë«ø)vå[óô««¹5£l; ±±äêòU·jé¾ê_âU·OI]RfJÂÀ¸êä%)ÐÕí0Ç#[¼l;ùìúÎ8äa;!Nè{~Q¥6Àj<à>d"è°UsÜ
Ò\õ_ç#|6' ÉÉWU-^
ò(·¹¦®÷ÿ¥S>3|´ ë"ÊÞ)?Î\ÍÛ;¡ì¹î?¹UÒúdûËOøÉ'»ì5æ6
ón4³%8¥ÆqÏËâaôÀ-"^
x'ÅH%Â6¾=æ:%by»øs;À÷A7ö.©«¢ð) 7ðvx028§ÁkQ
ª¯ö!¥ïÿvÏyÃc£vã¨xî/ä¢ö¦2ým/Vv§oµ ÒÝÕ1ØÂø`DBI)S&ÇWäS{©1õ)!c|FERrcbò§K,¥AþÂ
¹`$ì/g§½ðÕø`ÇE/<ëznñ§}£5hw;y qJÐÝù=>0zò°Û[UÀ|Ik?¶)ú#Ï
FÓM<Ø´>´dÃàw áýÌ
Z3í"c_2q}XðÁQÂ5þ ñWÕ!¢«íâÜ
¦|ÓØkÔszy|ù§{xLíÈsWd"ïÚgÙÁ#
æØ Ýè|8;«ó-LxË!$ÉWíhvO**Îxx-$Ññø¸>&Ô&»úe__×ÊÇñl'
£ýÌ
çÛ×÷¶ù~ùìO¯M¸hT ¾'÷&Ëæ0wQ'øÛfÊ
_ [ôúMÉmÓh·c:÷}ôG¤Ì²-
<¾
ÝÁdË]:.k,mTI¶éêÒeRÕÈô£,kJlöögqTáÈõi°ühYêìNdp(a%¸G÷õ$ ¶¸×È1-eËGʳÓvì V
ê&ë³gàÞ='»/$ãOÂyÃßÞPDP&*°@±×»ò´Q<¾µ;ø O3>Y:+8=L4es
YÔëq`ö
Yí#&u!GÁ,ײêóX=¨£$Í
²ñ×F°Q|VÞy
<?ظ'Yxkè)Ó¨ LÆ6Ø~ "<î"fDþ+X,¤R«ª ´ºçgÆ¥NCE}|e4´²VBÕJ´SK[±p>å-4¼õÂòÕÑbQ¼æ§Bf>²Æe<ÖÔÑ8¯Ïé*å3#½¾|V(]ÈÄk¼øPÈ."¨qõ¥Ú-*VDW¼²%·S2ÿ?<T at y
ÿοPüQ[^&%¥ð »B¨öø1M [ÏhF
|¡+Ö@øKéq)ùg~«#<êSU
1
دÞ06DF
gLa`f´ùªdçJ%ì1(X2Ó)²×äw£´+®]- F%î*
5a^_Tøö²¿ü&ñ-fh)
ɱ_QeHØXÜ
d¡å#ã
KÔWµ¦gj|>FKl÷Ø©$(iwúRLBìÅó(mä¯kL·
.±x¡Ê°à+ÒYª
jõÌ`fç»dbyxhvjH=xÉ427°fû8<X4_¥Ht÷ð@\?ðÜ{ §Ï˼@ÎÃ}hiñFX¯ÊÔf´êë ÆCcQd1ìóü¹~¯ÓÄÃí_G K/z&*³ø
öQ~¹Q¨vAñ?þñI±¤
ah%;D¹«Ç(CZÅ*Gl- 0*e4¥g¢ªDÕÊÎ̽®Vòy¿ÞYØËSöÍàX|{&
.¸§|>,Eźn«£ëÓÐ
TkSÉ!-ö¥V-Õ
,.Ã=Yæ,Ö¹×PfÉ;ô¥\¿Óª\9
ýTp¬h,§ã«
) -ýû'¸$bí>sI±Yù*-×v*;²_µIXÐUö^àúÇvØMT¸nÓÛ`zKq¥,ÁÌ-°âÃ:`åCú_+6·¿Göæ×
ìÆÞTúÎjëKïÓÆ×VQé{m¿³F{j×ͦ5½TÑÝRÁmñöum) ±ÿÄE¼¹ýþ+±î3ªÕ·ãÖÚR²,þMpeJ;
Ý(åQì6Ö
²_ãËaÔÄ7¢"r«}(ñÃh¥ßÄîvSª7k1Åg7uÉæML¶ö¶+YKýèÖ&NæÆتÌm%
z}WIÕJ\iiÈ<@b£´AòÄRÊ
~^zÞÊFFé%%ãfê$
¨ÙPc}¤½
}µ$ÂOõì-$Î1ýÕ%Åï<`Hö÷.jâ½.äÐ^Ó=ÚÿBÅc8eár+¹(çÆ_ÀàRûFb?õÞ'½®o¹°
Umݤ«6üýM
Þ¶xzEYßË´ZhèÞbÐê°H¤ab%aS{%q1jw
ùMro%aNâ6$6V"9ãm'ÞSYÕ¶T4?!Ñ¿
µ}óQ3% ©Â|
T¹Ï=´¢©æG
ìmŧº(ÊtbE(RmhBª
þd§D19lh·?Ý'.ïD\Ö5I4Y2öHt'lD`6¥ApJnÕöΪÝÕ Þ6ùÞ©GÆLì{¨Æÿȶohíò=ÈUlýPK x[3ÔÅðà c speex_config_types.hµUMoã6½È MÕÙn
vO²DÛdI%©$>i Ø¢!Êù öÇwrÖÎ&E/í!1;yïÍм¼Èn_Zó°êà,:/?_AîÈ×é7á Æf¿Ûjý\.l³4e÷²Õn¸¢è¬2
H
íB¦1±¥mAq®ÿ|~ ºÂ¨WW¸Ú¶v¡³;! JÞ9
O¦[ùS¶Öøo³µN·p¦fçË
ñõÚn7ºé ³ví:-tm\×û
öU¹9»kÚïܦj_¨éó
°(}Ú]G([¥YT@ÕjØêvcºN×D÷ÑÔ¸èV^iÄY¯íi
m©{ÍBç6ºûJkúûívìòÖTnv®Vwd%W÷öBûþFc;³Ð5Æ¡¬÷V\¬+³Ñíð`Á#S^ Ôzäþ.ÐK$Ú.vÔÆêµcØÁ6U§[SÝÁuß-B=p¤,ÕÆ¥¦ÚhâDë;³]
mû c»kê¾Vcy¾¦óC
=4Î$rx{MSj,è¦Æ]M6¶ÓÐÛÔ9ÉÖ<bÚãqvÙ=Ñ(ìçnЦϻæªé'̹c5jÊ%Èl¬nCÁ ×¹ÈnxÌbÍ1È Êò¹à©iÄLHÓwS%ø¨Póý{(ñô§O>¦s`w¹`RB&Ïò#"aª8xãÓ()bN@H3E0 q
*|ñ÷'!Ãh_ÃO¸ûc®R*7Î
Bñ¨HBy!òL2
1Qò$°0°*Ó0I|ÑqV¤q¨xBv,FY£òWsÁ"E«-DI 2gDZ;B1Èì¯ó0q8'¨ïì½3Ƕ¶(*m´C#©¸*IÅÞrÉÄ
üI&½i
dQa°W
(hf`ú¨ÜÛÇSÅ(rR
¿Esi§cï3BѧLÌ·ïÚ¾ÜN9ë]ÉîEê8
K¢êH,á¤lð K#F ÝrÉαq
ùMßX¹ðÚ©_È_r?¯Ã
øÆCßpâ¿ÏÇY|?:Þ¾hºw8¸¸
e/%¶Ýj3YNËòdpê_
ýQèdpy÷¾®áâòú7
ïëÚ1æRñ§»søñããØÆNô¾ ·²-]ççÒ4Ýï×e÷íÛ5Î<ÐùCÒî}ÖÚââ
à/üÌÙ
NõÚé7ª®{Uÿ
5Üù7f¯)oá¯ÿ
?¬þPK QX4Þü`h Q ¶ ti_dsp_11169.patchPK x[3ÔÅðà c ¶5 speex_config_types.hPK
More information about the Speex-dev
mailing list