{"payload":{"allShortcutsEnabled":false,"fileTree":{"src/audio":{"items":[{"name":"alsa","path":"src/audio/alsa","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":"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":"fusionsound","path":"src/audio/fusionsound","contentType":"directory"},{"name":"iphoneos","path":"src/audio/iphoneos","contentType":"directory"},{"name":"macosx","path":"src/audio/macosx","contentType":"directory"},{"name":"mme","path":"src/audio/mme","contentType":"directory"},{"name":"nas","path":"src/audio/nas","contentType":"directory"},{"name":"nds","path":"src/audio/nds","contentType":"directory"},{"name":"paudio","path":"src/audio/paudio","contentType":"directory"},{"name":"pulseaudio","path":"src/audio/pulseaudio","contentType":"directory"},{"name":"qsa","path":"src/audio/qsa","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_audiotypecvt.c","path":"src/audio/SDL_audiotypecvt.c","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"},{"name":"sdlgenaudiocvt.pl","path":"src/audio/sdlgenaudiocvt.pl","contentType":"file"}],"totalCount":41},"src":{"items":[{"name":"atomic","path":"src/atomic","contentType":"directory"},{"name":"audio","path":"src/audio","contentType":"directory"},{"name":"cpuinfo","path":"src/cpuinfo","contentType":"directory"},{"name":"events","path":"src/events","contentType":"directory"},{"name":"file","path":"src/file","contentType":"directory"},{"name":"haptic","path":"src/haptic","contentType":"directory"},{"name":"joystick","path":"src/joystick","contentType":"directory"},{"name":"libm","path":"src/libm","contentType":"directory"},{"name":"loadso","path":"src/loadso","contentType":"directory"},{"name":"main","path":"src/main","contentType":"directory"},{"name":"power","path":"src/power","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_compat.c","path":"src/SDL_compat.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":21},"":{"items":[{"name":"VisualC","path":"VisualC","contentType":"directory"},{"name":"VisualCE","path":"VisualCE","contentType":"directory"},{"name":"Xcode-iPhoneOS","path":"Xcode-iPhoneOS","contentType":"directory"},{"name":"Xcode","path":"Xcode","contentType":"directory"},{"name":"acinclude","path":"acinclude","contentType":"directory"},{"name":"build-scripts","path":"build-scripts","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":"INSTALL","path":"INSTALL","contentType":"file"},{"name":"Makefile.ds","path":"Makefile.ds","contentType":"file"},{"name":"Makefile.in","path":"Makefile.in","contentType":"file"},{"name":"Makefile.minimal","path":"Makefile.minimal","contentType":"file"},{"name":"Makefile.pandora","path":"Makefile.pandora","contentType":"file"},{"name":"Makefile.wiz","path":"Makefile.wiz","contentType":"file"},{"name":"NOTES","path":"NOTES","contentType":"file"},{"name":"README","path":"README","contentType":"file"},{"name":"README-SDL.txt","path":"README-SDL.txt","contentType":"file"},{"name":"README.BeOS","path":"README.BeOS","contentType":"file"},{"name":"README.DirectFB","path":"README.DirectFB","contentType":"file"},{"name":"README.MacOSX","path":"README.MacOSX","contentType":"file"},{"name":"README.PS3","path":"README.PS3","contentType":"file"},{"name":"README.Porting","path":"README.Porting","contentType":"file"},{"name":"README.QNX","path":"README.QNX","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.iphoneos","path":"README.iphoneos","contentType":"file"},{"name":"README.pandora","path":"README.pandora","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":"Watcom-Win32.zip","path":"Watcom-Win32.zip","contentType":"file"},{"name":"WhatsNew","path":"WhatsNew","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"},{"name":"sdl.pc.in","path":"sdl.pc.in","contentType":"file"}],"totalCount":48}},"fileTreeProcessingTime":17.640869,"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":"5d2eacec1ed1b16c90091d00afb007793dac528d","listCacheKey":"v0:1612970265.696589","canEdit":false,"refType":"tree","currentOid":"5d2eacec1ed1b16c90091d00afb007793dac528d"},"path":"src/audio/SDL_mixer_MMX.c","currentUser":null,"blob":{"rawLines":["/*"," SDL - Simple DirectMedia Layer"," Copyright (C) 1997-2009 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(SDL_BUGGY_MMX_MIXERS) /* buggy, so we're disabling them. --ryan. */","#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","","#endif /* SDL_BUGGY_MMX_MIXERS */","","/* 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":32,"cssClass":"pl-c1"},{"start":34,"end":79,"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":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":25,"end":43,"cssClass":"pl-s"},{"start":51,"end":69,"cssClass":"pl-c"}],[{"start":25,"end":43,"cssClass":"pl-s"},{"start":51,"end":67,"cssClass":"pl-c"}],[{"start":25,"end":43,"cssClass":"pl-s"},{"start":51,"end":99,"cssClass":"pl-c"}],[{"start":25,"end":40,"cssClass":"pl-s"},{"start":41,"end":62,"cssClass":"pl-s"},{"start":63,"end":84,"cssClass":"pl-s"},{"start":85,"end":106,"cssClass":"pl-s"},{"start":107,"end":127,"cssClass":"pl-s"},{"start":128,"end":148,"cssClass":"pl-s"},{"start":149,"end":169,"cssClass":"pl-s"},{"start":170,"end":190,"cssClass":"pl-s"},{"start":191,"end":211,"cssClass":"pl-s"},{"start":212,"end":232,"cssClass":"pl-s"},{"start":238,"end":265,"cssClass":"pl-c"}],[{"start":25,"end":37,"cssClass":"pl-s"},{"start":38,"end":55,"cssClass":"pl-s"},{"start":56,"end":76,"cssClass":"pl-s"},{"start":82,"end":101,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-s"},{"start":51,"end":70,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-s"},{"start":51,"end":70,"cssClass":"pl-c"}],[{"start":25,"end":65,"cssClass":"pl-c"}],[{"start":25,"end":45,"cssClass":"pl-s"},{"start":51,"end":69,"cssClass":"pl-c"}],[{"start":25,"end":55,"cssClass":"pl-c"}],[{"start":25,"end":48,"cssClass":"pl-s"},{"start":51,"end":90,"cssClass":"pl-c"}],[{"start":25,"end":48,"cssClass":"pl-s"},{"start":51,"end":90,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-s"},{"start":51,"end":70,"cssClass":"pl-c"}],[{"start":25,"end":48,"cssClass":"pl-s"},{"start":51,"end":90,"cssClass":"pl-c"}],[{"start":25,"end":48,"cssClass":"pl-s"},{"start":51,"end":90,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-s"},{"start":51,"end":90,"cssClass":"pl-c"}],[{"start":25,"end":51,"cssClass":"pl-s"},{"start":59,"end":78,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-s"},{"start":51,"end":90,"cssClass":"pl-c"}],[{"start":25,"end":51,"cssClass":"pl-s"},{"start":59,"end":78,"cssClass":"pl-c"}],[{"start":25,"end":51,"cssClass":"pl-s"},{"start":59,"end":78,"cssClass":"pl-c"}],[{"start":25,"end":51,"cssClass":"pl-s"},{"start":59,"end":78,"cssClass":"pl-c"}],[{"start":25,"end":65,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-s"},{"start":51,"end":69,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-c"}],[{"start":25,"end":44,"cssClass":"pl-s"},{"start":51,"end":104,"cssClass":"pl-c"}],[{"start":25,"end":40,"cssClass":"pl-s"},{"start":41,"end":60,"cssClass":"pl-s"},{"start":67,"end":94,"cssClass":"pl-c"}],[{"start":25,"end":44,"cssClass":"pl-s"},{"start":51,"end":78,"cssClass":"pl-c"}],[{"start":25,"end":69,"cssClass":"pl-c"}],[{"start":25,"end":50,"cssClass":"pl-s"},{"start":51,"end":81,"cssClass":"pl-c"}],[{"start":25,"end":44,"cssClass":"pl-s"},{"start":51,"end":77,"cssClass":"pl-c"}],[{"start":25,"end":48,"cssClass":"pl-s"},{"start":51,"end":85,"cssClass":"pl-c"}],[{"start":25,"end":69,"cssClass":"pl-c"}],[{"start":25,"end":50,"cssClass":"pl-s"},{"start":51,"end":81,"cssClass":"pl-c"}],[{"start":25,"end":45,"cssClass":"pl-s"},{"start":46,"end":69,"cssClass":"pl-s"},{"start":72,"end":106,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-s"}],[{"start":25,"end":40,"cssClass":"pl-s"}],[{"start":25,"end":39,"cssClass":"pl-s"}],[{"start":25,"end":45,"cssClass":"pl-s"}],[{"start":25,"end":34,"cssClass":"pl-s"}],[{"start":25,"end":37,"cssClass":"pl-s"},{"start":40,"end":41,"cssClass":"pl-s1"},{"start":43,"end":46,"cssClass":"pl-s1"},{"start":49,"end":52,"cssClass":"pl-s"},{"start":53,"end":56,"cssClass":"pl-s1"}],[{"start":25,"end":28,"cssClass":"pl-s"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":36,"end":39,"cssClass":"pl-s"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":48,"end":53,"cssClass":"pl-s"},{"start":55,"end":60,"cssClass":"pl-s"},{"start":62,"end":70,"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":20,"end":24,"cssClass":"pl-smi"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":26,"end":29,"cssClass":"pl-s1"},{"start":31,"end":35,"cssClass":"pl-smi"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":37,"end":40,"cssClass":"pl-s1"},{"start":42,"end":54,"cssClass":"pl-smi"},{"start":51,"end":54,"cssClass":"pl-smi"},{"start":55,"end":59,"cssClass":"pl-s1"},{"start":61,"end":64,"cssClass":"pl-smi"},{"start":65,"end":71,"cssClass":"pl-s1"}],[],[{"start":4,"end":11,"cssClass":"pl-smi"},{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":43,"cssClass":"pl-s"},{"start":51,"end":69,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-s"},{"start":47,"end":68,"cssClass":"pl-s"},{"start":69,"end":89,"cssClass":"pl-s"},{"start":90,"end":110,"cssClass":"pl-s"},{"start":111,"end":131,"cssClass":"pl-s"},{"start":132,"end":152,"cssClass":"pl-s"},{"start":153,"end":173,"cssClass":"pl-s"},{"start":174,"end":194,"cssClass":"pl-s"},{"start":195,"end":213,"cssClass":"pl-s"},{"start":221,"end":237,"cssClass":"pl-c"}],[{"start":25,"end":42,"cssClass":"pl-s"},{"start":43,"end":90,"cssClass":"pl-c"}],[{"start":25,"end":42,"cssClass":"pl-s"},{"start":43,"end":57,"cssClass":"pl-s"},{"start":58,"end":70,"cssClass":"pl-s"},{"start":71,"end":87,"cssClass":"pl-s"},{"start":88,"end":109,"cssClass":"pl-s"},{"start":114,"end":127,"cssClass":"pl-c"}],[{"start":25,"end":45,"cssClass":"pl-s"},{"start":51,"end":78,"cssClass":"pl-c"}],[{"start":25,"end":46,"cssClass":"pl-s"},{"start":51,"end":78,"cssClass":"pl-c"}],[{"start":25,"end":117,"cssClass":"pl-c"}],[{"start":25,"end":49,"cssClass":"pl-s"},{"start":51,"end":93,"cssClass":"pl-c"}],[{"start":25,"end":51,"cssClass":"pl-s"},{"start":59,"end":86,"cssClass":"pl-c"}],[{"start":25,"end":51,"cssClass":"pl-s"},{"start":59,"end":86,"cssClass":"pl-c"}],[{"start":25,"end":45,"cssClass":"pl-s"},{"start":51,"end":74,"cssClass":"pl-c"}],[{"start":25,"end":48,"cssClass":"pl-s"},{"start":51,"end":78,"cssClass":"pl-c"}],[{"start":25,"end":39,"cssClass":"pl-s"},{"start":40,"end":63,"cssClass":"pl-s"},{"start":66,"end":93,"cssClass":"pl-c"}],[{"start":25,"end":44,"cssClass":"pl-s"},{"start":51,"end":95,"cssClass":"pl-c"}],[{"start":25,"end":44,"cssClass":"pl-s"},{"start":51,"end":94,"cssClass":"pl-c"}],[{"start":25,"end":50,"cssClass":"pl-s"},{"start":51,"end":126,"cssClass":"pl-c"}],[{"start":25,"end":48,"cssClass":"pl-s"},{"start":51,"end":82,"cssClass":"pl-c"}],[{"start":25,"end":45,"cssClass":"pl-s"},{"start":51,"end":74,"cssClass":"pl-c"}],[{"start":25,"end":39,"cssClass":"pl-s"}],[{"start":25,"end":39,"cssClass":"pl-s"}],[{"start":25,"end":44,"cssClass":"pl-s"}],[{"start":25,"end":36,"cssClass":"pl-s"}],[{"start":25,"end":34,"cssClass":"pl-s"},{"start":37,"end":38,"cssClass":"pl-s1"},{"start":40,"end":43,"cssClass":"pl-s1"},{"start":46,"end":49,"cssClass":"pl-s"},{"start":50,"end":53,"cssClass":"pl-s1"},{"start":56,"end":59,"cssClass":"pl-s"},{"start":60,"end":64,"cssClass":"pl-s1"}],[{"start":25,"end":28,"cssClass":"pl-s"},{"start":29,"end":35,"cssClass":"pl-s1"},{"start":37,"end":42,"cssClass":"pl-s"},{"start":44,"end":49,"cssClass":"pl-s"},{"start":51,"end":59,"cssClass":"pl-s"}],[],[{"start":0,"end":6,"cssClass":"pl-k"}],[],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":33,"cssClass":"pl-c"}],[],[{"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/5d2eacec1ed1b16c90091d00afb007793dac528d/src/audio/SDL_mixer_MMX.c?raw=true","headerInfo":{"blobSize":"7.08 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":"9b593bf","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Flibsdl-org%2FSDL-historical-archive%2Fblame%2F5d2eacec1ed1b16c90091d00afb007793dac528d%2Fsrc%2Faudio%2FSDL_mixer_MMX.c","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"124","truncatedSloc":"109"},"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/5d2eacec1ed1b16c90091d00afb007793dac528d/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/5d2eacec1ed1b16c90091d00afb007793dac528d/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":1534,"ident_end":1554,"extent_start":1534,"extent_end":1607,"fully_qualified_name":"SDL_MixAudio_MMX_S16","ident_utf16":{"start":{"line_number":40,"utf16_col":0},"end":{"line_number":40,"utf16_col":20}},"extent_utf16":{"start":{"line_number":40,"utf16_col":0},"end":{"line_number":40,"utf16_col":73}}},{"name":"SDL_MixAudio_MMX_S8","kind":"function","ident_start":5018,"ident_end":5037,"extent_start":5018,"extent_end":5090,"fully_qualified_name":"SDL_MixAudio_MMX_S8","ident_utf16":{"start":{"line_number":92,"utf16_col":0},"end":{"line_number":92,"utf16_col":19}},"extent_utf16":{"start":{"line_number":92,"utf16_col":0},"end":{"line_number":92,"utf16_col":72}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"blame":{"ranges":{"1":{"start":1,"oldStart":1,"end":2,"oldEnd":2,"commitOid":"fd03c21389537f66e3bda0d877a2ae067326e6fa","reblamePath":"src/audio/SDL_mixer_MMX.c"},"3":{"start":3,"oldStart":3,"end":3,"oldEnd":3,"commitOid":"fd3a9cb9ab42b7b76186366835605d393fd710c4","reblamePath":"src/audio/SDL_mixer_MMX.c"},"4":{"start":4,"oldStart":4,"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":"5d2eacec1ed1b16c90091d00afb007793dac528d","reblamePath":"src/audio/SDL_mixer_MMX.c"},"39":{"start":39,"oldStart":38,"end":39,"oldEnd":38,"commitOid":"fd03c21389537f66e3bda0d877a2ae067326e6fa","reblamePath":"src/audio/SDL_mixer_MMX.c"},"40":{"start":40,"oldStart":39,"end":41,"oldEnd":40,"commitOid":"466d3a402970e1ffe989ce2a075926d4880f0d82","reblamePath":"src/audio/SDL_mixer_MMX.c"},"42":{"start":42,"oldStart":15,"end":42,"oldEnd":15,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"43":{"start":43,"oldStart":42,"end":83,"oldEnd":82,"commitOid":"466d3a402970e1ffe989ce2a075926d4880f0d82","reblamePath":"src/audio/SDL_mixer_MMX.c"},"84":{"start":84,"oldStart":110,"end":87,"oldEnd":113,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"88":{"start":88,"oldStart":137,"end":90,"oldEnd":139,"commitOid":"48ec09f60bca21f9a36e791eec5413c82cd3fad0","reblamePath":"src/audio/SDL_mixer_MMX.c"},"91":{"start":91,"oldStart":117,"end":91,"oldEnd":117,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"92":{"start":92,"oldStart":91,"end":93,"oldEnd":92,"commitOid":"466d3a402970e1ffe989ce2a075926d4880f0d82","reblamePath":"src/audio/SDL_mixer_MMX.c"},"94":{"start":94,"oldStart":119,"end":94,"oldEnd":119,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"95":{"start":95,"oldStart":94,"end":118,"oldEnd":117,"commitOid":"466d3a402970e1ffe989ce2a075926d4880f0d82","reblamePath":"src/audio/SDL_mixer_MMX.c"},"119":{"start":119,"oldStart":183,"end":120,"oldEnd":184,"commitOid":"4cbe470278ddcfb4f0d0267e7a1295d7b72d661a","reblamePath":null},"121":{"start":121,"oldStart":121,"end":123,"oldEnd":123,"commitOid":"5d2eacec1ed1b16c90091d00afb007793dac528d","reblamePath":"src/audio/SDL_mixer_MMX.c"},"124":{"start":124,"oldStart":120,"end":124,"oldEnd":120,"commitOid":"466d3a402970e1ffe989ce2a075926d4880f0d82","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"},"fd3a9cb9ab42b7b76186366835605d393fd710c4":{"oid":"fd3a9cb9ab42b7b76186366835605d393fd710c4","message":"Updated copyright date","shortMessageHtmlLink":"Updated copyright date","authorAvatarUrl":"https://avatars.githubusercontent.com/u/2100061?s=80&v=4","committerName":"Sam Lantinga","committerEmail":"slouken@libsdl.org","committedDate":"2008-12-08T00:27:32.000Z","firstParentOid":"49195a082fcadfdb0756cc43c66b84a7b82bf1c6"},"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"},"5d2eacec1ed1b16c90091d00afb007793dac528d":{"oid":"5d2eacec1ed1b16c90091d00afb007793dac528d","message":"Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX mixers.","shortMessageHtmlLink":"Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX m…","authorAvatarUrl":"https://avatars.githubusercontent.com/u/673562?s=80&v=4","committerName":"Ryan C. Gordon","committerEmail":"icculus@icculus.org","committedDate":"2010-01-10T07:48:14.000Z","firstParentOid":"8e046ea149a9a01f6ede4cf0452d778f4db7283d"},"466d3a402970e1ffe989ce2a075926d4880f0d82":{"oid":"466d3a402970e1ffe989ce2a075926d4880f0d82","message":"SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.","shortMessageHtmlLink":"SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.","authorAvatarUrl":"https://avatars.githubusercontent.com/u/2100061?s=80&v=4","committerName":"Sam Lantinga","committerEmail":"slouken@libsdl.org","committedDate":"2006-07-10T21:04:37.000Z","firstParentOid":"38ab2fa282dee9e3d304f522ea448e970e76a544"},"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":"OFD9tJ40ZitwMAJJI8Ic5OED13-znchy76ahQfO1xW3ajIB2YIPMNVFIGFoTtUkBbLk3eNm5e1KG_uAl0SauxQ"},"/repos/preferences":{"post":"CilfcTUG2ZDuxeUAqIAaC3xRzYJVUbCEK7dxScfExW59SF4o5kN5kfnPB0tO3b-V7O1jkBDclbOVM6WEkVEnrw"}}},"title":"Blaming SDL-historical-archive/src/audio/SDL_mixer_MMX.c at 5d2eacec1ed1b16c90091d00afb007793dac528d · libsdl-org/SDL-historical-archive"}