{"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":"bsd","path":"src/audio/bsd","contentType":"directory"},{"name":"dart","path":"src/audio/dart","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":"dummy","path":"src/audio/dummy","contentType":"directory"},{"name":"esd","path":"src/audio/esd","contentType":"directory"},{"name":"macosx","path":"src/audio/macosx","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":"paudio","path":"src/audio/paudio","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":"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.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":40},"src":{"items":[{"name":"audio","path":"src/audio","contentType":"directory"},{"name":"cdrom","path":"src/cdrom","contentType":"directory"},{"name":"cpuinfo","path":"src/cpuinfo","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":"loadso","path":"src/loadso","contentType":"directory"},{"name":"main","path":"src/main","contentType":"directory"},{"name":"stdlib","path":"src/stdlib","contentType":"directory"},{"name":"thread","path":"src/thread","contentType":"directory"},{"name":"timer","path":"src/timer","contentType":"directory"},{"name":"video","path":"src/video","contentType":"directory"},{"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"}],"totalCount":18},"":{"items":[{"name":"build-scripts","path":"build-scripts","contentType":"directory"},{"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":".indent.pro","path":".indent.pro","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.dc","path":"Makefile.dc","contentType":"file"},{"name":"Makefile.in","path":"Makefile.in","contentType":"file"},{"name":"Makefile.minimal","path":"Makefile.minimal","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.BeOS","path":"README.BeOS","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.OS2","path":"README.OS2","contentType":"file"},{"name":"README.PicoGUI","path":"README.PicoGUI","contentType":"file"},{"name":"README.Porting","path":"README.Porting","contentType":"file"},{"name":"README.QNX","path":"README.QNX","contentType":"file"},{"name":"README.Qtopia","path":"README.Qtopia","contentType":"file"},{"name":"README.RISCOS","path":"README.RISCOS","contentType":"file"},{"name":"README.SVN","path":"README.SVN","contentType":"file"},{"name":"README.Watcom","path":"README.Watcom","contentType":"file"},{"name":"README.WinCE","path":"README.WinCE","contentType":"file"},{"name":"README.wscons","path":"README.wscons","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":"UNDER_CONSTRUCTION.txt","path":"UNDER_CONSTRUCTION.txt","contentType":"file"},{"name":"VisualC.html","path":"VisualC.html","contentType":"file"},{"name":"VisualC.zip","path":"VisualC.zip","contentType":"file"},{"name":"VisualCE.zip","path":"VisualCE.zip","contentType":"file"},{"name":"Watcom-OS2.zip","path":"Watcom-OS2.zip","contentType":"file"},{"name":"Watcom-Win32.zip","path":"Watcom-Win32.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":"configure.in","path":"configure.in","contentType":"file"},{"name":"docs.html","path":"docs.html","contentType":"file"},{"name":"sdl-config.in","path":"sdl-config.in","contentType":"file"},{"name":"sdl.m4","path":"sdl.m4","contentType":"file"}],"totalCount":55}},"fileTreeProcessingTime":10.974004,"foldersToFetch":[],"repo":{"id":337752652,"defaultBranch":"main","name":"SDL-historical-archive","ownerLogin":"libsdl-org","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-02-10T14:40:23.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/77683370?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"8a43fe6ff70982480abec178ba3fac017e437009","listCacheKey":"v0:1612970265.696589","canEdit":false,"refType":"tree","currentOid":"8a43fe6ff70982480abec178ba3fac017e437009"},"path":"src/audio/SDL_mixer_MMX.c","currentUser":null,"blob":{"rawLines":["/*"," SDL - Simple DirectMedia Layer"," Copyright (C) 1997-2006 Sam Lantinga",""," This library is free software; you can redistribute it and/or"," modify it under the terms of the GNU Lesser General Public"," License as published by the Free Software Foundation; either"," version 2.1 of the License, or (at your option) any later version.",""," This library 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"," Lesser General Public License for more details.",""," You should have received a copy of the GNU Lesser General Public"," License along with this library; if not, write to the Free Software"," Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA",""," Sam Lantinga"," slouken@libsdl.org","*/","#include \"SDL_config.h\"","","/*"," 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(__GNUC__) && defined(__i386__) && defined(SDL_ASSEMBLY_ROUTINES)","void","SDL_MixAudio_MMX_S16 (char *dst, char *src, unsigned int size, int volume)","{"," __asm__ __volatile__ (\"\tmovl %3,%%eax\\n\" /* eax = volume */"," \"\tmovl %2,%%edx\\n\" /* edx = size */"," \"\tshrl $4,%%edx\\n\" /* 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\" /* mm0 = vol|vol|vol|vol */"," \".align 8\\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 */"," /* pré charger le buffer dst dans mm7 */"," \"\tmovq (%0),%%mm7\\n\" /* mm7 = dst[0] */"," /* 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 */"," /* pré charger le buffer dst dans mm5 */"," \"\tmovq 8(%0),%%mm5\\n\" /* mm5 = dst[1] */"," /* 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 */"," /* 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 */"," /* 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\"::\"r\" (dst), \"r\" (src),"," \"m\" (size), \"m\" (volume):\"eax\", \"edx\", \"memory\");","}","","","","/*////////////////////////////////////////////// */","/* 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\" /* eax = volume */"," \"\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\" \"\tmovl %2,%%edx\\n\" /* edx = size */"," \"\tshr $3,%%edx\\n\" /* process 8 bytes per iteration = 8 samples */"," \"\tcmp $0,%%edx\\n\" \"\tje .endS8\\n\" \".align 8\\n\" \"\t.mixloopS8:\\n\" \"\tpxor %%mm2,%%mm2\\n\" /* mm2 = 0 */"," \"\tmovq (%1),%%mm1\\n\" /* mm1 = a|b|c|d|e|f|g|h */"," \"\tmovq %%mm1,%%mm3\\n\" /* mm3 = a|b|c|d|e|f|g|h */"," /* on va faire le \"sign extension\" en faisant un cmp avec 0 qui retourne 1 si <0, 0 si >0 */"," \"\tpcmpgtb %%mm1,%%mm2\\n\" /* mm2 = 11111111|00000000|00000000.... */"," \"\tpunpckhbw %%mm2,%%mm1\\n\" /* mm1 = 0|a|0|b|0|c|0|d */"," \"\tpunpcklbw %%mm2,%%mm3\\n\" /* mm3 = 0|e|0|f|0|g|0|h */"," \"\tmovq (%0),%%mm2\\n\" /* mm2 = destination */"," \"\tpmullw %%mm0,%%mm1\\n\" /* mm1 = v*a|v*b|v*c|v*d */"," \"\tadd $8,%1\\n\" \"\tpmullw %%mm0,%%mm3\\n\" /* mm3 = v*e|v*f|v*g|v*h */"," \"\tpsraw $7,%%mm1\\n\" /* mm1 = v*a/128|v*b/128|v*c/128|v*d/128 */"," \"\tpsraw $7,%%mm3\\n\" /* mm3 = v*e/128|v*f/128|v*g/128|v*h/128 */"," \"\tpacksswb %%mm1,%%mm3\\n\" /* 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\" /* add to destination buffer */"," \"\tmovq %%mm3,(%0)\\n\" /* store back to ram */"," \"\tadd $8,%0\\n\""," \"\tdec %%edx\\n\""," \"\tjnz .mixloopS8\\n\""," \".endS8:\\n\""," \"\temms\\n\"::\"r\" (dst), \"r\" (src), \"m\" (size),"," \"m\" (volume):\"eax\", \"edx\", \"memory\");","}","#endif","/* vi: set ts=4 sw=4 expandtab: */"],"stylingDirectives":[[{"start":0,"end":2,"cssClass":"pl-c"}],[{"start":0,"end":34,"cssClass":"pl-c"}],[{"start":0,"end":40,"cssClass":"pl-c"}],[{"start":0,"end":0,"cssClass":"pl-c"}],[{"start":0,"end":65,"cssClass":"pl-c"}],[{"start":0,"end":62,"cssClass":"pl-c"}],[{"start":0,"end":64,"cssClass":"pl-c"}],[{"start":0,"end":70,"cssClass":"pl-c"}],[{"start":0,"end":0,"cssClass":"pl-c"}],[{"start":0,"end":67,"cssClass":"pl-c"}],[{"start":0,"end":66,"cssClass":"pl-c"}],[{"start":0,"end":69,"cssClass":"pl-c"}],[{"start":0,"end":51,"cssClass":"pl-c"}],[{"start":0,"end":0,"cssClass":"pl-c"}],[{"start":0,"end":68,"cssClass":"pl-c"}],[{"start":0,"end":71,"cssClass":"pl-c"}],[{"start":0,"end":78,"cssClass":"pl-c"}],[{"start":0,"end":0,"cssClass":"pl-c"}],[{"start":0,"end":16,"cssClass":"pl-c"}],[{"start":0,"end":22,"cssClass":"pl-c"}],[{"start":0,"end":2,"cssClass":"pl-c"}],[{"start":0,"end":8,"cssClass":"pl-k"},{"start":9,"end":23,"cssClass":"pl-s"}],[],[{"start":0,"end":2,"cssClass":"pl-c"}],[{"start":0,"end":106,"cssClass":"pl-c"}],[{"start":0,"end":69,"cssClass":"pl-c"}],[{"start":0,"end":66,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":52,"cssClass":"pl-c"}],[{"start":0,"end":35,"cssClass":"pl-c"}],[{"start":0,"end":2,"cssClass":"pl-c"}],[],[],[{"start":0,"end":48,"cssClass":"pl-c"}],[{"start":0,"end":36,"cssClass":"pl-c"}],[{"start":0,"end":48,"cssClass":"pl-c"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":12,"end":20,"cssClass":"pl-s1"},{"start":22,"end":24,"cssClass":"pl-c1"},{"start":33,"end":41,"cssClass":"pl-s1"},{"start":43,"end":45,"cssClass":"pl-c1"},{"start":54,"end":75,"cssClass":"pl-c1"}],[{"start":0,"end":4,"cssClass":"pl-smi"}],[{"start":0,"end":20,"cssClass":"pl-en"},{"start":22,"end":26,"cssClass":"pl-smi"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":28,"end":31,"cssClass":"pl-s1"},{"start":33,"end":37,"cssClass":"pl-smi"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":39,"end":42,"cssClass":"pl-s1"},{"start":44,"end":56,"cssClass":"pl-smi"},{"start":53,"end":56,"cssClass":"pl-smi"},{"start":57,"end":61,"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":26,"end":44,"cssClass":"pl-s"},{"start":52,"end":70,"cssClass":"pl-c"}],[{"start":26,"end":44,"cssClass":"pl-s"},{"start":52,"end":68,"cssClass":"pl-c"}],[{"start":26,"end":44,"cssClass":"pl-s"},{"start":52,"end":100,"cssClass":"pl-c"}],[{"start":26,"end":41,"cssClass":"pl-s"},{"start":42,"end":63,"cssClass":"pl-s"},{"start":64,"end":85,"cssClass":"pl-s"},{"start":86,"end":107,"cssClass":"pl-s"},{"start":108,"end":128,"cssClass":"pl-s"},{"start":129,"end":149,"cssClass":"pl-s"},{"start":150,"end":170,"cssClass":"pl-s"},{"start":171,"end":191,"cssClass":"pl-s"},{"start":192,"end":212,"cssClass":"pl-s"},{"start":213,"end":233,"cssClass":"pl-s"},{"start":239,"end":266,"cssClass":"pl-c"}],[{"start":26,"end":38,"cssClass":"pl-s"},{"start":39,"end":56,"cssClass":"pl-s"},{"start":57,"end":77,"cssClass":"pl-s"},{"start":83,"end":102,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-s"},{"start":52,"end":71,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-s"},{"start":52,"end":71,"cssClass":"pl-c"}],[{"start":26,"end":66,"cssClass":"pl-c"}],[{"start":26,"end":46,"cssClass":"pl-s"},{"start":52,"end":70,"cssClass":"pl-c"}],[{"start":26,"end":56,"cssClass":"pl-c"}],[{"start":26,"end":49,"cssClass":"pl-s"},{"start":52,"end":91,"cssClass":"pl-c"}],[{"start":26,"end":49,"cssClass":"pl-s"},{"start":52,"end":91,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-s"},{"start":52,"end":71,"cssClass":"pl-c"}],[{"start":26,"end":49,"cssClass":"pl-s"},{"start":52,"end":91,"cssClass":"pl-c"}],[{"start":26,"end":49,"cssClass":"pl-s"},{"start":52,"end":91,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-s"},{"start":52,"end":91,"cssClass":"pl-c"}],[{"start":26,"end":52,"cssClass":"pl-s"},{"start":60,"end":79,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-s"},{"start":52,"end":91,"cssClass":"pl-c"}],[{"start":26,"end":52,"cssClass":"pl-s"},{"start":60,"end":79,"cssClass":"pl-c"}],[{"start":26,"end":52,"cssClass":"pl-s"},{"start":60,"end":79,"cssClass":"pl-c"}],[{"start":26,"end":52,"cssClass":"pl-s"},{"start":60,"end":79,"cssClass":"pl-c"}],[{"start":26,"end":66,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-s"},{"start":52,"end":70,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-c"}],[{"start":26,"end":45,"cssClass":"pl-s"},{"start":52,"end":105,"cssClass":"pl-c"}],[{"start":26,"end":41,"cssClass":"pl-s"},{"start":42,"end":61,"cssClass":"pl-s"},{"start":68,"end":95,"cssClass":"pl-c"}],[{"start":26,"end":45,"cssClass":"pl-s"},{"start":52,"end":79,"cssClass":"pl-c"}],[{"start":26,"end":70,"cssClass":"pl-c"}],[{"start":26,"end":51,"cssClass":"pl-s"},{"start":52,"end":82,"cssClass":"pl-c"}],[{"start":26,"end":45,"cssClass":"pl-s"},{"start":52,"end":78,"cssClass":"pl-c"}],[{"start":26,"end":49,"cssClass":"pl-s"},{"start":52,"end":86,"cssClass":"pl-c"}],[{"start":26,"end":70,"cssClass":"pl-c"}],[{"start":26,"end":51,"cssClass":"pl-s"},{"start":52,"end":82,"cssClass":"pl-c"}],[{"start":26,"end":46,"cssClass":"pl-s"},{"start":47,"end":70,"cssClass":"pl-s"},{"start":73,"end":107,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-s"}],[{"start":26,"end":41,"cssClass":"pl-s"}],[{"start":26,"end":40,"cssClass":"pl-s"}],[{"start":26,"end":46,"cssClass":"pl-s"}],[{"start":26,"end":35,"cssClass":"pl-s"}],[{"start":26,"end":38,"cssClass":"pl-s"},{"start":41,"end":42,"cssClass":"pl-s1"},{"start":45,"end":48,"cssClass":"pl-s1"},{"start":51,"end":54,"cssClass":"pl-s"},{"start":56,"end":59,"cssClass":"pl-s1"}],[{"start":26,"end":29,"cssClass":"pl-s"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":38,"end":41,"cssClass":"pl-s"},{"start":43,"end":49,"cssClass":"pl-s1"},{"start":51,"end":56,"cssClass":"pl-s"},{"start":58,"end":63,"cssClass":"pl-s"},{"start":65,"end":73,"cssClass":"pl-s"}],[],[],[],[],[{"start":0,"end":51,"cssClass":"pl-c"}],[{"start":0,"end":37,"cssClass":"pl-c"}],[{"start":0,"end":51,"cssClass":"pl-c"}],[],[{"start":0,"end":4,"cssClass":"pl-smi"}],[{"start":0,"end":19,"cssClass":"pl-en"},{"start":21,"end":25,"cssClass":"pl-smi"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":27,"end":30,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-smi"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":38,"end":41,"cssClass":"pl-s1"},{"start":43,"end":55,"cssClass":"pl-smi"},{"start":52,"end":55,"cssClass":"pl-smi"},{"start":56,"end":60,"cssClass":"pl-s1"},{"start":62,"end":65,"cssClass":"pl-smi"},{"start":66,"end":72,"cssClass":"pl-s1"}],[],[{"start":4,"end":11,"cssClass":"pl-smi"},{"start":12,"end":24,"cssClass":"pl-s1"},{"start":26,"end":44,"cssClass":"pl-s"},{"start":52,"end":70,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-s"},{"start":48,"end":69,"cssClass":"pl-s"},{"start":70,"end":90,"cssClass":"pl-s"},{"start":91,"end":111,"cssClass":"pl-s"},{"start":112,"end":132,"cssClass":"pl-s"},{"start":133,"end":153,"cssClass":"pl-s"},{"start":154,"end":174,"cssClass":"pl-s"},{"start":175,"end":195,"cssClass":"pl-s"},{"start":196,"end":214,"cssClass":"pl-s"},{"start":222,"end":238,"cssClass":"pl-c"}],[{"start":26,"end":43,"cssClass":"pl-s"},{"start":44,"end":91,"cssClass":"pl-c"}],[{"start":26,"end":43,"cssClass":"pl-s"},{"start":44,"end":58,"cssClass":"pl-s"},{"start":59,"end":71,"cssClass":"pl-s"},{"start":72,"end":88,"cssClass":"pl-s"},{"start":89,"end":110,"cssClass":"pl-s"},{"start":115,"end":128,"cssClass":"pl-c"}],[{"start":26,"end":46,"cssClass":"pl-s"},{"start":52,"end":79,"cssClass":"pl-c"}],[{"start":26,"end":47,"cssClass":"pl-s"},{"start":52,"end":79,"cssClass":"pl-c"}],[{"start":26,"end":118,"cssClass":"pl-c"}],[{"start":26,"end":50,"cssClass":"pl-s"},{"start":52,"end":94,"cssClass":"pl-c"}],[{"start":26,"end":52,"cssClass":"pl-s"},{"start":60,"end":87,"cssClass":"pl-c"}],[{"start":26,"end":52,"cssClass":"pl-s"},{"start":60,"end":87,"cssClass":"pl-c"}],[{"start":26,"end":46,"cssClass":"pl-s"},{"start":52,"end":75,"cssClass":"pl-c"}],[{"start":26,"end":49,"cssClass":"pl-s"},{"start":52,"end":79,"cssClass":"pl-c"}],[{"start":26,"end":40,"cssClass":"pl-s"},{"start":41,"end":64,"cssClass":"pl-s"},{"start":67,"end":94,"cssClass":"pl-c"}],[{"start":26,"end":45,"cssClass":"pl-s"},{"start":52,"end":96,"cssClass":"pl-c"}],[{"start":26,"end":45,"cssClass":"pl-s"},{"start":52,"end":95,"cssClass":"pl-c"}],[{"start":26,"end":51,"cssClass":"pl-s"},{"start":52,"end":127,"cssClass":"pl-c"}],[{"start":26,"end":49,"cssClass":"pl-s"},{"start":52,"end":83,"cssClass":"pl-c"}],[{"start":26,"end":46,"cssClass":"pl-s"},{"start":52,"end":75,"cssClass":"pl-c"}],[{"start":26,"end":40,"cssClass":"pl-s"}],[{"start":26,"end":40,"cssClass":"pl-s"}],[{"start":26,"end":45,"cssClass":"pl-s"}],[{"start":26,"end":37,"cssClass":"pl-s"}],[{"start":26,"end":35,"cssClass":"pl-s"},{"start":38,"end":39,"cssClass":"pl-s1"},{"start":42,"end":45,"cssClass":"pl-s1"},{"start":48,"end":51,"cssClass":"pl-s"},{"start":53,"end":56,"cssClass":"pl-s1"},{"start":59,"end":62,"cssClass":"pl-s"},{"start":64,"end":68,"cssClass":"pl-s1"}],[{"start":26,"end":29,"cssClass":"pl-s"},{"start":31,"end":37,"cssClass":"pl-s1"},{"start":39,"end":44,"cssClass":"pl-s"},{"start":46,"end":51,"cssClass":"pl-s"},{"start":53,"end":61,"cssClass":"pl-s"}],[],[{"start":0,"end":6,"cssClass":"pl-k"}],[{"start":0,"end":34,"cssClass":"pl-c"}]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/libsdl-org/SDL-historical-archive/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"SDL_mixer_MMX.c","displayUrl":"https://github.com/libsdl-org/SDL-historical-archive/blame/8a43fe6ff70982480abec178ba3fac017e437009/src/audio/SDL_mixer_MMX.c?raw=true","headerInfo":{"blobSize":"7.04 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":"cb18994","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Flibsdl-org%2FSDL-historical-archive%2Fblame%2F8a43fe6ff70982480abec178ba3fac017e437009%2Fsrc%2Faudio%2FSDL_mixer_MMX.c","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"120","truncatedSloc":"107"},"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-historical-archive/blame/8a43fe6ff70982480abec178ba3fac017e437009/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-historical-archive/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/libsdl-org/SDL-historical-archive/raw/8a43fe6ff70982480abec178ba3fac017e437009/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":1454,"ident_end":1474,"extent_start":1454,"extent_end":1528,"fully_qualified_name":"SDL_MixAudio_MMX_S16","ident_utf16":{"start":{"line_number":39,"utf16_col":0},"end":{"line_number":39,"utf16_col":20}},"extent_utf16":{"start":{"line_number":39,"utf16_col":0},"end":{"line_number":39,"utf16_col":74}}},{"name":"SDL_MixAudio_MMX_S8","kind":"function","ident_start":4984,"ident_end":5003,"extent_start":4984,"extent_end":5057,"fully_qualified_name":"SDL_MixAudio_MMX_S8","ident_utf16":{"start":{"line_number":91,"utf16_col":0},"end":{"line_number":91,"utf16_col":19}},"extent_utf16":{"start":{"line_number":91,"utf16_col":0},"end":{"line_number":91,"utf16_col":73}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"blame":{"ranges":{"1":{"start":1,"oldStart":1,"end":23,"oldEnd":23,"commitOid":"fd03c21389537f66e3bda0d877a2ae067326e6fa","reblamePath":"src/audio/SDL_mixer_MMX.c"},"24":{"start":24,"oldStart":1,"end":36,"oldEnd":13,"commitOid":"3b186dc9c57cb38049237e8aa87ffd679a5dd3df","reblamePath":"src/audio/SDL_mixer_MMX.c"},"37":{"start":37,"oldStart":12,"end":37,"oldEnd":12,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"38":{"start":38,"oldStart":38,"end":38,"oldEnd":38,"commitOid":"fd03c21389537f66e3bda0d877a2ae067326e6fa","reblamePath":"src/audio/SDL_mixer_MMX.c"},"39":{"start":39,"oldStart":39,"end":40,"oldEnd":40,"commitOid":"8a43fe6ff70982480abec178ba3fac017e437009","reblamePath":"src/audio/SDL_mixer_MMX.c"},"41":{"start":41,"oldStart":15,"end":41,"oldEnd":15,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"42":{"start":42,"oldStart":42,"end":82,"oldEnd":82,"commitOid":"8a43fe6ff70982480abec178ba3fac017e437009","reblamePath":"src/audio/SDL_mixer_MMX.c"},"83":{"start":83,"oldStart":110,"end":86,"oldEnd":113,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"87":{"start":87,"oldStart":137,"end":89,"oldEnd":139,"commitOid":"48ec09f60bca21f9a36e791eec5413c82cd3fad0","reblamePath":"src/audio/SDL_mixer_MMX.c"},"90":{"start":90,"oldStart":117,"end":90,"oldEnd":117,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"91":{"start":91,"oldStart":91,"end":92,"oldEnd":92,"commitOid":"8a43fe6ff70982480abec178ba3fac017e437009","reblamePath":"src/audio/SDL_mixer_MMX.c"},"93":{"start":93,"oldStart":119,"end":93,"oldEnd":119,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"94":{"start":94,"oldStart":94,"end":117,"oldEnd":117,"commitOid":"8a43fe6ff70982480abec178ba3fac017e437009","reblamePath":"src/audio/SDL_mixer_MMX.c"},"118":{"start":118,"oldStart":183,"end":119,"oldEnd":184,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"120":{"start":120,"oldStart":120,"end":120,"oldEnd":120,"commitOid":"8a43fe6ff70982480abec178ba3fac017e437009","reblamePath":"src/audio/SDL_mixer_MMX.c"}},"commits":{"fd03c21389537f66e3bda0d877a2ae067326e6fa":{"oid":"fd03c21389537f66e3bda0d877a2ae067326e6fa","message":"Use consistent identifiers for the various platforms we support.\nMake sure every source file includes SDL_config.h, so the proper system\nheaders are chosen.","shortMessageHtmlLink":"Use consistent identifiers for the various platforms we support.","authorAvatarUrl":"https://avatars.githubusercontent.com/u/2100061?s=80&v=4","committerName":"Sam Lantinga","committerEmail":"slouken@libsdl.org","committedDate":"2006-02-21T08:46:50.000Z","firstParentOid":"1aa7ad5912cefc81af5a3e6fd3ffb2179f423529"},"3b186dc9c57cb38049237e8aa87ffd679a5dd3df":{"oid":"3b186dc9c57cb38049237e8aa87ffd679a5dd3df","message":"Date: Fri, 31 Dec 2004 04:14:09 +0900\nFrom: Hayashi Naoyuki\nSubject: SDL patch for Tru64 UNIX 4.0X\n\nSDL-1.2.8 support only Tru64 5.X.\nThis patch is for Tru64 UNIX 4.X.(tested on Tru64 UNIX 4.0G and 5.1B)\n\nSDL-1.2.8/configure.in:\nld doesn't accept -pthread option.\ncc -pthread has same effect as -D_REENTRANT when compiling,\nand has same effect as -lpthread -lexc when linking.\n\nSDL-1.2.8/include/begin_code.h:\nOld Compaq C Compiler accept not inline but __inline.\n\nSDL-1.2.8/src/audio/SDL_mixer_MMX.c:\nSDL-1.2.8/src/audio/SDL_mixer_MMX.h:\nOld Compaq C Compiler doesn't accept //.\n\nSDL-1.2.8/src/cdrom/osf/SDL_syscdrom.c:\nWhen becoming Tru64 v5.0 from Tru64 v4.0,\nthe arrangement of the cd-rom device was changed.","shortMessageHtmlLink":"Date: Fri, 31 Dec 2004 04:14:09 +0900","authorAvatarUrl":"https://avatars.githubusercontent.com/u/2100061?s=80&v=4","committerName":"Sam Lantinga","committerEmail":"slouken@libsdl.org","committedDate":"2005-01-02T05:05:21.000Z","firstParentOid":"55dab1ffe28beaf3aaccf6b980579f9d453b5b0d"},"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"},"8a43fe6ff70982480abec178ba3fac017e437009":{"oid":"8a43fe6ff70982480abec178ba3fac017e437009","message":"Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API.\n\nWARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid.\n\nThe code is now run through a consistent indent format:\n\tindent -i4 -nut -nsc -br -ce\n\nThe headers are being converted to automatically generate doxygen documentation.","shortMessageHtmlLink":"Revamp of the video system in progress - adding support for multiple …","authorAvatarUrl":"https://avatars.githubusercontent.com/u/2100061?s=80&v=4","committerName":"Sam Lantinga","committerEmail":"slouken@libsdl.org","committedDate":"2006-05-28T13:04:16.000Z","firstParentOid":"98a0a4c3b723c80cc926fa3e9da4981963f8dc7c"},"48ec09f60bca21f9a36e791eec5413c82cd3fad0":{"oid":"48ec09f60bca21f9a36e791eec5413c82cd3fad0","message":"Fixed some ultra-pedantic gcc warnings","shortMessageHtmlLink":"Fixed some ultra-pedantic gcc warnings","authorAvatarUrl":"https://avatars.githubusercontent.com/u/2100061?s=80&v=4","committerName":"Sam Lantinga","committerEmail":"slouken@libsdl.org","committedDate":"2006-03-24T06:10:24.000Z","firstParentOid":"8a02c3d2b93a55e5a9a56de4e64e7c971881d8b2"}},"ignoreRevs":{"path":".git-blame-ignore-revs","present":false,"timedOut":null}},"csrf_tokens":{"/libsdl-org/SDL-historical-archive/branches":{"post":"LdyJ1Pp-XUdeSm1bku-9SzAUHlYOC80a05wWIyqeWWqRgum8x-Bk3UMSGt0DzuLZsiN6xGeqA55gzGqQkJwM3w"},"/repos/preferences":{"post":"dsxFZBiAhFqfVFhXiBFMYtVKUvIseo-IgiEt1EVzJZ5OfwpZXKZ81LAkdyyTtuM1DHaC2boS_TK5Mh2g_9OPGg"}}},"title":"Blaming SDL-historical-archive/src/audio/SDL_mixer_MMX.c at 8a43fe6ff70982480abec178ba3fac017e437009 · libsdl-org/SDL-historical-archive"}