{"payload":{"allShortcutsEnabled":false,"fileTree":{"src/audio":{"items":[{"name":"alsa","path":"src/audio/alsa","contentType":"directory"},{"name":"amigaos","path":"src/audio/amigaos","contentType":"directory"},{"name":"arts","path":"src/audio/arts","contentType":"directory"},{"name":"baudio","path":"src/audio/baudio","contentType":"directory"},{"name":"dc","path":"src/audio/dc","contentType":"directory"},{"name":"disk","path":"src/audio/disk","contentType":"directory"},{"name":"dma","path":"src/audio/dma","contentType":"directory"},{"name":"dmedia","path":"src/audio/dmedia","contentType":"directory"},{"name":"dsp","path":"src/audio/dsp","contentType":"directory"},{"name":"esd","path":"src/audio/esd","contentType":"directory"},{"name":"macrom","path":"src/audio/macrom","contentType":"directory"},{"name":"mint","path":"src/audio/mint","contentType":"directory"},{"name":"mme","path":"src/audio/mme","contentType":"directory"},{"name":"nas","path":"src/audio/nas","contentType":"directory"},{"name":"nto","path":"src/audio/nto","contentType":"directory"},{"name":"openbsd","path":"src/audio/openbsd","contentType":"directory"},{"name":"paudio","path":"src/audio/paudio","contentType":"directory"},{"name":"riscos","path":"src/audio/riscos","contentType":"directory"},{"name":"sun","path":"src/audio/sun","contentType":"directory"},{"name":"ums","path":"src/audio/ums","contentType":"directory"},{"name":"windib","path":"src/audio/windib","contentType":"directory"},{"name":"windx5","path":"src/audio/windx5","contentType":"directory"},{"name":".cvsignore","path":"src/audio/.cvsignore","contentType":"file"},{"name":"Makefile.am","path":"src/audio/Makefile.am","contentType":"file"},{"name":"SDL_audio.c","path":"src/audio/SDL_audio.c","contentType":"file"},{"name":"SDL_audio_c.h","path":"src/audio/SDL_audio_c.h","contentType":"file"},{"name":"SDL_audiocvt.c","path":"src/audio/SDL_audiocvt.c","contentType":"file"},{"name":"SDL_audiodev.c","path":"src/audio/SDL_audiodev.c","contentType":"file"},{"name":"SDL_audiodev_c.h","path":"src/audio/SDL_audiodev_c.h","contentType":"file"},{"name":"SDL_audiomem.c","path":"src/audio/SDL_audiomem.c","contentType":"file"},{"name":"SDL_audiomem.h","path":"src/audio/SDL_audiomem.h","contentType":"file"},{"name":"SDL_mixer.c","path":"src/audio/SDL_mixer.c","contentType":"file"},{"name":"SDL_mixer_MMX.c","path":"src/audio/SDL_mixer_MMX.c","contentType":"file"},{"name":"SDL_mixer_MMX.h","path":"src/audio/SDL_mixer_MMX.h","contentType":"file"},{"name":"SDL_mixer_MMX_VC.c","path":"src/audio/SDL_mixer_MMX_VC.c","contentType":"file"},{"name":"SDL_mixer_MMX_VC.h","path":"src/audio/SDL_mixer_MMX_VC.h","contentType":"file"},{"name":"SDL_mixer_m68k.c","path":"src/audio/SDL_mixer_m68k.c","contentType":"file"},{"name":"SDL_mixer_m68k.h","path":"src/audio/SDL_mixer_m68k.h","contentType":"file"},{"name":"SDL_sysaudio.h","path":"src/audio/SDL_sysaudio.h","contentType":"file"},{"name":"SDL_wave.c","path":"src/audio/SDL_wave.c","contentType":"file"},{"name":"SDL_wave.h","path":"src/audio/SDL_wave.h","contentType":"file"}],"totalCount":41},"src":{"items":[{"name":"audio","path":"src/audio","contentType":"directory"},{"name":"cdrom","path":"src/cdrom","contentType":"directory"},{"name":"cpuinfo","path":"src/cpuinfo","contentType":"directory"},{"name":"endian","path":"src/endian","contentType":"directory"},{"name":"events","path":"src/events","contentType":"directory"},{"name":"file","path":"src/file","contentType":"directory"},{"name":"hermes","path":"src/hermes","contentType":"directory"},{"name":"joystick","path":"src/joystick","contentType":"directory"},{"name":"main","path":"src/main","contentType":"directory"},{"name":"thread","path":"src/thread","contentType":"directory"},{"name":"timer","path":"src/timer","contentType":"directory"},{"name":"video","path":"src/video","contentType":"directory"},{"name":".cvsignore","path":"src/.cvsignore","contentType":"file"},{"name":"Makefile.am","path":"src/Makefile.am","contentType":"file"},{"name":"SDL.c","path":"src/SDL.c","contentType":"file"},{"name":"SDL_error.c","path":"src/SDL_error.c","contentType":"file"},{"name":"SDL_error_c.h","path":"src/SDL_error_c.h","contentType":"file"},{"name":"SDL_fatal.c","path":"src/SDL_fatal.c","contentType":"file"},{"name":"SDL_fatal.h","path":"src/SDL_fatal.h","contentType":"file"},{"name":"SDL_getenv.c","path":"src/SDL_getenv.c","contentType":"file"},{"name":"SDL_loadso.c","path":"src/SDL_loadso.c","contentType":"file"}],"totalCount":21},"":{"items":[{"name":"docs","path":"docs","contentType":"directory"},{"name":"include","path":"include","contentType":"directory"},{"name":"src","path":"src","contentType":"directory"},{"name":"test","path":"test","contentType":"directory"},{"name":".cvsignore","path":".cvsignore","contentType":"file"},{"name":"BUGS","path":"BUGS","contentType":"file"},{"name":"Borland.html","path":"Borland.html","contentType":"file"},{"name":"Borland.zip","path":"Borland.zip","contentType":"file"},{"name":"COPYING","path":"COPYING","contentType":"file"},{"name":"CREDITS","path":"CREDITS","contentType":"file"},{"name":"CWprojects.sea.bin","path":"CWprojects.sea.bin","contentType":"file"},{"name":"EpocBuildFiles.zip","path":"EpocBuildFiles.zip","contentType":"file"},{"name":"INSTALL","path":"INSTALL","contentType":"file"},{"name":"MPWmake.sea.bin","path":"MPWmake.sea.bin","contentType":"file"},{"name":"Makefile.am","path":"Makefile.am","contentType":"file"},{"name":"Makefile.dc","path":"Makefile.dc","contentType":"file"},{"name":"PBProjects.tar.gz","path":"PBProjects.tar.gz","contentType":"file"},{"name":"README","path":"README","contentType":"file"},{"name":"README-SDL.txt","path":"README-SDL.txt","contentType":"file"},{"name":"README.AmigaOS","path":"README.AmigaOS","contentType":"file"},{"name":"README.CVS","path":"README.CVS","contentType":"file"},{"name":"README.DC","path":"README.DC","contentType":"file"},{"name":"README.Epoc","path":"README.Epoc","contentType":"file"},{"name":"README.MacOS","path":"README.MacOS","contentType":"file"},{"name":"README.MacOSX","path":"README.MacOSX","contentType":"file"},{"name":"README.MiNT","path":"README.MiNT","contentType":"file"},{"name":"README.NanoX","path":"README.NanoX","contentType":"file"},{"name":"README.PicoGUI","path":"README.PicoGUI","contentType":"file"},{"name":"README.QNX","path":"README.QNX","contentType":"file"},{"name":"README.Qtopia","path":"README.Qtopia","contentType":"file"},{"name":"README.WinCE","path":"README.WinCE","contentType":"file"},{"name":"SDL.qpg.in","path":"SDL.qpg.in","contentType":"file"},{"name":"SDL.spec.in","path":"SDL.spec.in","contentType":"file"},{"name":"TODO","path":"TODO","contentType":"file"},{"name":"VisualC.html","path":"VisualC.html","contentType":"file"},{"name":"VisualC.zip","path":"VisualC.zip","contentType":"file"},{"name":"VisualC7.zip","path":"VisualC7.zip","contentType":"file"},{"name":"VisualCE.zip","path":"VisualCE.zip","contentType":"file"},{"name":"WhatsNew","path":"WhatsNew","contentType":"file"},{"name":"acinclude.m4","path":"acinclude.m4","contentType":"file"},{"name":"autogen.sh","path":"autogen.sh","contentType":"file"},{"name":"config.guess","path":"config.guess","contentType":"file"},{"name":"config.sub","path":"config.sub","contentType":"file"},{"name":"configure.in","path":"configure.in","contentType":"file"},{"name":"docs.html","path":"docs.html","contentType":"file"},{"name":"ltmain.sh","path":"ltmain.sh","contentType":"file"},{"name":"sdl-config.in","path":"sdl-config.in","contentType":"file"},{"name":"sdl.m4","path":"sdl.m4","contentType":"file"},{"name":"strip_fPIC.sh","path":"strip_fPIC.sh","contentType":"file"}],"totalCount":49}},"fileTreeProcessingTime":15.713501,"foldersToFetch":[],"repo":{"id":330016327,"defaultBranch":"main","name":"SDL-1.2","ownerLogin":"libsdl-org","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-01-15T20:34:18.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/77683370?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","listCacheKey":"v0:1610743371.0","canEdit":false,"refType":"tree","currentOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3"},"path":"src/audio/SDL_mixer_MMX.c","currentUser":null,"blob":{"rawLines":["// MMX assembler version of SDL_MixAudio for signed little endian 16 bit samples and signed 8 bit samples","// Copyright 2002 Stephane Marchesin (stephane.marchesin@wanadoo.fr)","// This code is licensed under the LGPL (see COPYING for details)","// ","// Assumes buffer size in bytes is a multiple of 16","// Assumes SDL_MIX_MAXVOLUME = 128","","","////////////////////////////////////////////////","// Mixing for 16 bit signed buffers","////////////////////////////////////////////////","","#if defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT)","void SDL_MixAudio_MMX_S16(char* dst,char* src,unsigned int size,int volume)","{"," __asm__ __volatile__ (","","\"\tmovl %3,%%eax\\n\"\t// eax = volume","","\"\tmovl %2,%%edx\\n\"\t// edx = size","","\"\tshrl $4,%%edx\\n\"\t// process 16 bytes per iteration = 8 samples","","\"\tjz .endS16\\n\"","","\"\tpxor %%mm0,%%mm0\\n\"","","\"\tmovd %%eax,%%mm0\\n\"","\"\tmovq %%mm0,%%mm1\\n\"","\"\tpsllq $16,%%mm0\\n\"","\"\tpor %%mm1,%%mm0\\n\"","\"\tpsllq $16,%%mm0\\n\"","\"\tpor %%mm1,%%mm0\\n\"","\"\tpsllq $16,%%mm0\\n\"","\"\tpor %%mm1,%%mm0\\n\"\t\t// mm0 = vol|vol|vol|vol","","\".align 16\\n\"","\"\t.mixloopS16:\\n\"","","\"\tmovq (%1),%%mm1\\n\" // mm1 = a|b|c|d","","\"\tmovq %%mm1,%%mm2\\n\" // mm2 = a|b|c|d","","\"\tmovq 8(%1),%%mm4\\n\" // mm4 = e|f|g|h","","\t// pré charger le buffer dst dans mm7","\"\tmovq (%0),%%mm7\\n\" // mm7 = dst[0]\"","","\t// multiplier par le volume","\"\tpmullw %%mm0,%%mm1\\n\" // mm1 = l(a*v)|l(b*v)|l(c*v)|l(d*v)","","\"\tpmulhw %%mm0,%%mm2\\n\" // mm2 = h(a*v)|h(b*v)|h(c*v)|h(d*v)","\"\tmovq %%mm4,%%mm5\\n\" // mm5 = e|f|g|h","","\"\tpmullw %%mm0,%%mm4\\n\" // mm4 = l(e*v)|l(f*v)|l(g*v)|l(h*v)","","\"\tpmulhw %%mm0,%%mm5\\n\" // mm5 = h(e*v)|h(f*v)|h(g*v)|h(h*v)","\"\tmovq %%mm1,%%mm3\\n\" // mm3 = l(a*v)|l(b*v)|l(c*v)|l(d*v)","","\"\tpunpckhwd %%mm2,%%mm1\\n\" // mm1 = a*v|b*v","","\"\tmovq %%mm4,%%mm6\\n\" // mm6 = l(e*v)|l(f*v)|l(g*v)|l(h*v)","\"\tpunpcklwd %%mm2,%%mm3\\n\" // mm3 = c*v|d*v","","\"\tpunpckhwd %%mm5,%%mm4\\n\" // mm4 = e*f|f*v","","\"\tpunpcklwd %%mm5,%%mm6\\n\" // mm6 = g*v|h*v","","\t// pré charger le buffer dst dans mm5","\"\tmovq 8(%0),%%mm5\\n\" // mm5 = dst[1]","","\t// diviser par 128","\"\tpsrad $7,%%mm1\\n\" // mm1 = a*v/128|b*v/128 , 128 = SDL_MIX_MAXVOLUME","\"\tadd $16,%1\\n\"","","\"\tpsrad $7,%%mm3\\n\" // mm3 = c*v/128|d*v/128","","\"\tpsrad $7,%%mm4\\n\" // mm4 = e*v/128|f*v/128","","\t// mm1 = le sample avec le volume modifié","\"\tpackssdw %%mm1,%%mm3\\n\" // mm3 = s(a*v|b*v|c*v|d*v)","","\"\tpsrad $7,%%mm6\\n\" // mm6= g*v/128|h*v/128","\"\tpaddsw %%mm7,%%mm3\\n\" // mm3 = adjust_volume(src)+dst","","\t// mm4 = le sample avec le volume modifié","\"\tpackssdw %%mm4,%%mm6\\n\" // mm6 = s(e*v|f*v|g*v|h*v)","\"\tmovq %%mm3,(%0)\\n\"","","\"\tpaddsw %%mm5,%%mm6\\n\" // mm6 = adjust_volume(src)+dst","","\"\tmovq %%mm6,8(%0)\\n\"","","\"\tadd $16,%0\\n\"","","\"\tdec %%edx\\n\"","","\"\tjnz .mixloopS16\\n\"","","\"\temms\\n\"","","\".endS16:\\n\"","\t :","\t : \"r\" (dst), \"r\"(src),\"m\"(size),","\t \"m\"(volume)","\t : \"eax\",\"edx\",\"memory\"","\t );","}","","","","////////////////////////////////////////////////","// Mixing for 8 bit signed buffers","////////////////////////////////////////////////","","void SDL_MixAudio_MMX_S8(char* dst,char* src,unsigned int size,int volume)","{"," __asm__ __volatile__ (","","\"\tmovl %3,%%eax\\n\"\t// eax = volume","","\"\tmovd %%edx,%%mm0\\n\"","\"\tmovq %%mm0,%%mm1\\n\"","\"\tpsllq $16,%%mm0\\n\"","\"\tpor %%mm1,%%mm0\\n\"","\"\tpsllq $16,%%mm0\\n\"","\"\tpor %%mm1,%%mm0\\n\"","\"\tpsllq $16,%%mm0\\n\"","\"\tpor %%mm1,%%mm0\\n\"","","\"\tmovl %2,%%edx\\n\"\t// edx = size","\"\tshr $3,%%edx\\n\"\t// process 8 bytes per iteration = 8 samples","","\"\tcmp $0,%%edx\\n\"","\"\tje .endS8\\n\"","","\".align 16\\n\"","\"\t.mixloopS8:\\n\"","","\"\tpxor %%mm2,%%mm2\\n\"\t\t// mm2 = 0","\"\tmovq (%1),%%mm1\\n\"\t// mm1 = a|b|c|d|e|f|g|h","","\"\tmovq %%mm1,%%mm3\\n\" \t// mm3 = a|b|c|d|e|f|g|h","","\t// on va faire le \"sign extension\" en faisant un cmp avec 0 qui retourne 1 si <0, 0 si >0","\"\tpcmpgtb %%mm1,%%mm2\\n\"\t// mm2 = 11111111|00000000|00000000....","","\"\tpunpckhbw %%mm2,%%mm1\\n\"\t// mm1 = 0|a|0|b|0|c|0|d","","\"\tpunpcklbw %%mm2,%%mm3\\n\"\t// mm3 = 0|e|0|f|0|g|0|h","\"\tmovq (%0),%%mm2\\n\"\t// mm2 = destination","","\"\tpmullw %%mm0,%%mm1\\n\"\t// mm1 = v*a|v*b|v*c|v*d","\"\tadd $8,%1\\n\"","","\"\tpmullw %%mm0,%%mm3\\n\"\t// mm3 = v*e|v*f|v*g|v*h","\"\tpsraw $7,%%mm1\\n\"\t\t// mm1 = v*a/128|v*b/128|v*c/128|v*d/128 ","","\"\tpsraw $7,%%mm3\\n\"\t\t// mm3 = v*e/128|v*f/128|v*g/128|v*h/128","","\"\tpacksswb %%mm1,%%mm3\\n\"\t// mm1 = v*a/128|v*b/128|v*c/128|v*d/128|v*e/128|v*f/128|v*g/128|v*h/128","","\"\tpaddsb %%mm2,%%mm3\\n\"\t// add to destination buffer","","\"\tmovq %%mm3,(%0)\\n\"\t// store back to ram","\"\tadd $8,%0\\n\"","","\"\tdec %%edx\\n\"","","\"\tjnz .mixloopS8\\n\"","","\".endS8:\\n\"","\"\temms\\n\"","\t :","\t : \"r\" (dst), \"r\"(src),\"m\"(size),","\t \"m\"(volume)","\t : \"eax\",\"edx\",\"memory\"","\t );","}","#endif"],"stylingDirectives":[[{"start":0,"end":105,"cssClass":"pl-c"}],[{"start":0,"end":68,"cssClass":"pl-c"}],[{"start":0,"end":65,"cssClass":"pl-c"}],[{"start":0,"end":3,"cssClass":"pl-c"}],[{"start":0,"end":51,"cssClass":"pl-c"}],[{"start":0,"end":34,"cssClass":"pl-c"}],[],[],[{"start":0,"end":48,"cssClass":"pl-c"}],[{"start":0,"end":35,"cssClass":"pl-c"}],[{"start":0,"end":48,"cssClass":"pl-c"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":29,"end":37,"cssClass":"pl-s1"},{"start":39,"end":41,"cssClass":"pl-c1"},{"start":50,"end":61,"cssClass":"pl-c1"}],[{"start":0,"end":4,"cssClass":"pl-smi"},{"start":5,"end":25,"cssClass":"pl-en"},{"start":26,"end":30,"cssClass":"pl-smi"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":35,"cssClass":"pl-s1"},{"start":36,"end":40,"cssClass":"pl-smi"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":42,"end":45,"cssClass":"pl-s1"},{"start":46,"end":58,"cssClass":"pl-smi"},{"start":55,"end":58,"cssClass":"pl-smi"},{"start":59,"end":63,"cssClass":"pl-s1"},{"start":64,"end":67,"cssClass":"pl-smi"},{"start":68,"end":74,"cssClass":"pl-s1"}],[],[{"start":4,"end":11,"cssClass":"pl-smi"},{"start":12,"end":24,"cssClass":"pl-s1"}],[],[{"start":0,"end":18,"cssClass":"pl-s"},{"start":19,"end":34,"cssClass":"pl-c"}],[],[{"start":0,"end":18,"cssClass":"pl-s"},{"start":19,"end":32,"cssClass":"pl-c"}],[],[{"start":0,"end":18,"cssClass":"pl-s"},{"start":19,"end":64,"cssClass":"pl-c"}],[],[{"start":0,"end":15,"cssClass":"pl-s"}],[],[{"start":0,"end":21,"cssClass":"pl-s"}],[],[{"start":0,"end":21,"cssClass":"pl-s"}],[{"start":0,"end":21,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"},{"start":22,"end":46,"cssClass":"pl-c"}],[],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":17,"cssClass":"pl-s"}],[],[{"start":0,"end":20,"cssClass":"pl-s"},{"start":21,"end":37,"cssClass":"pl-c"}],[],[{"start":0,"end":21,"cssClass":"pl-s"},{"start":22,"end":38,"cssClass":"pl-c"}],[],[{"start":0,"end":21,"cssClass":"pl-s"},{"start":22,"end":38,"cssClass":"pl-c"}],[],[{"start":1,"end":38,"cssClass":"pl-c"}],[{"start":0,"end":20,"cssClass":"pl-s"},{"start":21,"end":37,"cssClass":"pl-c"}],[],[{"start":1,"end":28,"cssClass":"pl-c"}],[{"start":0,"end":23,"cssClass":"pl-s"},{"start":24,"end":60,"cssClass":"pl-c"}],[],[{"start":0,"end":23,"cssClass":"pl-s"},{"start":24,"end":60,"cssClass":"pl-c"}],[{"start":0,"end":21,"cssClass":"pl-s"},{"start":22,"end":38,"cssClass":"pl-c"}],[],[{"start":0,"end":23,"cssClass":"pl-s"},{"start":24,"end":60,"cssClass":"pl-c"}],[],[{"start":0,"end":23,"cssClass":"pl-s"},{"start":24,"end":60,"cssClass":"pl-c"}],[{"start":0,"end":21,"cssClass":"pl-s"},{"start":22,"end":58,"cssClass":"pl-c"}],[],[{"start":0,"end":26,"cssClass":"pl-s"},{"start":27,"end":43,"cssClass":"pl-c"}],[],[{"start":0,"end":21,"cssClass":"pl-s"},{"start":22,"end":58,"cssClass":"pl-c"}],[{"start":0,"end":26,"cssClass":"pl-s"},{"start":27,"end":43,"cssClass":"pl-c"}],[],[{"start":0,"end":26,"cssClass":"pl-s"},{"start":27,"end":43,"cssClass":"pl-c"}],[],[{"start":0,"end":26,"cssClass":"pl-s"},{"start":27,"end":43,"cssClass":"pl-c"}],[],[{"start":1,"end":38,"cssClass":"pl-c"}],[{"start":0,"end":21,"cssClass":"pl-s"},{"start":22,"end":37,"cssClass":"pl-c"}],[],[{"start":1,"end":19,"cssClass":"pl-c"}],[{"start":0,"end":19,"cssClass":"pl-s"},{"start":20,"end":70,"cssClass":"pl-c"}],[{"start":0,"end":15,"cssClass":"pl-s"}],[],[{"start":0,"end":19,"cssClass":"pl-s"},{"start":20,"end":44,"cssClass":"pl-c"}],[],[{"start":0,"end":19,"cssClass":"pl-s"},{"start":20,"end":44,"cssClass":"pl-c"}],[],[{"start":1,"end":42,"cssClass":"pl-c"}],[{"start":0,"end":25,"cssClass":"pl-s"},{"start":26,"end":53,"cssClass":"pl-c"}],[],[{"start":0,"end":19,"cssClass":"pl-s"},{"start":20,"end":43,"cssClass":"pl-c"}],[{"start":0,"end":23,"cssClass":"pl-s"},{"start":24,"end":55,"cssClass":"pl-c"}],[],[{"start":1,"end":42,"cssClass":"pl-c"}],[{"start":0,"end":25,"cssClass":"pl-s"},{"start":26,"end":53,"cssClass":"pl-c"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[],[{"start":0,"end":23,"cssClass":"pl-s"},{"start":24,"end":55,"cssClass":"pl-c"}],[],[{"start":0,"end":21,"cssClass":"pl-s"}],[],[{"start":0,"end":15,"cssClass":"pl-s"}],[],[{"start":0,"end":14,"cssClass":"pl-s"}],[],[{"start":0,"end":20,"cssClass":"pl-s"}],[],[{"start":0,"end":9,"cssClass":"pl-s"}],[],[{"start":0,"end":12,"cssClass":"pl-s"}],[],[{"start":5,"end":6,"cssClass":"pl-s1"},{"start":9,"end":12,"cssClass":"pl-s1"},{"start":15,"end":18,"cssClass":"pl-s"},{"start":19,"end":22,"cssClass":"pl-s1"},{"start":24,"end":27,"cssClass":"pl-s"},{"start":28,"end":32,"cssClass":"pl-s1"}],[{"start":2,"end":5,"cssClass":"pl-s"},{"start":6,"end":12,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s"},{"start":10,"end":15,"cssClass":"pl-s"},{"start":16,"end":24,"cssClass":"pl-s"}],[],[],[],[],[],[{"start":0,"end":48,"cssClass":"pl-c"}],[{"start":0,"end":34,"cssClass":"pl-c"}],[{"start":0,"end":48,"cssClass":"pl-c"}],[],[{"start":0,"end":4,"cssClass":"pl-smi"},{"start":5,"end":24,"cssClass":"pl-en"},{"start":25,"end":29,"cssClass":"pl-smi"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":34,"cssClass":"pl-s1"},{"start":35,"end":39,"cssClass":"pl-smi"},{"start":39,"end":40,"cssClass":"pl-c1"},{"start":41,"end":44,"cssClass":"pl-s1"},{"start":45,"end":57,"cssClass":"pl-smi"},{"start":54,"end":57,"cssClass":"pl-smi"},{"start":58,"end":62,"cssClass":"pl-s1"},{"start":63,"end":66,"cssClass":"pl-smi"},{"start":67,"end":73,"cssClass":"pl-s1"}],[],[{"start":4,"end":11,"cssClass":"pl-smi"},{"start":12,"end":24,"cssClass":"pl-s1"}],[],[{"start":0,"end":18,"cssClass":"pl-s"},{"start":19,"end":34,"cssClass":"pl-c"}],[],[{"start":0,"end":21,"cssClass":"pl-s"}],[{"start":0,"end":21,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[{"start":0,"end":20,"cssClass":"pl-s"}],[],[{"start":0,"end":18,"cssClass":"pl-s"},{"start":19,"end":32,"cssClass":"pl-c"}],[{"start":0,"end":17,"cssClass":"pl-s"},{"start":18,"end":62,"cssClass":"pl-c"}],[],[{"start":0,"end":17,"cssClass":"pl-s"}],[{"start":0,"end":14,"cssClass":"pl-s"}],[],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[],[{"start":0,"end":21,"cssClass":"pl-s"},{"start":23,"end":33,"cssClass":"pl-c"}],[{"start":0,"end":20,"cssClass":"pl-s"},{"start":21,"end":45,"cssClass":"pl-c"}],[],[{"start":0,"end":21,"cssClass":"pl-s"},{"start":23,"end":47,"cssClass":"pl-c"}],[],[{"start":1,"end":90,"cssClass":"pl-c"}],[{"start":0,"end":24,"cssClass":"pl-s"},{"start":25,"end":64,"cssClass":"pl-c"}],[],[{"start":0,"end":26,"cssClass":"pl-s"},{"start":27,"end":51,"cssClass":"pl-c"}],[],[{"start":0,"end":26,"cssClass":"pl-s"},{"start":27,"end":51,"cssClass":"pl-c"}],[{"start":0,"end":20,"cssClass":"pl-s"},{"start":21,"end":41,"cssClass":"pl-c"}],[],[{"start":0,"end":23,"cssClass":"pl-s"},{"start":24,"end":48,"cssClass":"pl-c"}],[{"start":0,"end":14,"cssClass":"pl-s"}],[],[{"start":0,"end":23,"cssClass":"pl-s"},{"start":24,"end":48,"cssClass":"pl-c"}],[{"start":0,"end":19,"cssClass":"pl-s"},{"start":21,"end":62,"cssClass":"pl-c"}],[],[{"start":0,"end":19,"cssClass":"pl-s"},{"start":21,"end":61,"cssClass":"pl-c"}],[],[{"start":0,"end":25,"cssClass":"pl-s"},{"start":26,"end":98,"cssClass":"pl-c"}],[],[{"start":0,"end":23,"cssClass":"pl-s"},{"start":24,"end":52,"cssClass":"pl-c"}],[],[{"start":0,"end":20,"cssClass":"pl-s"},{"start":21,"end":41,"cssClass":"pl-c"}],[{"start":0,"end":14,"cssClass":"pl-s"}],[],[{"start":0,"end":14,"cssClass":"pl-s"}],[],[{"start":0,"end":19,"cssClass":"pl-s"}],[],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":0,"end":9,"cssClass":"pl-s"}],[],[{"start":5,"end":6,"cssClass":"pl-s1"},{"start":9,"end":12,"cssClass":"pl-s1"},{"start":15,"end":18,"cssClass":"pl-s"},{"start":19,"end":22,"cssClass":"pl-s1"},{"start":24,"end":27,"cssClass":"pl-s"},{"start":28,"end":32,"cssClass":"pl-s1"}],[{"start":2,"end":5,"cssClass":"pl-s"},{"start":6,"end":12,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-s"},{"start":10,"end":15,"cssClass":"pl-s"},{"start":16,"end":24,"cssClass":"pl-s"}],[],[],[{"start":0,"end":6,"cssClass":"pl-k"}],[]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/libsdl-org/SDL-1.2/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"SDL_mixer_MMX.c","displayUrl":"https://github.com/libsdl-org/SDL-1.2/blame/f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3/src/audio/SDL_mixer_MMX.c?raw=true","headerInfo":{"blobSize":"4.25 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":null,"isGitLfs":false,"onBranch":false,"shortPath":"51a3b9d","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Flibsdl-org%2FSDL-1.2%2Fblame%2Ff3c65c4548d6a2b921a5fbf1f37c346fd90e86a3%2Fsrc%2Faudio%2FSDL_mixer_MMX.c","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"181","truncatedSloc":"121"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"C","languageID":41,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/libsdl-org/SDL-1.2/blame/f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3/src/audio/SDL_mixer_MMX.c","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/libsdl-org/SDL-1.2/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/libsdl-org/SDL-1.2/raw/f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3/src/audio/SDL_mixer_MMX.c","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":true,"not_analyzed":false,"symbols":[{"name":"SDL_MixAudio_MMX_S16","kind":"function","ident_start":537,"ident_end":557,"extent_start":537,"extent_end":607,"fully_qualified_name":"SDL_MixAudio_MMX_S16","ident_utf16":{"start":{"line_number":13,"utf16_col":5},"end":{"line_number":13,"utf16_col":25}},"extent_utf16":{"start":{"line_number":13,"utf16_col":5},"end":{"line_number":13,"utf16_col":75}}},{"name":"SDL_MixAudio_MMX_S8","kind":"function","ident_start":2841,"ident_end":2860,"extent_start":2841,"extent_end":2910,"fully_qualified_name":"SDL_MixAudio_MMX_S8","ident_utf16":{"start":{"line_number":115,"utf16_col":5},"end":{"line_number":115,"utf16_col":24}},"extent_utf16":{"start":{"line_number":115,"utf16_col":5},"end":{"line_number":115,"utf16_col":74}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"blame":{"ranges":{"1":{"start":1,"oldStart":1,"end":19,"oldEnd":21,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"20":{"start":20,"oldStart":20,"end":20,"oldEnd":20,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"21":{"start":21,"oldStart":23,"end":21,"oldEnd":23,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"22":{"start":22,"oldStart":22,"end":22,"oldEnd":22,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"23":{"start":23,"oldStart":25,"end":39,"oldEnd":41,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"40":{"start":40,"oldStart":40,"end":40,"oldEnd":40,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"41":{"start":41,"oldStart":43,"end":43,"oldEnd":45,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"44":{"start":44,"oldStart":44,"end":44,"oldEnd":44,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"45":{"start":45,"oldStart":47,"end":46,"oldEnd":48,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"47":{"start":47,"oldStart":47,"end":47,"oldEnd":47,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"48":{"start":48,"oldStart":50,"end":69,"oldEnd":71,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"70":{"start":70,"oldStart":70,"end":70,"oldEnd":70,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"71":{"start":71,"oldStart":73,"end":73,"oldEnd":75,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"74":{"start":74,"oldStart":74,"end":74,"oldEnd":74,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"75":{"start":75,"oldStart":77,"end":87,"oldEnd":89,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"88":{"start":88,"oldStart":88,"end":88,"oldEnd":88,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"89":{"start":89,"oldStart":91,"end":91,"oldEnd":93,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"92":{"start":92,"oldStart":92,"end":92,"oldEnd":92,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"93":{"start":93,"oldStart":95,"end":93,"oldEnd":95,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"94":{"start":94,"oldStart":94,"end":94,"oldEnd":94,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"95":{"start":95,"oldStart":97,"end":95,"oldEnd":97,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"96":{"start":96,"oldStart":96,"end":96,"oldEnd":96,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"97":{"start":97,"oldStart":99,"end":103,"oldEnd":105,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"104":{"start":104,"oldStart":104,"end":104,"oldEnd":104,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"105":{"start":105,"oldStart":107,"end":105,"oldEnd":107,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"106":{"start":106,"oldStart":106,"end":106,"oldEnd":106,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"107":{"start":107,"oldStart":109,"end":121,"oldEnd":125,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"122":{"start":122,"oldStart":122,"end":122,"oldEnd":122,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"123":{"start":123,"oldStart":127,"end":130,"oldEnd":134,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"131":{"start":131,"oldStart":131,"end":132,"oldEnd":132,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"133":{"start":133,"oldStart":137,"end":133,"oldEnd":137,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"134":{"start":134,"oldStart":134,"end":134,"oldEnd":134,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"135":{"start":135,"oldStart":139,"end":140,"oldEnd":144,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"141":{"start":141,"oldStart":141,"end":141,"oldEnd":141,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"142":{"start":142,"oldStart":146,"end":150,"oldEnd":154,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"151":{"start":151,"oldStart":151,"end":151,"oldEnd":151,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"152":{"start":152,"oldStart":156,"end":153,"oldEnd":157,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"154":{"start":154,"oldStart":154,"end":154,"oldEnd":154,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"155":{"start":155,"oldStart":159,"end":164,"oldEnd":168,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"165":{"start":165,"oldStart":165,"end":166,"oldEnd":166,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"167":{"start":167,"oldStart":171,"end":167,"oldEnd":171,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"168":{"start":168,"oldStart":168,"end":168,"oldEnd":168,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"169":{"start":169,"oldStart":173,"end":174,"oldEnd":178,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"175":{"start":175,"oldStart":175,"end":175,"oldEnd":175,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"176":{"start":176,"oldStart":180,"end":176,"oldEnd":180,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"177":{"start":177,"oldStart":177,"end":177,"oldEnd":177,"commitOid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","reblamePath":"src/audio/SDL_mixer_MMX.c"},"178":{"start":178,"oldStart":182,"end":181,"oldEnd":185,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null}},"commits":{"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a":{"oid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","message":"Added MMX audio mixing code for gcc (thanks Stephane!)","shortMessageHtmlLink":"Added MMX audio mixing code for gcc (thanks Stephane!)","authorAvatarUrl":"https://avatars.githubusercontent.com/u/2100061?s=80&v=4","committerName":"Sam Lantinga","committerEmail":"slouken@libsdl.org","committedDate":"2002-11-09T06:13:28.000Z","firstParentOid":"2b6036314f917aa445424b3a67c6a4dff24419b7"},"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3":{"oid":"f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3","message":"Date: Mon, 10 May 2004 10:17:46 -0400\nFrom: Mike Frysinger\nSubject: Re: [SDL] gcc-3.4.0 / PIC fix\n\nhere's a combined patch (yours and the one i mentioned earlier) that i tested\nwith gcc-3.4.0 and gcc-3.3.3","shortMessageHtmlLink":"Date: Mon, 10 May 2004 10:17:46 -0400","authorAvatarUrl":"https://avatars.githubusercontent.com/u/2100061?s=80&v=4","committerName":"Sam Lantinga","committerEmail":"slouken@libsdl.org","committedDate":"2004-05-16T17:19:48.000Z","firstParentOid":"246cb996327e9bad4fe69e9464941bde3b77fc49"}},"ignoreRevs":{"path":".git-blame-ignore-revs","present":false,"timedOut":null}},"csrf_tokens":{"/libsdl-org/SDL-1.2/branches":{"post":"48uBWObtn_-WLRt978v7-XuGGSn2l1DFI0G62KYSLpX5DQ4JyoJq5EuQk1RJ3iAeZi-Gribq7Pi0-WsHCfZQAA"},"/repos/preferences":{"post":"ixM3yEacoIiXMkocPVpfNu3bYubEDApMDMm-IPQY9Yz0dKuHn4OnkQDAfW3_d_diL5897pJv7bTpIx_fJY56TQ"}}},"title":"Blaming SDL-1.2/src/audio/SDL_mixer_MMX.c at f3c65c4548d6a2b921a5fbf1f37c346fd90e86a3 · libsdl-org/SDL-1.2"}