You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(91) |
Oct
(8) |
Nov
(15) |
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(2) |
Feb
(5) |
Mar
(41) |
Apr
(41) |
May
(29) |
Jun
(61) |
Jul
(74) |
Aug
(3) |
Sep
(35) |
Oct
(24) |
Nov
(86) |
Dec
(163) |
2003 |
Jan
(28) |
Feb
(94) |
Mar
(27) |
Apr
(14) |
May
(5) |
Jun
(8) |
Jul
(1) |
Aug
(67) |
Sep
(113) |
Oct
(78) |
Nov
(37) |
Dec
(97) |
2004 |
Jan
(15) |
Feb
(35) |
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(4) |
Dec
|
2006 |
Jan
|
Feb
(25) |
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(1) |
2007 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2008 |
Jan
|
Feb
(13) |
Mar
(1) |
Apr
(7) |
May
(1) |
Jun
|
Jul
(21) |
Aug
|
Sep
(1) |
Oct
(10) |
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Michel L. <wa...@us...> - 2001-09-12 07:01:13
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/gi/gi7 In directory usw-pr-cvs1:/tmp/cvs-serv8235/gi/gi7 Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- 73d672a7a9c14cbc3b170346cbaec4df *0.pgm 46eb3d54dab300f3b30005d8e4ae8c8b *1.pgm c76931fc314a85aa0d06ba88464e29ca *2.pgm bad1003d8ced6a673cf6ea591332df02 *3.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 07:01:13
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/gi/gi4 In directory usw-pr-cvs1:/tmp/cvs-serv8235/gi/gi4 Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- c02bdd8d2916e25d7930503056062278 *0.pgm 57bd3e15b13e32a630e0a9a4dd679dda *1.pgm 77e694b95afce6e31160adf22b96bd6a *2.pgm d6a526213799c81efcbb234cd84731cf *3.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 07:01:12
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/ccett/mcp10ccett In directory usw-pr-cvs1:/tmp/cvs-serv8235/ccett/mcp10ccett Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- 5a625ad7cfc777c7c240bc0eeae2451e *0.pgm 1547ac526835bf67aec479a9904cde58 *1.pgm 1547ac526835bf67aec479a9904cde58 *2.pgm de9916598cc8da9e896b600b4fe73a87 *3.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 07:01:12
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/mei/mei.2conftest.4f In directory usw-pr-cvs1:/tmp/cvs-serv8235/mei/mei.2conftest.4f Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- 2bf5b9ab1b39e5ebab7344c9ed02e913 *0.pgm e467fed705666be76d9aaa626efe03aa *1.pgm 6b34b48fc88a47ad6ef4439d2235c56f *2.pgm 7e34dc60e2ac127761366e3ee63f509f *3.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 07:01:12
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/ibm/ibm-bw-v3 In directory usw-pr-cvs1:/tmp/cvs-serv8235/ibm/ibm-bw-v3 Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- f1da8441f4af1f4e81aca2f87ca75d49 *0.pgm 9176630b7c065204a623c6d1a50da8ec *1.pgm 9176630b7c065204a623c6d1a50da8ec *2.pgm 9176630b7c065204a623c6d1a50da8ec *3.pgm 9176630b7c065204a623c6d1a50da8ec *4.pgm 9176630b7c065204a623c6d1a50da8ec *5.pgm 9176630b7c065204a623c6d1a50da8ec *6.pgm 9176630b7c065204a623c6d1a50da8ec *7.pgm 9176630b7c065204a623c6d1a50da8ec *8.pgm 9176630b7c065204a623c6d1a50da8ec *9.pgm 9176630b7c065204a623c6d1a50da8ec *10.pgm 9176630b7c065204a623c6d1a50da8ec *11.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *12.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *13.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *14.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *15.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *16.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *17.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *18.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *19.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *20.pgm 33d505c81b7597e5a0fcaa5d9aa9f625 *21.pgm 5c84500bcae52a09a915c3654c93fee1 *22.pgm 05c2b326ef25d1d05b629e348a37587f *23.pgm 8f88cde966c2babffa38a9eb5eb28683 *24.pgm 43ab13f7f44d24cb0ebb37a9f704a0b8 *25.pgm fa464f5862b12d9fe529dbed5d64bcb2 *26.pgm 42b86d9d24720bb0783ea83afc12234f *27.pgm 058ce84b2105f6f931c76d2d73761d53 *28.pgm a70d06a44263926158dd1ee7bd9b6a83 *29.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 07:01:12
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/mei/MEI.stream16.long In directory usw-pr-cvs1:/tmp/cvs-serv8235/mei/MEI.stream16.long Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- 8ab6f6813b37b15e492abaed3e78ee76 *0.pgm 727d4be6b254d1cc41512b8023d34ebe *1.pgm 9724e265d20d28ff849104bf8c5a8a30 *2.pgm 5eed3eff3a931b4592b68d9114b8549f *3.pgm 4c102bdb97b51188d1d93c13f9288654 *4.pgm 0bef7f9fb61575953ca78aed4e74def9 *5.pgm 905e83eded3fa98a6b3780a3fb18c99b *6.pgm 3afe3a19c7d6dafe73eaef23d552232d *7.pgm 8b9c783614f10eab1b7ad0bbde492362 *8.pgm 6998b200df0292f719f86aee862015cf *9.pgm 4fe48cbd049be26b8ff91e0a8bfbb2e8 *10.pgm 531d1bc9d58d5f92958ad5dba8640b1a *11.pgm 6551f5746052ee7e5381728bcb14f6fb *12.pgm 4f3710a77b2b32abac4e30ac038cea4b *13.pgm df9253050d5505d400314bd914f3e2c1 *14.pgm ef716a5e5b9edf3f52abe930dfc81551 *15.pgm 2a9cbe480d5634bc7d3f7b14ede5107d *16.pgm 2ea40c1bec61279acadabb00fe5ff07d *17.pgm ade7bc85d0cd2b8bdd5acb74c58a069b *18.pgm c141812b390cd05561c2b5997ead505c *19.pgm bceb6e13e0a17e7e213216361337f27c *20.pgm b8d905995052fe05e69a9bf2d1fe8d79 *21.pgm 4c2b057df0bab69bf34cb116f21ca5ef *22.pgm f6be5748e3bb5eec6e331374f7d034df *23.pgm 341855c412e5987e264ffd4ad5aa93ea *24.pgm 4c29ddae2ea4543479ae902d246d6e0e *25.pgm e1bf0186bd4a6ff8f8884a6be4d58166 *26.pgm 8c9695d843dadc77be0fb8927479552f *27.pgm 08f9d3cb698856631ce97ee1c5b52eff *28.pgm 50df99249279bb2d85f42f6bc70c32c5 *29.pgm 9880409af4a768e07c44b9ae5c471447 *30.pgm 5aa0813b90f4924fd2daec88f09a8b9e *31.pgm f5bd5a2d9994cc440a4fe7f3f98fa533 *32.pgm 2186ac4c94eb0d2a888f5b8482b1fdd1 *33.pgm bdb6763c7f83ccad21ff4dd5031705b0 *34.pgm 241b6d19b84796b4919725ff9d604a79 *35.pgm fab3c8a7d949e2a0d209e1642797cd44 *36.pgm ab6a3f705d6c8e6f9dc1339944286315 *37.pgm b95275f2c92a04c6e17db1cf1b9d78e4 *38.pgm f48f21cfb2101a9607156d72942bb517 *39.pgm 25e5697f6ee2fa953bb70372c6861572 *40.pgm c00f502421e52625a3623e6479df2db4 *41.pgm 941e4475909814dd763e51e893953b8b *42.pgm 6ffa6485b68ebd2923d5ab02650a8e06 *43.pgm cc05ce459d502dc113e6b3481a14be52 *44.pgm d83b59be804d7e7f49765de5827e9f61 *45.pgm 482d4b5715895230b53a29713664b2a4 *46.pgm f4c2fe37b29c75c148ef6d31b8471361 *47.pgm 970f72f314fb6b594b3b2605dc11b02d *48.pgm 20774ed48b0dddd5b9eed707795e4738 *49.pgm 535effb8365bababb9655e7f20bc6b59 *50.pgm 6b94bfe2b648d898acc9139775591f70 *51.pgm b79e36cf4961137559a60991812e113d *52.pgm 3ac64765db45ef0179d623c6f84c992a *53.pgm 40f98f5b2546555ae49e3fe2ea22f1c3 *54.pgm 0b7bb49a06f4ba7f88132d7a4de70263 *55.pgm d4efc418d4310ba0ef9000ee5dec00ce *56.pgm a2f80810cbe4d1b0ece229fdb64efc2c *57.pgm 63ec4bc200c142b08b59b662ca8d6e42 *58.pgm 64d79994916677a9461d298e4da29105 *59.pgm be23bb6fbeb9562ccf57e062d2f50844 *60.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 07:01:12
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/compcore/ccm1 In directory usw-pr-cvs1:/tmp/cvs-serv8235/compcore/ccm1 Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- 70e4d0a117541d1888f35bc613eab6dd *0.pgm 2fcf0253faf676b4a626d3aa8a3f4edf *1.pgm 70e4d0a117541d1888f35bc613eab6dd *2.pgm 1aa0ad00a97b22e576ade2f07c12ec1a *3.pgm e8277e7fab6f762dc1055d34a1778158 *4.pgm 1601dbdb19696a6b1696510a4c03dace *5.pgm 9eeb3b122d276e6b496104b9fb27c4aa *6.pgm 1c70ff90908f81a8483b53bd242f13d2 *7.pgm 47c30682524da8033accb3a38b936034 *8.pgm d7d4517430635b8064bf8e9e0891954c *9.pgm b3dd1630f8dbeb9af0feb3c7d134eb3b *10.pgm 5fcf115bed90a824e6c176f8e0fd0f95 *11.pgm 477ef35c431cc158bd22152c93786d91 *12.pgm 9703c2fb770b025fbaf1429be46dccf3 *13.pgm b725749b86519110cc41894ec19dc035 *14.pgm ba3c523211ba47c49f1786348503e309 *15.pgm 87ab70e6eb4b1a83859b8fa50b7129ab *16.pgm 3337af0b59a8e5f55e7761abfa204d8a *17.pgm 53ba3d87dfb2d0ac70b62391dcf2055a *18.pgm 323978d1a230fe01b43e6f379035572f *19.pgm 9c52f089af63110d278cbdafde69cd29 *20.pgm fba15368771163c127f716f323f65e76 *21.pgm 16772ca11f2151ba25f9bebc5bcbf742 *22.pgm dfedf5fd509d0c64fb0e2b1694cdcfb3 *23.pgm 90e964295f0232caabee1980a8d803c6 *24.pgm fe72fddfa6b7c33482b49a1fc1a0ae30 *25.pgm 25590f343704108edde58a56237e8b4e *26.pgm 27b2a480bb124304ba261daf01cfe4d1 *27.pgm 435d05cdb5df5387e8ec508bcaa4a8f7 *28.pgm a3daa67408ad1e37c04ea1b74c15d457 *29.pgm d767d2ebb248f99f1afb797b94939dab *30.pgm 0a63fb56348d1223c7c6b01e8d9dd9d7 *31.pgm 0b467913157d2366d144789dc4428149 *32.pgm b44f11aa8f84b263620cc6a78eea143f *33.pgm 6f4192833d562be03613643a6de7b53d *34.pgm 54ec75feae7710f89375f91bdff40566 *35.pgm 396415253fb551973cb243fbd404b818 *36.pgm 615e680601cf3b11516ee12209995d15 *37.pgm d7b5fd27336213f7f01f76f1cc8ae46b *38.pgm 08e085b465f269174f66f3a3aed06b7d *39.pgm dc02d2480f82fed7d5c60177fc0d27aa *40.pgm 8f6f5c1ada36f303ad77e024214bf82f *41.pgm 156aed820fcabcc5e136b60a7984da0d *42.pgm f4cd9ee70d655040a75535af5333f7d3 *43.pgm e63bf8e876a0b7ea50de04df2337a2b6 *44.pgm 81916d6828b1b53f1d57e48adebc5abf *45.pgm dbefceed8a4f52b8fe1441d26fd0f22d *46.pgm f41048f7b67e97eff3819da817858222 *47.pgm 3652a96e533a5f876906177149c59d7c *48.pgm 4919a66b4eae19c3d72347f8ea01ff4e *49.pgm 78fedd510fb6c7d35bdbaea4c2676e45 *50.pgm 281670625c3da655b35d7ab53f5bfdb2 *51.pgm a3e8b4629010a4ac46ebc175b31e7163 *52.pgm 5215ed888c0117befc299849875678df *53.pgm 219fe94d38006b12e6e997e2f77065d4 *54.pgm 5663248d2091ace1d88387cb1144b2e6 *55.pgm 6171083c97d3bd3dd028300702c19832 *56.pgm 67a7841b3818060f0611166f1d410cf1 *57.pgm e455f794448d25ce21d8ceda24e88fbe *58.pgm df86731cc109e7e049668cd335a1d907 *59.pgm 80bc0a74e7ecd8a00109a00cedcaaa85 *60.pgm 57a349e408e19d23a67ad7e9d64aa17c *61.pgm 46d1356a80649ff1318d4d453a94f3d7 *62.pgm 7ca9507e58e47724ee46675ddd0a6948 *63.pgm 197196e128ebb4c77cb3dab66af68e3d *64.pgm 3c2c4f39cad8e77c59e0ed28ac345e51 *65.pgm 80b056f5a34245b9da9f833c3843978f *66.pgm c0bb7e5e8f87faf4964585d4d5de8a56 *67.pgm 1a5a9d4d5de61d6cea23bf953ee49325 *68.pgm f56cc2630f8f656f8ecfecd1d3647a42 *69.pgm 7c66d8121e31eaf7a9bc0b924a144a7c *70.pgm d08293f84fe3cc76cdca8ef27c2dd463 *71.pgm bad7d190a5e3936cf5ddd235bb6587ac *72.pgm 9ecdbd4f1adc8b414f378d5e4a80d334 *73.pgm d643b95a8d1d03c4194ce1f391cc664a *74.pgm 9031da7deb387793a875ad946ba020b0 *75.pgm e58ebd7d0e6ca86f119013d0e49e0e7c *76.pgm 0b243e9d4c35068003b7781d2c412c2b *77.pgm 888c503d1aa934f8e1a31bc97d3850d0 *78.pgm 656ebae06b5a22f8c31bfe2cb6400e7f *79.pgm 5c71974e07233e892e32ac8d73f3d882 *80.pgm 08a0ffee6fc0c5334070f9c6c1a30fa4 *81.pgm 8b0d36a896d15aba0856e93b18058650 *82.pgm aef56afedd482a8deb25f120162bcb10 *83.pgm 99a00b9b096c1167ddf9da8ac7da7761 *84.pgm ff793cfe1ff55affe4632beb9f531c5a *85.pgm e044d0ebbc359933a4cd3b101b02c86d *86.pgm 28f232bd2a2c3e3cdc2d7a49c8435bc7 *87.pgm 0fc1b2c7a26c69dfdaf3d5763b4db33b *88.pgm 55b8209ae0e59111c9e6bc2cba59fb0f *89.pgm 698a130665010e2ff91480ffd08d6c35 *90.pgm 753d902ac83e6f9d8554292e48167f95 *91.pgm 14f9b137b90c00a34428f636bf43ef5a *92.pgm 1bd593ad31babfc854c909d52da88638 *93.pgm cc89bb91ae3e5fd761f44f375cadb73e *94.pgm 0d6c5b3e9e3bd7a1d7a9be232cc67ae8 *95.pgm a3353e2f7b2f7a29201fed965c848681 *96.pgm 90f6b72b14b7803ccbd8ff3cd1fb2392 *97.pgm 0116142095603ca97aedc15f6053d632 *98.pgm 10ca68b4b6097d29cfb3cc1022a4ef95 *99.pgm 367df7637f33fc69750cb59448963f5c *100.pgm 4574809341fd173b7a4a06b18b8356d8 *101.pgm 174b6190ac21582d7199d12dcea1bc7c *102.pgm 81346647ed976673a1e50760ad8ac33b *103.pgm 8bd90fbedb4776a532a5416aba66911b *104.pgm c9542d884f3605828e71cbe90375670b *105.pgm d01c8da275e794de969462b9dcf3a9e7 *106.pgm a6d319e4eb06581e783f1bc5c92168e5 *107.pgm 14a011999cdc5267ed0815796ded0740 *108.pgm f2af42099e1126d6f265ae61cdea6f6a *109.pgm e86005b8ccc94f272f946e1f8383ab78 *110.pgm 5c7824fe9a0c8a19d727d429f1dbbed6 *111.pgm 9650e3ab442c8375988d9ef20882742a *112.pgm 8060f5b2f0c8aae1a3d97c16fa8b1395 *113.pgm 21382309c7a401f949aff241bbf558c1 *114.pgm 43cca4c26efe494389791bd9c04cd91d *115.pgm 00cafbfcf4c76c546ed062fbf3172f03 *116.pgm ccab7e6a6f4eb232d17889726cd1ec18 *117.pgm 1306df186fbfdf4e2dda2f5e6d8737ab *118.pgm 280031ae4b312045c3af65735b866f02 *119.pgm 208d258a1a57b34789884b7b802c617a *120.pgm 6c0469b62b19ae6744c853fca3e3aaf4 *121.pgm 87e9a0475e6629071670df98c9c67b8f *122.pgm 9995249cd32dcc83b4fca830ec867eb0 *123.pgm 03b28dd660a989d1afa7ea4bc24efb4b *124.pgm b6089ac206a6d1e2a33e7f8eef316c93 *125.pgm c2995fceeba427a2a511f14b96931784 *126.pgm 878997baf1069d9b11b894838f610385 *127.pgm ae4af15ee08e6c7a11fb96da61ab5db9 *128.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 07:01:12
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/mei/MEI.stream16v2 In directory usw-pr-cvs1:/tmp/cvs-serv8235/mei/MEI.stream16v2 Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- 8ab6f6813b37b15e492abaed3e78ee76 *0.pgm 727d4be6b254d1cc41512b8023d34ebe *1.pgm 9724e265d20d28ff849104bf8c5a8a30 *2.pgm 5eed3eff3a931b4592b68d9114b8549f *3.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 07:01:12
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/lep/bits_conf_lep_11 In directory usw-pr-cvs1:/tmp/cvs-serv8235/lep/bits_conf_lep_11 Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- 2bb0efa2678ec85a565a5f04d140a501 *0.pgm 50a4e4e1fd03c57c5ec2a0c854649eaf *1.pgm c8b52d4bdc62f7b3d59b764d94ceb13c *2.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 07:01:12
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/att/att_mismatch In directory usw-pr-cvs1:/tmp/cvs-serv8235/att/att_mismatch Added Files: altivec.md5 Log Message: added test vectors for the altivec IDCT. If it works as designed (which is probably not true yet) then this is what the md5 output should be like. --- NEW FILE: altivec.md5 --- b0bf65a428c89183a5c72532ee3387d2 *0.pgm 320d73df3ceebdbabf5374891377761e *1.pgm dea7fce83cfe93d86c93faef04e176da *2.pgm 6767e0a36bc416a8becae00da5bb7399 *3.pgm 7b15d39c91f738d0ac7e707b3dddefb5 *4.pgm b7d43c7b8cf8eecd40ccac6d46ea513b *5.pgm b3c47a2449182ac4bc5fa064b61da5a3 *6.pgm 29972f88a7faeaa7daa795085de5f3b2 *7.pgm 08c09bc857fbdaad6ebba8b543bf0e7f *8.pgm 4dda2d94e7ce18f9289e51814ac459da *9.pgm 5f901ee3ebe6b750395c45dcec37577d *10.pgm 7df44c60d6c4bfe904274fcf5ab593ce *11.pgm 8d7ff16187ab488aaf7954b39ee70092 *12.pgm 750c716d5183566e1d084c9e72080899 *13.pgm a999c251f3bb3bb78399036dee3eb923 *14.pgm 2e83d61b7af60c8eaadec8d45f8905c2 *15.pgm 3d07bdb257836a33d98391ef8dc10cf0 *16.pgm 42940510ce431e2dff0bd84d55cccdf4 *17.pgm 38a637776038e2bbc173e2c223fffc1b *18.pgm 20b1169a54b073cdf6feef636cc8a588 *19.pgm d133b49116587382152fad9f006ee90e *20.pgm e3c84aaffd30411049ae52d19e2eb071 *21.pgm 26a4f1690a20bedff49c49d7ef57fc12 *22.pgm 450c7af7b3fed3f81656908b9639a776 *23.pgm 644e90be1f1dd5f057e040d4e59527f9 *24.pgm 31cbfaa47d14381a2e704f6e78b246c5 *25.pgm d16404357d6bb1a5d93fae35212eb360 *26.pgm 2a9dc74e771711e54b9405a5eb4251c7 *27.pgm b7f2661f280954a91b17b5067453fd9e *28.pgm 9a0561486b84e0382e50029befd2ac23 *29.pgm 14a6dadda05d52fe882140964808cb69 *30.pgm 197c0fe72e8529d3e930cac504e7acad *31.pgm 3b6cf1f0d0ecff982b30a5d3474372c2 *32.pgm 5b6a031202bf6d5c5a8a3a408c2adb8a *33.pgm 1739dd0166c5b00eb19460a576b1bccf *34.pgm 4a1947e32c1e2c9b7fcc42569faddc34 *35.pgm 60a542afd2f2f0040aef36e78a02643e *36.pgm 5c0130f1391134be9098b78847c6353b *37.pgm 2aa29460d3353f9547ce5694f9c1738c *38.pgm 24227321f30966648ba5d72019d622f6 *39.pgm ce69f9bb4c04d3ace7c2052b016d9d5e *40.pgm a250bb80f1ad0a290e785846b029f27e *41.pgm b5a3c72507506b263a48c4e284df4faf *42.pgm 839978e649027462e3bea1736f322924 *43.pgm a9195509a440307bf8e450161ab716a2 *44.pgm a0efbc57a790e51438e25e479486dd94 *45.pgm 5254208887aa631a79af69002731242e *46.pgm 24a90be69d9f29a4bf4febf89d5c6e70 *47.pgm 210b337f7fb72ead7c2e2ccff1d76e62 *48.pgm 98c8cb99070107daf4319ec7d752d6f5 *49.pgm 5077502159d0b1441e5eb2e6e3c39964 *50.pgm 23a53c158212e89d32cac57ec7a30ad5 *51.pgm 3bf476147dd45e3a7bcdc8a8aab7e27f *52.pgm af2f17e1193e375a46842698e43bc4fb *53.pgm bdbd898f3f6aae50e7fe8c36054b9cff *54.pgm 5098f9f6f37e4ee28edc10336be53892 *55.pgm 2d1026c8c38816283866bf113cf3de89 *56.pgm a19abcffc859c43bf78af0a6e8ac4d9c *57.pgm 6f3cee1d8e02606a3610965260c17b7c *58.pgm 6b38082a44d0e443bc45757c571c77e3 *59.pgm 0ee2e65f098c2e122198af867a910687 *60.pgm cb3b7bd196b247c5bfb8ec14c7ea1680 *61.pgm a3188de036a6ce0387814d51669c5ece *62.pgm da190f23f615e62889dfad9c21dc5479 *63.pgm 31820c5bb59412e948a42906244e9846 *64.pgm 6a37f83a298af86ee73ab84faf4ff958 *65.pgm b46435e99664a643bad7907ed7cd5319 *66.pgm 5986064b436df94be0b122be9057aa66 *67.pgm 418576b7d4198e6c5cef6f754122f74c *68.pgm 8006632fa626b75739e2070a15207456 *69.pgm b6b5657a22716358ebf609816df3faa5 *70.pgm 7bda8097996cf9542f02efdca84ddaa4 *71.pgm 2253db620419d5f1943ee68a93c22cd6 *72.pgm 87e5f93379ad2469b06a16c17779c6a2 *73.pgm dcdb6e76a604bdaf6854b15eaaffb35a *74.pgm 3f0e3971326e61bf539a58c5c983831b *75.pgm 2eb802effc5234f9a76e889e81abda35 *76.pgm 2bf073106deaee5a6a046f960d775caa *77.pgm 9cb9b231b90576521b258bfce1f282e3 *78.pgm 61805aea7c2384f223834aeefb7a0e71 *79.pgm 4d070427bebc7885ec8e389670cebf63 *80.pgm 355ba4c754159a29018d81113edafcb2 *81.pgm ff355a9d2f82a2a14b9a15365bc89833 *82.pgm a689e03b9c75cf0a3bc7b47b06ece391 *83.pgm 3f401063e6cbf9592414e5a5638497a3 *84.pgm 2533a76a068257796245cb86dfb25b79 *85.pgm cd6eacb81d191e512c33aac84402c329 *86.pgm 9e411081fbe0ad21edc08f35b50e98a3 *87.pgm f230bad2dd7b60c60fe2a7d155ad48f3 *88.pgm c711a46129b8b51b578e74654df1f94f *89.pgm 0422d7e399f5dafaf758279e59165945 *90.pgm 353323d99385ce9c68e34374b1a96802 *91.pgm eae8eef131b38cfde03882722d447a73 *92.pgm 3cf59086f870ccaac12cac4a4c3457fc *93.pgm 2818c1374f892fd28c75c984c0b7ab34 *94.pgm 5d313648690bd0ceedcd93229da007da *95.pgm a6265232979cbfb3b14958b8fe25e438 *96.pgm b9489a7fe8bc71449d1ed7d83c493f90 *97.pgm 7e8465cc14672b0780ab1f811ab2b2db *98.pgm e8db2a04ae6d6ef293f1cd3174aa1dab *99.pgm 46aee1b503a6c88ea04da27d319b7c7f *100.pgm b8be7e3b3f135a37446c180743f4c93f *101.pgm a039bec92fa97abf4ada6b1764a237b1 *102.pgm 179722b5056263d1b71ea1f837bc4636 *103.pgm ca5980e8d617551107672b05fcdd219e *104.pgm 9d9b95edd5150e7bc4899eb9eab504d1 *105.pgm dfb6159f63841040f84dbaed63b12d8c *106.pgm f982ca0dcb5f708446961404a4802dc3 *107.pgm 555dec782323b71158839c721382a0d9 *108.pgm 8d3e73efdb994eaee437edd6537bc3b5 *109.pgm d2162ac8ff88558837b83f71384f71c8 *110.pgm cdd49640330c297ad03ca1a3ade0622d *111.pgm e86e7ef571224612bfc7922b8f4259ff *112.pgm aa0e9657f7f48fd5e21fbc022ca8ae1b *113.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *114.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *115.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *116.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *117.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *118.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *119.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *120.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *121.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *122.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *123.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *124.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *125.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *126.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *127.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *128.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *129.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *130.pgm aa4eba5ef0d79a5c9a5ceec34fe5b4d8 *131.pgm |
From: Michel L. <wa...@us...> - 2001-09-12 05:50:53
|
Update of /cvsroot/libmpeg2/mpeg2dec/libmpeg2 In directory usw-pr-cvs1:/tmp/cvs-serv28781/libmpeg2 Modified Files: Makefile.am idct.c mpeg2_internal.h Added Files: idct_altivec.c Log Message: First pass of checkins for altivec IDCT. This should build on any compiler; however you will need a fairly recent version of binutils with support for altivec assembly. This is very untested, so if it breaks you get to keep both pieces :) --- NEW FILE: idct_altivec.c --- /* * idct_altivec.c * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * mpeg2dec is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "config.h" #ifdef ARCH_PPC #include <inttypes.h> #include "mpeg2_internal.h" #if 0 /* C version of the altivec idct, requires compiler extensions */ #define vector_t vector signed short #define IDCT_HALF \ /* 1st stage */ \ t1 = vec_mradds (a1, vx7, vx1 ); \ t8 = vec_mradds (a1, vx1, vec_subs (zero, vx7)); \ t7 = vec_mradds (a2, vx5, vx3); \ t3 = vec_mradds (ma2, vx3, vx5); \ \ /* 2nd stage */ \ t5 = vec_adds (vx0, vx4); \ t0 = vec_subs (vx0, vx4); \ t2 = vec_mradds (a0, vx6, vx2); \ t4 = vec_mradds (a0, vx2, vec_subs (zero,vx6)); \ t6 = vec_adds (t8, t3); \ t3 = vec_subs (t8, t3); \ t8 = vec_subs (t1, t7); \ t1 = vec_adds (t1, t7); \ \ /* 3rd stage */ \ t7 = vec_adds (t5, t2); \ t2 = vec_subs (t5, t2); \ t5 = vec_adds (t0, t4); \ t0 = vec_subs (t0, t4); \ t4 = vec_subs (t8, t3); \ t3 = vec_adds (t8, t3); \ \ /* 4th stage */ \ vy0 = vec_adds (t7, t1); \ vy7 = vec_subs (t7, t1); \ vy1 = vec_mradds (c4, t3, t5); \ vy6 = vec_mradds (mc4, t3, t5); \ vy2 = vec_mradds (c4, t4, t0); \ vy5 = vec_mradds (mc4, t4, t0); \ vy3 = vec_adds (t2, t6); \ vy4 = vec_subs (t2, t6); #define IDCT \ vector_t vx0, vx1, vx2, vx3, vx4, vx5, vx6, vx7; \ vector_t vy0, vy1, vy2, vy3, vy4, vy5, vy6, vy7; \ vector_t a0, a1, a2, ma2, c4, mc4, zero, bias; \ vector_t t0, t1, t2, t3, t4, t5, t6, t7, t8; \ vector unsigned short shift; \ \ c4 = vec_splat (constants[0], 0); \ a0 = vec_splat (constants[0], 1); \ a1 = vec_splat (constants[0], 2); \ a2 = vec_splat (constants[0], 3); \ mc4 = vec_splat (constants[0], 4); \ ma2 = vec_splat (constants[0], 5); \ bias = (vector_t)vec_splat ((vector signed int)constants[0], 3); \ \ zero = vec_splat_s16 (0); \ shift = vec_splat_u16 (4); \ \ vx0 = vec_mradds (vec_sl (block[0], shift), constants[1], zero); \ vx1 = vec_mradds (vec_sl (block[1], shift), constants[2], zero); \ vx2 = vec_mradds (vec_sl (block[2], shift), constants[3], zero); \ vx3 = vec_mradds (vec_sl (block[3], shift), constants[4], zero); \ vx4 = vec_mradds (vec_sl (block[4], shift), constants[1], zero); \ vx5 = vec_mradds (vec_sl (block[5], shift), constants[4], zero); \ vx6 = vec_mradds (vec_sl (block[6], shift), constants[3], zero); \ vx7 = vec_mradds (vec_sl (block[7], shift), constants[2], zero); \ \ IDCT_HALF \ \ vx0 = vec_mergeh (vy0, vy4); \ vx1 = vec_mergel (vy0, vy4); \ vx2 = vec_mergeh (vy1, vy5); \ vx3 = vec_mergel (vy1, vy5); \ vx4 = vec_mergeh (vy2, vy6); \ vx5 = vec_mergel (vy2, vy6); \ vx6 = vec_mergeh (vy3, vy7); \ vx7 = vec_mergel (vy3, vy7); \ \ vy0 = vec_mergeh (vx0, vx4); \ vy1 = vec_mergel (vx0, vx4); \ vy2 = vec_mergeh (vx1, vx5); \ vy3 = vec_mergel (vx1, vx5); \ vy4 = vec_mergeh (vx2, vx6); \ vy5 = vec_mergel (vx2, vx6); \ vy6 = vec_mergeh (vx3, vx7); \ vy7 = vec_mergel (vx3, vx7); \ \ vx0 = vec_adds (vec_mergeh (vy0, vy4), bias); \ vx1 = vec_mergel (vy0, vy4); \ vx2 = vec_mergeh (vy1, vy5); \ vx3 = vec_mergel (vy1, vy5); \ vx4 = vec_mergeh (vy2, vy6); \ vx5 = vec_mergel (vy2, vy6); \ vx6 = vec_mergeh (vy3, vy7); \ vx7 = vec_mergel (vy3, vy7); \ \ IDCT_HALF \ \ shift = vec_splat_u16 (6); \ vx0 = vec_sra (vy0, shift); \ vx1 = vec_sra (vy1, shift); \ vx2 = vec_sra (vy2, shift); \ vx3 = vec_sra (vy3, shift); \ vx4 = vec_sra (vy4, shift); \ vx5 = vec_sra (vy5, shift); \ vx6 = vec_sra (vy6, shift); \ vx7 = vec_sra (vy7, shift); static vector_t constants[5] = { (vector_t)(23170, 13573, 6518, 21895, -23170, -21895, 32, 31), (vector_t)(16384, 22725, 21407, 19266, 16384, 19266, 21407, 22725), (vector_t)(22725, 31521, 29692, 26722, 22725, 26722, 29692, 31521), (vector_t)(21407, 29692, 27969, 25172, 21407, 25172, 27969, 29692), (vector_t)(19266, 26722, 25172, 22654, 19266, 22654, 25172, 26722) }; void idct_block_add_altivec (vector_t * block, uint8_t * dest, int stride) { vector_t tmp, tmp2; IDCT #define ADD(dest,src) \ *(uint64_t *)&tmp = *(uint64_t *)dest; \ tmp2 = vec_adds (vec_mergeh (zero, tmp), src); \ tmp = (vector_t)vec_packsu (tmp2, tmp2); \ *(uint64_t *)dest = *(uint64_t *)&tmp; ADD (dest, vx0) dest += stride; ADD (dest, vx1) dest += stride; ADD (dest, vx2) dest += stride; ADD (dest, vx3) dest += stride; ADD (dest, vx4) dest += stride; ADD (dest, vx5) dest += stride; ADD (dest, vx6) dest += stride; ADD (dest, vx7) } void idct_block_copy_altivec (vector_t * block, uint8_t * dest, int stride) { vector_t tmp; IDCT #define COPY(dest,src) \ tmp = (vector_t)vec_packsu (src, src); \ *((uint64_t *)dest) = *(uint64_t *)&tmp; COPY (dest, vx0) dest += stride; COPY (dest, vx1) dest += stride; COPY (dest, vx2) dest += stride; COPY (dest, vx3) dest += stride; COPY (dest, vx4) dest += stride; COPY (dest, vx5) dest += stride; COPY (dest, vx6) dest += stride; COPY (dest, vx7) } #else /* asm version of the altivec idct, converted from the above */ asm (" \n" " .section \".data\" \n" " .align 4 \n" " .type prescale,@object \n" " .size prescale,64 \n" "prescale: \n" " .long 1073764549 \n" " .long 1402948418 \n" " .long 1073761090 \n" " .long 1402951877 \n" " .long 1489337121 \n" " .long 1945921634 \n" " .long 1489332322 \n" " .long 1945926433 \n" " .long 1402958844 \n" " .long 1833001556 \n" " .long 1402954324 \n" " .long 1833006076 \n" " .long 1262643298 \n" " .long 1649694846 \n" " .long 1262639230 \n" " .long 1649698914 \n" " .align 4 \n" " .type constants,@object \n" " .size constants,16 \n" "constants: \n" " .long 1518482693 \n" " .long 427185543 \n" " .long -1518425479 \n" " .long 2097183 \n" " .section \".text\" \n" " .align 2 \n" " .globl idct_block_add_altivec \n" " .type idct_block_add_altivec,@function \n" "idct_block_add_altivec: \n" " .extern _savev23 \n" " .extern _restv23 \n" " stwu 1,-176(1) \n" " mflr 0 \n" " stw 0,180(1) \n" " addi 0,1,176 \n" " bl _savev23 \n" " addi 9,3,112 \n" " lvx 0,0,3 \n" " vspltish 25,4 \n" " lvx 12,0,9 \n" " lis 10,prescale@ha \n" " vspltisw 13,0 \n" " addi 9,3,16 \n" " lvx 10,0,9 \n" " la 10,prescale@l(10) \n" " lvx 5,0,10 \n" " addi 11,10,16 \n" " vslh 0,0,25 \n" " addi 8,3,48 \n" " lvx 7,0,11 \n" " vslh 12,12,25 \n" " addi 9,3,80 \n" " lvx 11,0,8 \n" " lvx 1,0,9 \n" " addi 11,10,48 \n" " vslh 10,10,25 \n" " lvx 8,0,11 \n" " vmhraddshs 18,0,5,13 \n" " addi 8,3,96 \n" " addi 11,3,32 \n" " lvx 0,0,8 \n" " vmhraddshs 27,12,7,13 \n" " lis 9,constants@ha \n" " lvx 9,0,11 \n" " vslh 11,11,25 \n" " vslh 1,1,25 \n" " la 9,constants@l(9) \n" " lvx 12,0,9 \n" " vmhraddshs 14,10,7,13 \n" " addi 10,10,32 \n" " lvx 10,0,10 \n" " vmhraddshs 23,1,8,13 \n" " addi 3,3,64 \n" " vmhraddshs 24,11,8,13 \n" " lvx 1,0,3 \n" " lfd 0,0(4) \n" " vslh 9,9,25 \n" " addi 9,1,16 \n" " vslh 0,0,25 \n" " vsplth 8,12,2 \n" " stfd 0,16(1) \n" " vsubshs 11,13,27 \n" " vsplth 3,12,5 \n" " lvx 6,0,9 \n" " vmhraddshs 19,0,10,13 \n" " vsplth 4,12,3 \n" " vmhraddshs 28,9,10,13 \n" " vsplth 7,12,1 \n" " vmhraddshs 31,8,14,11 \n" " vsplth 10,12,0 \n" " vmhraddshs 2,3,24,23 \n" " vsplth 11,12,4 \n" " vslh 1,1,25 \n" " vspltw 12,12,3 \n" " vmhraddshs 26,4,23,24 \n" " vspltish 25,6 \n" " vmhraddshs 9,1,5,13 \n" " vmrghh 6,13,6 \n" " vmhraddshs 27,8,27,14 \n" " vsubshs 0,13,19 \n" " vmhraddshs 14,7,19,28 \n" " vaddshs 23,31,2 \n" " vmhraddshs 1,7,28,0 \n" " vsubshs 2,31,2 \n" " vaddshs 19,18,9 \n" " vsubshs 31,27,26 \n" " vaddshs 27,27,26 \n" " vsubshs 9,18,9 \n" " vaddshs 26,19,14 \n" " vsubshs 14,19,14 \n" " vaddshs 19,9,1 \n" " vsubshs 9,9,1 \n" " vsubshs 1,31,2 \n" " vaddshs 2,31,2 \n" " vmhraddshs 15,11,1,9 \n" " vmhraddshs 29,11,2,19 \n" " vmhraddshs 16,10,2,19 \n" " vmhraddshs 17,10,1,9 \n" " vaddshs 30,14,23 \n" " vsubshs 18,14,23 \n" " vaddshs 5,26,27 \n" " vsubshs 1,26,27 \n" " vmrglh 24,16,15 \n" " vmrglh 14,5,18 \n" " vmrglh 23,17,29 \n" " vmrglh 27,30,1 \n" " vmrghh 19,30,1 \n" " vmrghh 9,17,29 \n" " vmrghh 18,5,18 \n" " vmrglh 30,14,23 \n" " vmrglh 1,24,27 \n" " vmrghh 28,16,15 \n" " vmrglh 16,18,9 \n" " vmrghh 5,18,9 \n" " vmrghh 29,24,27 \n" " vmrglh 27,30,1 \n" " vmrghh 18,28,19 \n" " vmrglh 15,28,19 \n" " vsubshs 0,13,27 \n" " vmrghh 17,14,23 \n" " vmrglh 14,5,18 \n" " vmrglh 23,17,29 \n" " vmrglh 24,16,15 \n" " vmhraddshs 31,8,14,0 \n" " vmrghh 19,30,1 \n" " vmhraddshs 27,8,27,14 \n" " vmhraddshs 2,3,24,23 \n" " vmrghh 28,16,15 \n" " vmhraddshs 26,4,23,24 \n" " vmrghh 0,5,18 \n" " vmhraddshs 14,7,19,28 \n" " vmrghh 9,17,29 \n" " vaddshs 18,0,12 \n" " vsubshs 1,13,19 \n" " vaddshs 23,31,2 \n" " vsubshs 2,31,2 \n" " vaddshs 19,18,9 \n" " vsubshs 31,27,26 \n" " vaddshs 27,27,26 \n" " vaddshs 26,19,14 \n" " vsubshs 9,18,9 \n" " vaddshs 5,26,27 \n" " vmhraddshs 1,7,28,1 \n" " vsrah 18,5,25 \n" " vsubshs 14,19,14 \n" " vaddshs 0,6,18 \n" " vaddshs 30,14,23 \n" " vpkshus 0,0,0 \n" " vaddshs 19,9,1 \n" " stvx 0,0,9 \n" " vsubshs 9,9,1 \n" " lfd 0,16(1) \n" " vsubshs 1,31,2 \n" " stfd 0,0(4) \n" " vaddshs 2,31,2 \n" " add 4,4,5 \n" " vsubshs 18,14,23 \n" " lfd 0,0(4) \n" " vmhraddshs 16,10,2,19 \n" " stfd 0,16(1) \n" " vmhraddshs 17,10,1,9 \n" " lvx 0,0,9 \n" " vmhraddshs 15,11,1,9 \n" " vsubshs 1,26,27 \n" " vsrah 24,30,25 \n" " vsrah 14,16,25 \n" " vmrghh 0,13,0 \n" " vsrah 28,17,25 \n" " vsrah 27,1,25 \n" " vaddshs 0,0,14 \n" " vsrah 9,18,25 \n" " vpkshus 0,0,0 \n" " vsrah 23,15,25 \n" " stvx 0,0,9 \n" " vmhraddshs 29,11,2,19 \n" " lfd 0,16(1) \n" " stfd 0,0(4) \n" " add 4,4,5 \n" " lfd 0,0(4) \n" " stfd 0,16(1) \n" " vsrah 19,29,25 \n" " lvx 0,0,9 \n" " vmrghh 0,13,0 \n" " vaddshs 0,0,28 \n" " vpkshus 1,0,0 \n" " stvx 1,0,9 \n" " lfd 0,16(1) \n" " stfd 0,0(4) \n" " add 4,4,5 \n" " lfd 0,0(4) \n" " stfd 0,16(1) \n" " lvx 0,0,9 \n" " vmrghh 0,13,0 \n" " vaddshs 0,0,24 \n" " vpkshus 1,0,0 \n" " stvx 1,0,9 \n" " lfd 0,16(1) \n" " stfd 0,0(4) \n" " add 4,4,5 \n" " lfd 0,0(4) \n" " stfd 0,16(1) \n" " lvx 0,0,9 \n" " vmrghh 0,13,0 \n" " vaddshs 0,0,9 \n" " vpkshus 1,0,0 \n" " stvx 1,0,9 \n" " lfd 0,16(1) \n" " stfd 0,0(4) \n" " add 4,4,5 \n" " lfd 0,0(4) \n" " stfd 0,16(1) \n" " lvx 0,0,9 \n" " vmrghh 0,13,0 \n" " vaddshs 0,0,23 \n" " vpkshus 1,0,0 \n" " stvx 1,0,9 \n" " lfd 0,16(1) \n" " stfd 0,0(4) \n" " add 4,4,5 \n" " lfd 0,0(4) \n" " stfd 0,16(1) \n" " lvx 0,0,9 \n" " vmrghh 0,13,0 \n" " vaddshs 0,0,19 \n" " vpkshus 1,0,0 \n" " stvx 1,0,9 \n" " lfd 0,16(1) \n" " stfd 0,0(4) \n" " add 4,4,5 \n" " lfd 0,0(4) \n" " stfd 0,16(1) \n" " lvx 0,0,9 \n" " vmrghh 13,13,0 \n" " vaddshs 0,13,27 \n" " vpkshus 0,0,0 \n" " stvx 0,0,9 \n" " lfd 0,16(1) \n" " stfd 0,0(4) \n" " addi 0,1,176 \n" " bl _restv23 \n" " lwz 0,180(1) \n" " mtlr 0 \n" " la 1,176(1) \n" " blr \n" ".Lfe2: \n" " .size idct_block_add_altivec,.Lfe2-idct_block_add_altivec \n" " .align 2 \n" " .globl idct_block_copy_altivec \n" " .type idct_block_copy_altivec,@function \n" "idct_block_copy_altivec: \n" " .extern _savev24 \n" " .extern _restv24 \n" " stwu 1,-160(1) \n" " mflr 0 \n" " stw 0,164(1) \n" " addi 0,1,160 \n" " bl _savev24 \n" " addi 9,3,112 \n" " lvx 0,0,3 \n" " vspltish 25,4 \n" " lvx 13,0,9 \n" " lis 10,prescale@ha \n" " vspltisw 12,0 \n" " addi 9,3,16 \n" " lvx 10,0,9 \n" " la 10,prescale@l(10) \n" " lvx 6,0,10 \n" " addi 11,10,16 \n" " vslh 0,0,25 \n" " addi 8,3,48 \n" " lvx 7,0,11 \n" " vslh 13,13,25 \n" " addi 9,3,80 \n" " lvx 11,0,8 \n" " lvx 1,0,9 \n" " addi 11,10,48 \n" " vslh 10,10,25 \n" " lvx 8,0,11 \n" " vmhraddshs 19,0,6,12 \n" " addi 8,3,96 \n" " addi 11,3,32 \n" " lvx 0,0,8 \n" " vmhraddshs 29,13,7,12 \n" " lis 9,constants@ha \n" " lvx 9,0,11 \n" " vslh 11,11,25 \n" " vslh 1,1,25 \n" " la 9,constants@l(9) \n" " lvx 13,0,9 \n" " vmhraddshs 31,10,7,12 \n" " addi 10,10,32 \n" " lvx 10,0,10 \n" " vmhraddshs 2,1,8,12 \n" " addi 3,3,64 \n" " vmhraddshs 17,11,8,12 \n" " lvx 1,0,3 \n" " addi 9,1,16 \n" " vslh 9,9,25 \n" " vslh 0,0,25 \n" " vsplth 8,13,2 \n" " vsubshs 11,12,29 \n" " vsplth 5,13,5 \n" " vmhraddshs 3,0,10,12 \n" " vsplth 4,13,3 \n" " vmhraddshs 18,9,10,12 \n" " vsplth 7,13,1 \n" " vmhraddshs 9,5,17,2 \n" " vsplth 10,13,0 \n" " vmhraddshs 16,8,31,11 \n" " vslh 1,1,25 \n" " vsplth 11,13,4 \n" " vmhraddshs 27,4,2,17 \n" " vspltw 13,13,3 \n" " vmhraddshs 6,1,6,12 \n" " vspltish 25,6 \n" " vmhraddshs 29,8,29,31 \n" " vmhraddshs 17,7,3,18 \n" " vsubshs 0,12,3 \n" " vaddshs 24,16,9 \n" " vmhraddshs 3,7,18,0 \n" " vsubshs 9,16,9 \n" " vaddshs 2,19,6 \n" " vsubshs 16,29,27 \n" " vaddshs 29,29,27 \n" " vsubshs 1,19,6 \n" " vaddshs 27,2,17 \n" " vsubshs 17,2,17 \n" " vaddshs 2,1,3 \n" " vsubshs 1,1,3 \n" " vsubshs 3,16,9 \n" " vaddshs 9,16,9 \n" " vmhraddshs 6,10,3,1 \n" " vmhraddshs 26,11,9,2 \n" " vmhraddshs 28,11,3,1 \n" " vmhraddshs 15,10,9,2 \n" " vsubshs 1,17,24 \n" " vaddshs 19,27,29 \n" " vaddshs 30,17,24 \n" " vmrglh 2,6,26 \n" " vsubshs 14,27,29 \n" " vmrglh 31,19,1 \n" " vmrglh 17,15,28 \n" " vmrghh 6,6,26 \n" " vmrglh 29,30,14 \n" " vmrghh 19,19,1 \n" " vmrghh 3,30,14 \n" " vmrghh 18,15,28 \n" " vmrglh 15,19,6 \n" " vmrglh 30,31,2 \n" " vmrglh 14,17,29 \n" " vmrghh 19,19,6 \n" " vmrghh 26,17,29 \n" " vmrghh 1,18,3 \n" " vmrglh 29,30,14 \n" " vmrglh 28,18,3 \n" " vmrghh 6,31,2 \n" " vsubshs 0,12,29 \n" " vmrglh 31,19,1 \n" " vmrglh 2,6,26 \n" " vmrglh 17,15,28 \n" " vmhraddshs 16,8,31,0 \n" " vmrghh 3,30,14 \n" " vmhraddshs 29,8,29,31 \n" " vmhraddshs 9,5,17,2 \n" " vmrghh 18,15,28 \n" " vmhraddshs 27,4,2,17 \n" " vmrghh 0,19,1 \n" " vmhraddshs 17,7,3,18 \n" " vmrghh 6,6,26 \n" " vsubshs 12,12,3 \n" " vaddshs 19,0,13 \n" " vaddshs 24,16,9 \n" " vmhraddshs 3,7,18,12 \n" " vsubshs 9,16,9 \n" " vaddshs 2,19,6 \n" " vsubshs 16,29,27 \n" " vaddshs 29,29,27 \n" " vsubshs 1,19,6 \n" " vaddshs 27,2,17 \n" " vsubshs 17,2,17 \n" " vaddshs 2,1,3 \n" " vsubshs 1,1,3 \n" " vsubshs 3,16,9 \n" " vaddshs 9,16,9 \n" " vaddshs 19,27,29 \n" " vmhraddshs 15,10,9,2 \n" " vmhraddshs 6,10,3,1 \n" " vsrah 19,19,25 \n" " vmhraddshs 28,11,3,1 \n" " vpkshus 0,19,19 \n" " vaddshs 30,17,24 \n" " stvx 0,0,9 \n" " vsrah 31,15,25 \n" " lfd 0,16(1) \n" " vsrah 18,6,25 \n" " stfd 0,0(4) \n" " vpkshus 0,31,31 \n" " vsubshs 1,17,24 \n" " stvx 0,0,9 \n" " vsrah 17,30,25 \n" " lfd 0,16(1) \n" " vpkshus 0,18,18 \n" " vsrah 6,1,25 \n" " stvx 0,0,9 \n" " vpkshus 1,17,17 \n" " vmhraddshs 26,11,9,2 \n" " add 4,4,5 \n" " vsrah 2,28,25 \n" " vpkshus 0,6,6 \n" " stfd 0,0(4) \n" " vsubshs 14,27,29 \n" " lfd 0,16(1) \n" " vpkshus 13,2,2 \n" " stvx 1,0,9 \n" " vsrah 29,14,25 \n" " add 4,4,5 \n" " vsrah 3,26,25 \n" " stfd 0,0(4) \n" " vpkshus 12,29,29 \n" " lfd 0,16(1) \n" " vpkshus 1,3,3 \n" " stvx 0,0,9 \n" " add 4,4,5 \n" " stfd 0,0(4) \n" " lfd 13,16(1) \n" " stvx 13,0,9 \n" " add 4,4,5 \n" " stfd 13,0(4) \n" " lfd 0,16(1) \n" " add 4,4,5 \n" " stfd 0,0(4) \n" " stvx 1,0,9 \n" " add 4,4,5 \n" " lfd 0,16(1) \n" " stfd 0,0(4) \n" " stvx 12,0,9 \n" " add 4,4,5 \n" " lfd 0,16(1) \n" " stfd 0,0(4) \n" " addi 0,1,160 \n" " bl _restv24 \n" " lwz 0,164(1) \n" " mtlr 0 \n" " la 1,160(1) \n" " blr \n" ".Lfe3: \n" " .size idct_block_copy_altivec,.Lfe3-idct_block_copy_altivec \n" ); #endif void idct_mmx_init (void) { extern uint8_t scan_norm[64]; extern uint8_t scan_alt[64]; int i, j; /* the altivec idct uses a transposed input, so we patch scan tables */ for (i = 0; i < 64; i++) { j = scan_norm[i]; scan_norm[i] = (j >> 3) | ((j & 7) << 3); j = scan_alt[i]; scan_alt[i] = (j >> 3) | ((j & 7) << 3); } } #endif Index: Makefile.am =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Makefile.am 2001/07/19 08:21:13 1.1.1.1 +++ Makefile.am 2001/09/12 05:50:46 1.2 @@ -3,7 +3,7 @@ lib_LTLIBRARIES = libmpeg2.la libmpeg2_la_SOURCES = decode.c header.c stats.c slice.c \ motion_comp.c motion_comp_mlib.c motion_comp_mmx.c \ - idct.c idct_mlib.c idct_mmx.c + idct.c idct_mlib.c idct_mmx.c idct_altivec.c # the source ordering seems to impact the speed. # On my setup the following ordering is about 2% faster. # I'll have to investigate... Index: idct.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/idct.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- idct.c 2001/07/19 08:21:13 1.1.1.1 +++ idct.c 2001/09/12 05:50:46 1.2 @@ -77,6 +77,14 @@ idct_mmx_init (); } else #endif +#ifdef ARCH_PPC + if (config.flags & MM_ACCEL_PPC_ALTIVEC) { + fprintf (stderr, "Using altivec for IDCT transform\n"); + idct_block_copy = idct_block_copy_altivec; + idct_block_add = idct_block_add_altivec; + idct_altivec_init (); + } else +#endif #ifdef LIBMPEG2_MLIB if (config.flags & MM_ACCEL_MLIB) { fprintf (stderr, "Using mlib for IDCT transform\n"); Index: mpeg2_internal.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/libmpeg2/mpeg2_internal.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- mpeg2_internal.h 2001/07/21 07:52:47 1.2 +++ mpeg2_internal.h 2001/09/12 05:50:46 1.3 @@ -164,6 +164,10 @@ void idct_block_add_mmx (int16_t * block, uint8_t * dest, int stride); void idct_mmx_init (void); +/* idct_altivec.c */ +void idct_block_copy_altivec (int16_t * block, uint8_t * dest, int stride); +void idct_block_add_altivec (int16_t * block, uint8_t * dest, int stride); + /* motion_comp.c */ void motion_comp_init (void); |
From: Michel L. <wa...@us...> - 2001-09-12 05:50:52
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv28781/src Modified Files: cpu_accel.c Log Message: First pass of checkins for altivec IDCT. This should build on any compiler; however you will need a fairly recent version of binutils with support for altivec assembly. This is very untested, so if it breaks you get to keep both pieces :) Index: cpu_accel.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/cpu_accel.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- cpu_accel.c 2001/09/04 08:40:47 1.2 +++ cpu_accel.c 2001/09/12 05:50:46 1.3 @@ -26,7 +26,7 @@ #include "mm_accel.h" #ifdef ARCH_X86 -static uint32_t x86_accel (void) +static uint32_t arch_accel (void) { uint32_t eax, ebx, ecx, edx; int AMD; @@ -101,17 +101,52 @@ return caps; } -#endif +#endif /* ARCH_X86 */ + +#ifdef ARCH_PPC +#include <signal.h> +#include <setjmp.h> + +static sigjmp_buf jmpbuf; +static volatile sig_atomic_t canjump = 0; + +static RETSIGTYPE sigill_handler (int sig) +{ + if (!canjump) { + signal (sig, SIG_DFL); + raise (sig); + } + + canjump = 0; + siglongjump (jmpbuf, 1); +} +static uint32_t arch_accel (void) +{ + signal (SIGILL, sigill_handler); + if (sigsetjmp (jmpbuf, 1)) { + signal (SIGILL, SIG_DFL); + return 0; + } + + canjump = 1; + + asm volatile ("mtspr 256,%0" :: "r" (-1)); + + signal (SIGILL, SIG_DFL); + return MM_ACCEL_PPC_ALTIVEC; +} +#endif /* ARCH_PPC */ + uint32_t mm_accel (void) { -#ifdef ARCH_X86 +#if defined (ARCH_X86) || defined (ARCH_PPC) static int got_accel = 0; static uint32_t accel; if (!got_accel) { got_accel = 1; - accel = x86_accel (); + accel = arch_accel (); } return accel; |
From: Michel L. <wa...@us...> - 2001-09-12 05:50:52
|
Update of /cvsroot/libmpeg2/mpeg2dec/include In directory usw-pr-cvs1:/tmp/cvs-serv28781/include Modified Files: mm_accel.h Log Message: First pass of checkins for altivec IDCT. This should build on any compiler; however you will need a fairly recent version of binutils with support for altivec assembly. This is very untested, so if it breaks you get to keep both pieces :) Index: mm_accel.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/mm_accel.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- mm_accel.h 2001/09/01 22:07:38 1.2 +++ mm_accel.h 2001/09/12 05:50:46 1.3 @@ -30,6 +30,9 @@ #define MM_ACCEL_X86_3DNOW 0x40000000 #define MM_ACCEL_X86_MMXEXT 0x20000000 +/* powerpc accelerations */ +#define MM_ACCEL_PPC_ALTIVEC 0x80000000 + uint32_t mm_accel (void); #endif /* MM_ACCEL_H */ |
From: Michel L. <wa...@us...> - 2001-09-12 05:50:52
|
Update of /cvsroot/libmpeg2/mpeg2dec In directory usw-pr-cvs1:/tmp/cvs-serv28781 Modified Files: configure.in Log Message: First pass of checkins for altivec IDCT. This should build on any compiler; however you will need a fairly recent version of binutils with support for altivec assembly. This is very untested, so if it breaks you get to keep both pieces :) Index: configure.in =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/configure.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- configure.in 2001/09/05 04:01:50 1.5 +++ configure.in 2001/09/12 05:50:46 1.6 @@ -39,6 +39,8 @@ k6-*) OPT_CFLAGS="$CFLAGS -mcpu=k6";; esac AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; + ppc-* | powerpc-*) + AC_DEFINE([ARCH_PPC],,[ppc architecture]);; sparc-*) OPT_CFLAGS="$CFLAGS -mcpu=ultrasparc -mvis" AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; |
From: Michel L. <wa...@us...> - 2001-09-05 04:06:49
|
Update of /cvsroot/libmpeg2/mpeg2dec/include In directory usw-pr-cvs1:/tmp/cvs-serv23604/include Modified Files: .cvsignore Log Message: ignore generated inttypes.h in CVS diffs Index: .cvsignore =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/.cvsignore,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- .cvsignore 2001/07/19 08:21:13 1.1.1.1 +++ .cvsignore 2001/09/05 04:06:46 1.2 @@ -12,3 +12,4 @@ stamp-h.in config.h stamp-h +inttypes.h |
From: Michel L. <wa...@us...> - 2001-09-05 04:01:55
|
Update of /cvsroot/libmpeg2/mpeg2dec/include In directory usw-pr-cvs1:/tmp/cvs-serv22561/include Modified Files: tendra.h Log Message: better TenDRA support Index: tendra.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/tendra.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- tendra.h 2001/09/04 08:48:09 1.2 +++ tendra.h 2001/09/05 04:01:50 1.3 @@ -21,8 +21,13 @@ #pragma TenDRA begin #pragma TenDRA longlong type warning + +#ifdef TenDRA_check + #pragma TenDRA conversion analysis (pointer-int explicit) off #pragma TenDRA implicit function declaration off /* avoid the "No declarations in translation unit" problem */ int TenDRA; + +#endif /* TenDRA_check */ |
From: Michel L. <wa...@us...> - 2001-09-05 04:01:54
|
Update of /cvsroot/libmpeg2/mpeg2dec In directory usw-pr-cvs1:/tmp/cvs-serv22561 Modified Files: configure.in Log Message: better TenDRA support Index: configure.in =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/configure.in,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- configure.in 2001/09/04 08:40:46 1.4 +++ configure.in 2001/09/05 04:01:50 1.5 @@ -97,6 +97,9 @@ dnl compiler warnings OPT_CFLAGS="$CFLAGS -Wall -Werror" AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]) +elif test x"$CC" = x"tcc"; then + dnl TenDRA portability checking compiler + CFLAGS="$CFLAGS -DTenDRA_check" fi AC_C_ATTRIBUTE_ALIGNED |
From: Michel L. <wa...@us...> - 2001-09-04 08:48:12
|
Update of /cvsroot/libmpeg2/mpeg2dec/include In directory usw-pr-cvs1:/tmp/cvs-serv24842/include Modified Files: tendra.h Log Message: add one more TenDRA check Index: tendra.h =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/include/tendra.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tendra.h 2001/09/04 08:40:47 1.1 +++ tendra.h 2001/09/04 08:48:09 1.2 @@ -22,6 +22,7 @@ #pragma TenDRA begin #pragma TenDRA longlong type warning #pragma TenDRA conversion analysis (pointer-int explicit) off +#pragma TenDRA implicit function declaration off /* avoid the "No declarations in translation unit" problem */ int TenDRA; |
From: Michel L. <wa...@us...> - 2001-09-04 08:40:54
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv22353/src Modified Files: cpu_accel.c Log Message: add TenDRA support Index: cpu_accel.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/cpu_accel.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- cpu_accel.c 2001/07/19 08:21:13 1.1.1.1 +++ cpu_accel.c 2001/09/04 08:40:47 1.2 @@ -41,7 +41,7 @@ "=d" (edx) \ : "a" (op) \ : "cc") -#else // PIC version : save ebx +#else /* PIC version : save ebx */ #define cpuid(op,eax,ebx,ecx,edx) \ asm ("pushl %%ebx\n\t" \ "cpuid\n\t" \ |
From: Michel L. <wa...@us...> - 2001-09-04 08:40:54
|
Update of /cvsroot/libmpeg2/mpeg2dec In directory usw-pr-cvs1:/tmp/cvs-serv22353 Modified Files: configure.in Log Message: add TenDRA support Index: configure.in =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/configure.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- configure.in 2001/09/04 08:12:35 1.3 +++ configure.in 2001/09/04 08:40:46 1.4 @@ -46,6 +46,12 @@ OPT_CFLAGS="$CFLAGS -mabi=64" AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; esac +elif test x"$CC" = x"tcc"; then + dnl TenDRA portability checking compiler + CFLAGS="-Xp -Yansi -f`pwd`/include/tendra.h" + enable_mlib=no + no_x=yes + enable_sdl=no else dnl non-gcc flags - we probably need exact configuration triplets here. case "$host_alias" in |
From: Michel L. <wa...@us...> - 2001-09-04 08:40:54
|
Update of /cvsroot/libmpeg2/mpeg2dec/include In directory usw-pr-cvs1:/tmp/cvs-serv22353/include Added Files: tendra.h Log Message: add TenDRA support --- NEW FILE: tendra.h --- /* * tendra.h * Copyright (C) 1999-2001 Aaron Holtzman <aho...@es...> * * This file is part of a52dec, a free ATSC A-52 stream decoder. * * a52dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * a52dec is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #pragma TenDRA begin #pragma TenDRA longlong type warning #pragma TenDRA conversion analysis (pointer-int explicit) off /* avoid the "No declarations in translation unit" problem */ int TenDRA; |
From: Michel L. <wa...@us...> - 2001-09-04 08:12:37
|
Update of /cvsroot/libmpeg2/mpeg2dec/src In directory usw-pr-cvs1:/tmp/cvs-serv16012/src Modified Files: extract_mpeg2.c mpeg2dec.c Log Message: small fixes so we can compile without sys/time.h and strings.h Index: extract_mpeg2.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/extract_mpeg2.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- extract_mpeg2.c 2001/07/23 00:32:03 1.4 +++ extract_mpeg2.c 2001/09/04 08:12:35 1.5 @@ -33,7 +33,7 @@ static FILE * in_file; static int demux_track = 0xe0; -static void print_usage (char * argv[]) +static void print_usage (char ** argv) { fprintf (stderr, "usage: %s [-s<track>] <file>\n" "\t-s\tset track number (0-15 or 0xe0-0xef)\n", argv[0]); @@ -41,7 +41,7 @@ exit (1); } -static void handle_args (int argc, char * argv[]) +static void handle_args (int argc, char ** argv) { int c; char * s; @@ -177,7 +177,7 @@ } while (end == buffer + BUFFER_SIZE); } -int main (int argc,char *argv[]) +int main (int argc, char ** argv) { handle_args (argc, argv); Index: mpeg2dec.c =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/src/mpeg2dec.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- mpeg2dec.c 2001/07/23 00:32:03 1.5 +++ mpeg2dec.c 2001/09/04 08:12:35 1.6 @@ -23,12 +23,14 @@ #include <stdio.h> #include <stdlib.h> -#include <sys/time.h> -#include <signal.h> #include <string.h> #include <errno.h> #include <inttypes.h> #include <getopt.h> +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#include <signal.h> +#endif #include "video_out.h" #include "mpeg2.h" @@ -37,24 +39,39 @@ #define BUFFER_SIZE 262144 static uint8_t buffer[BUFFER_SIZE]; static FILE * in_file; -static uint32_t frame_counter = 0; -static struct timeval tv_beg, tv_end, tv_start; -static int elapsed; -static int total_elapsed; -static int last_count = 0; static int demux_track = 0; static int disable_accel = 0; static mpeg2dec_t mpeg2dec; static vo_open_t * output_open = NULL; +#ifdef HAVE_SYS_TIME_H + +#include <sys/time.h> +#include <signal.h> + +static void print_fps (int final); + +static RETSIGTYPE signal_handler (int sig) +{ + print_fps (1); + signal (sig, SIG_DFL); + raise (sig); +} + static void print_fps (int final) { - int fps, tfps, frames; - + static uint32_t frame_counter = 0; + static struct timeval tv_beg, tv_start; + static int total_elapsed; + static int last_count = 0; + struct timeval tv_end; + int fps, tfps, frames, elapsed; + gettimeofday (&tv_end, NULL); - if (frame_counter++ == 0) { + if (!frame_counter) { tv_start = tv_beg = tv_end; + signal (SIGINT, signal_handler); } elapsed = (tv_end.tv_sec - tv_beg.tv_sec) * 100 + @@ -76,6 +93,8 @@ return; } + frame_counter++; + if (elapsed < 50) /* only display every 0.50 seconds */ return; @@ -94,14 +113,15 @@ last_count = frame_counter; } -static RETSIGTYPE signal_handler (int sig) +#else /* !HAVE_SYS_TIME_H */ + +static void print_fps (int final) { - print_fps (1); - signal (sig, SIG_DFL); - raise (sig); } -static void print_usage (char * argv[]) +#endif + +static void print_usage (char ** argv) { int i; vo_driver_t * drivers; @@ -119,7 +139,7 @@ exit (1); } -static void handle_args (int argc, char * argv[]) +static void handle_args (int argc, char ** argv) { int c; vo_driver_t * drivers; @@ -301,7 +321,7 @@ } while (end == buffer + BUFFER_SIZE); } -int main (int argc,char *argv[]) +int main (int argc, char ** argv) { vo_instance_t * output; uint32_t accel; @@ -320,10 +340,6 @@ return 1; } mpeg2_init (&mpeg2dec, accel, output); - - signal (SIGINT, signal_handler); - - gettimeofday (&tv_beg, NULL); if (demux_track) ps_loop (); |
From: Michel L. <wa...@us...> - 2001-09-04 08:12:37
|
Update of /cvsroot/libmpeg2/mpeg2dec In directory usw-pr-cvs1:/tmp/cvs-serv16012 Modified Files: configure.in Log Message: small fixes so we can compile without sys/time.h and strings.h Index: configure.in =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/configure.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- configure.in 2001/07/23 00:31:59 1.2 +++ configure.in 2001/09/04 08:12:35 1.3 @@ -68,6 +68,7 @@ dnl Checks for header files. INCLUDES='-I$(top_srcdir)/include -I$(top_builddir)/include' AC_SUBST(INCLUDES) +AC_CHECK_HEADERS([string.h sys/time.h]) AC_CHECK_GENERATE_INTTYPES(include) dnl Checks for typedefs, structures, and compiler characteristics. |
From: Michel L. <wa...@us...> - 2001-09-03 11:14:26
|
Update of /cvsroot/libmpeg2/mpeg2dec-streams/twilight_zone/walken/mpeg1_start_slice In directory usw-pr-cvs1:/tmp/cvs-serv31473 Modified Files: README Log Message: noticed this stream also uses general slice structure Index: README =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec-streams/twilight_zone/walken/mpeg1_start_slice/README,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- README 2001/09/03 10:32:53 1.1 +++ README 2001/09/03 11:14:22 1.2 @@ -9,3 +9,6 @@ slice. However most decoders, who use the notion of macroblock address internally, will not notice the weird construct and just decode it fine. + +Additionally this stream also uses the general slice structure, see +mpeg1_slice/README for comments (this is also definitely illegal). |
From: Michel L. <wa...@us...> - 2001-09-03 10:47:20
|
Update of /cvsroot/libmpeg2/mpeg2dec/test In directory usw-pr-cvs1:/tmp/cvs-serv23240/test Modified Files: tests Log Message: added two new test cases Index: tests =================================================================== RCS file: /cvsroot/libmpeg2/mpeg2dec/test/tests,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- tests 2001/07/21 08:46:20 1.4 +++ tests 2001/09/03 10:47:17 1.5 @@ -49,6 +49,8 @@ twilight_zone/walken/mpeg1_full_pix # OK - mpeg1 full pixel MC twilight_zone/walken/mpeg1_stuffing # OK - mpeg1 macroblk stuffing +twilight_zone/walken/mpeg1_start_slice # OK - weird mba at slice start +twilight_zone/walken/mpeg1_slice # OK - general slice structure twilight_zone/anonymous/anonymous # OK twilight_zone/chromatic/chroma_dct_type-1 # OK twilight_zone/tcela/tcela-12 # OK - IDCT drift - see 7.4.4 |