
Recherche avancée
Autres articles (80)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (10588)
-
Conversion for WebM file format using FFMPEG
23 mars 2012, par user974435I am using followng command to convert video to webm format
ffmpeg -i video/ds2.mp4 -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b:a 345k -s 640x360 video/ds2.webm
I am receiving following errors :
1) incompatible sample format 's16' for codec 'libvorbis'
2) strptime() unavailable on this system, cannot convert the data string
Do you any idea why I cannot convert, tested conversion to FLV and it's working very well
Console output
C:\inetpub\wwwroot>ffmpeg -i video/testavi.avi video/ds2.webm
ffmpeg version N-35709-g7d531e8, Copyright (c) 2000-2011 the FFmpeg developers
built on Dec 12 2011 13:56:52 with gcc 4.6.2
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru
ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libope
ncore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --en
able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger -
-enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwben
c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-
libxvid --enable-zlib
libavutil 51. 32. 0 / 51. 32. 0
libavcodec 53. 43. 0 / 53. 43. 0
libavformat 53. 24. 0 / 53. 24. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 53. 0 / 2. 53. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, avi, from 'video/testavi.avi':
Metadata:
encoder : Lavf51.12.1
Duration: 00:00:13.03, start: 0.000000, bitrate: 36427 kb/s
Stream #0:0: Video: msmpeg4 (MP43 / 0x3334504D), yuv420p, 1920x1080, 30 tbr,
30 tbn, 30 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16, 192 kb
/s
File 'video/ds2.webm' already exists. Overwrite ? [y/N] y
w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
[libvpx @ 0000000001CA9BB0] v0.9.7-p1
Output #0, webm, to 'video/ds2.webm':
Metadata:
encoder : Lavf53.24.0
Stream #0:0: Video: vp8, yuv420p, 1920x1080, q=-1--1, 200 kb/s, 1k tbn, 30 t
bc
Stream #0:1: Audio: vorbis, 44100 Hz, stereo, s16, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (msmpeg4 -> libvpx)
Stream #0:1 -> #0:1 (mp3 -> libvorbis)
Press [q] to stop, [?] for helpProblem signature:
Problem Event Name: APPCRASH
Application Name: ffmpeg.exe
Application Version: 0.0.0.0
Application Timestamp: 4ee64f02
Fault Module Name: ffmpeg.exe
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4ee64f02
Exception Code: c0000005
Exception Offset: 000000000091e090
OS Version: 6.1.7601.2.1.0.272.7
Locale ID: 1033
Additional Information 1: ab8f
Additional Information 2: ab8f35a907f8f11a8d2e787a8e40efbd
Additional Information 3: f4d5
Additional Information 4: f4d524f8bf76a4b71cc6a7afa6412ca9
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txtAnd Console Uncut Output
C:\inetpub\wwwroot>ffmpeg.exe -i "video/testavi.avi" -acodec libvorbis -b:a 96k
-ac 2 -vcodec libvpx -b:v 400k -f webm -s 384x216 "video/testavi.webm"
ffmpeg version N-35709-g7d531e8, Copyright (c) 2000-2011 the FFmpeg developers
built on Dec 12 2011 13:56:52 with gcc 4.6.2
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru
ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libope
ncore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --en
able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger -
-enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwben
c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-
libxvid --enable-zlib
libavutil 51. 32. 0 / 51. 32. 0
libavcodec 53. 43. 0 / 53. 43. 0
libavformat 53. 24. 0 / 53. 24. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 53. 0 / 2. 53. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, avi, from 'video/testavi.avi':
Metadata:
encoder : Lavf51.12.1
Duration: 00:00:13.03, start: 0.000000, bitrate: 36427 kb/s
Stream #0:0: Video: msmpeg4 (MP43 / 0x3334504D), yuv420p, 1920x1080, 30 tbr,
30 tbn, 30 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16, 192 kb
/s
[buffer @ 0000000001D7FF60] w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:0/1 sw
s_param:
[scale @ 0000000001D7E9E0] w:1920 h:1080 fmt:yuv420p -> w:384 h:216 fmt:yuv420p
flags:0x4
[libvpx @ 0000000001BF7C10] v0.9.7-p1
Output #0, webm, to 'video/testavi.webm':
Metadata:
encoder : Lavf53.24.0
Stream #0:0: Video: vp8, yuv420p, 384x216, q=-1--1, 400 kb/s, 1k tbn, 30 tbc
Stream #0:1: Audio: vorbis, 44100 Hz, 2 channels, s16, 96 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (msmpeg4 -> libvpx)
Stream #0:1 -> #0:1 (mp3 -> libvorbis)
Press [q] to stop, [?] for help -
Finding Optimal Code Coverage
7 mars 2012, par Multimedia Mike — ProgrammingA few months ago, I published a procedure for analyzing code coverage of the test suites exercised in FFmpeg and Libav. I used it to add some more tests and I have it on good authority that it has helped other developers fill in some gaps as well (beginning with students helping out with the projects as part of the Google Code-In program). Now I’m wondering about ways to do better.
Current Process
When adding a test that depends on a sample (like a demuxer or decoder test), it’s ideal to add a sample that’s A) small, and B) exercises as much of the codebase as possible. When I was studying code coverage statistics for the WC4-Xan video decoder, I noticed that the sample didn’t exercise one of the 2 possible frame types. So I scouted samples until I found one that covered both types, trimmed the sample down, and updated the coverage suite.I started wondering about a method for finding the optimal test sample for a given piece of code, one that exercises every code path in a module. Okay, so that’s foolhardy in the vast majority of cases (although I was able to add one test spec that pushed a module’s code coverage from 0% all the way to 100% — but the module in question only had 2 exercisable lines). Still, given a large enough corpus of samples, how can I find the smallest set of samples that exercise the complete codebase ?
This almost sounds like an NP-complete problem. But why should that stop me from trying to find a solution ?
Science Project
Here’s the pitch :- Instrument FFmpeg with code coverage support
- Download lots of media to exercise a particular module
- Run FFmpeg against each sample and log code coverage statistics
- Distill the resulting data in some meaningful way in order to obtain more optimal code coverage
That first step sounds harsh– downloading lots and lots of media. Fortunately, there is at least one multimedia format in the projects that tends to be extremely small : ANSI. These are files that are designed to display elaborate scrolling graphics using text mode. Further, the FATE sample currently deployed for this test (TRE_IOM5.ANS) only exercises a little less than 50% of the code in libavcodec/ansi.c. I believe this makes the ANSI video decoder a good candidate for this experiment.
Procedure
First, find a site that hosts a lot ANSI files. Hi, sixteencolors.net. This site has lots (on the order of 4000) artpacks, which are ZIP archives that contain multiple ANSI files (and sometimes some other files). I scraped a list of all the artpack names.In an effort to be responsible, I randomized the list of artpacks and downloaded periodically and with limited bandwidth (
'wget --limit-rate=20k'
).Run ‘gcov’ on ansi.c in order to gather the full set of line numbers to be covered.
For each artpack, unpack the contents, run the instrumented FFmpeg on each file inside, run ‘gcov’ on ansi.c, and log statistics including the file’s size, the file’s location (artpack.zip:filename), and a comma-separated list of line numbers touched.
Definition of ‘Optimal’
The foregoing procedure worked and yielded useful, raw data. Now I have to figure out how to analyze it.I think it’s most desirable to have the smallest files (in terms of bytes) that exercise the most lines of code. To that end, I sorted the results by filesize, ascending. A Python script initializes a set of all exercisable line numbers in ansi.c, then iterates through each each file’s stats line, adding the file to the list of candidate samples if its set of exercised lines can remove any line numbers from the overall set of lines. Ideally, that set of lines should devolve to an empty set.
I think a second possible approach is to find the single sample that exercises the most code and then proceed with the previously described method.
Initial Results
So far, I have analyzed 13324 samples from 357 different artpacks provided by sixteencolors.net.Using the first method, I can find a set of samples that covers nearly 80% of ansi.c :
<br />
0 bytes: bad-0494.zip:5<br />
1 bytes: grip1293.zip:-ANSI---.---<br />
1 bytes: pur-0794.zip:.<br />
2 bytes: awe9706.zip:-ANSI───.───<br />
61 bytes: echo0197.zip:-(ART)-<br />
62 bytes: hx03.zip:HX005.DAT<br />
76 bytes: imp-0494.zip:IMPVIEW.CFG<br />
82 bytes: ice0010b.zip:_cont'd_.___<br />
101 bytes: bdp-0696.zip:BDP2.WAD<br />
112 bytes: plain12.zip:--------.---<br />
181 bytes: ins1295v.zip:-°VGA°-. н<br />
219 bytes: purg-22.zip:NEM-SHIT.ASC<br />
289 bytes: srg1196.zip:HOWTOREQ.JNK<br />
315 bytes: karma-04.zip:FASHION.COM<br />
318 bytes: buzina9.zip:ox-rmzzy.ans<br />
411 bytes: solo1195.zip:FU-BLAH1.RIP<br />
621 bytes: ciapak14.zip:NA-APOC1.ASC<br />
951 bytes: lght9404.zip:AM-TDHO1.LIT<br />
1214 bytes: atb-1297.zip:TX-ROKL.ASC<br />
2332 bytes: imp-0494.zip:STATUS.ANS<br />
3218 bytes: acepak03.zip:TR-STAT5.ANS<br />
6068 bytes: lgc-0193.zip:LGC-0193.MEM<br />
16778 bytes: purg-20.zip:EZ-HIR~1.JPG<br />
20582 bytes: utd0495.zip:LT-CROW3.ANS<br />
26237 bytes: quad0597.zip:MR-QPWP.GIF<br />
29208 bytes: mx-pack17.zip:mx-mobile-source-logo.jpg<br />
----<br />
109440 bytes total<br />A few notes about that list : Some of those filenames are comprised primarily of control characters. 133t, and all that. The first file is 0 bytes. I wondered if I should discard 0-length files but decided to keep those in, especially if they exercise lines that wouldn’t normally be activated. Also, there are a few JPEG and GIF files in the set. I should point out that I forced the tty demuxer using
-f tty
and there isn’t much in the way of signatures for this format. So, again, whatever exercises more lines is better.Using this same corpus, I tried approach 2– which single sample exercises the most lines of the decoder ? Answer : blde9502.zip:REQUEST.EXE. Huh. I checked it out and ‘file’ ID’s it as a MS-DOS executable. So, that approach wasn’t fruitful, at least not for this corpus since I’m forcing everything through this narrow code path.
Think About The Future
Where can I take this next ? The cloud ! I have people inside the search engine industry who have furnished me with extensive lists of specific types of multimedia files from around the internet. I also see that Amazon Web Services Elastic Compute Cloud (AWS EC2) instances don’t charge for incoming bandwidth.I think you can see where I’m going with this.
See Also :
-
Procedure entry point could not be found ?
30 décembre 2012, par ronagI've encountered a strange problem. After updating to the latest ffmpeg headers/lib/dll I keep getting the error :
The procedure entry point __glewProgramUniform1i could not be located in the dynamic link library
If I change so that I link to glew using static linking, then that specific error disappears and it instead complains about some other procedure entry point in some other dll, and so on.
As soon as a revert to the old ffmpeg headers/lib/dll the problem disappears.
What could cause this behavior ? How do I debug this ?
NOTE : This only happens during release builds, not during debug builds.
Depends profile log :
Started "CONHOST.EXE" (process 0x1BBC) at address 0x000007F63CF60000. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x000007F945C30000. Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x000007F943400000. Successfully hooked module.
Loaded "KERNELBASE.DLL" at address 0x000007F942D10000. Successfully hooked module.
DllMain(0x000007F942D10000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNELBASE.DLL" called.
DllMain(0x000007F942D10000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNELBASE.DLL" returned 1 (0x1).
DllMain(0x000007F943400000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNEL32.DLL" called.
DllMain(0x000007F943400000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNEL32.DLL" returned 1 (0x1).
Injected "DEPENDS.DLL" at address 0x000000005ACD0000.
DllMain(0x000000005ACD0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DEPENDS.DLL" called.
DllMain(0x000000005ACD0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DEPENDS.DLL" returned 1 (0x1).
Loaded "GDI32.DLL" at address 0x000007F945970000. Successfully hooked module.
Loaded "USER32.DLL" at address 0x000007F943860000. Successfully hooked module.
Loaded "MSVCRT.DLL" at address 0x000007F945430000. Successfully hooked module.
Loaded "IMM32.DLL" at address 0x000007F945320000. Successfully hooked module.
Loaded "OLEAUT32.DLL" at address 0x000007F9454E0000. Successfully hooked module.
Loaded "COMBASE.DLL" at address 0x000007F9457C0000. Successfully hooked module.
Loaded "MSCTF.DLL" at address 0x000007F944FD0000. Successfully hooked module.
Loaded "RPCRT4.DLL" at address 0x000007F944CF0000. Successfully hooked module.
Entrypoint reached. All implicit modules have been loaded.
DllMain(0x000007F943860000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "USER32.DLL" called.
DllMain(0x000007F945430000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "MSVCRT.DLL" called.
DllMain(0x000007F945430000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "MSVCRT.DLL" returned 1 (0x1).
DllMain(0x000007F943860000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "USER32.DLL" returned 1 (0x1).
DllMain(0x000007F945970000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "GDI32.DLL" called.
DllMain(0x000007F945970000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "GDI32.DLL" returned 1 (0x1).
DllMain(0x000007F944FD0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "MSCTF.DLL" called.
DllMain(0x000007F944FD0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "MSCTF.DLL" returned 1 (0x1).
DllMain(0x000007F945320000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "IMM32.DLL" called.
DllMain(0x000007F945320000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "IMM32.DLL" returned 1 (0x1).
DllMain(0x000007F944CF0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "RPCRT4.DLL" called.
DllMain(0x000007F944CF0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "RPCRT4.DLL" returned 1154577921 (0x44D17601).
DllMain(0x000007F9457C0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "COMBASE.DLL" called.
DllMain(0x000007F9457C0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "COMBASE.DLL" returned 1 (0x1).
DllMain(0x000007F9454E0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "OLEAUT32.DLL" called.
DllMain(0x000007F9454E0000, DLL_PROCESS_ATTACH, 0x00000019CF36F8C0) in "OLEAUT32.DLL" returned 1 (0x1).
Loaded "UXTHEME.DLL" at address 0x000007F941950000. Successfully hooked module.
DllMain(0x000007F941950000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "UXTHEME.DLL" called.
DllMain(0x000007F941950000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "UXTHEME.DLL" returned 1 (0x1).
Error writing a breakpoint at the entrypoint return of "". Entrypoint cannot be hooked. Invalid access to memory location (998).
Loaded "" at address 0x00000019D1220000. Successfully hooked module.
Unloaded "" at address 0x00000019D1220000.
Loaded "START8_64.DLL" at address 0x000007F93A130000. Successfully hooked module.
DllMain(0x000007F93A130000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "START8_64.DLL" called.
GetProcAddress(0x000007F943860000 [USER32.DLL], "CreateWindowInBand") called from "START8_64.DLL" at address 0x000007F93A1C0941 and returned 0x000007F943872C20.
LoadLibraryA("ADVAPI32.dll") called from "START8_64.DLL" at address 0x000007F93A1A1D5C.
Loaded "ADVAPI32.DLL" at address 0x000007F944E40000. Successfully hooked module.
Loaded "SECHOST.DLL" at address 0x000007F9439B0000. Successfully hooked module.
DllMain(0x000007F9439B0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SECHOST.DLL" called.
DllMain(0x000007F9439B0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SECHOST.DLL" returned 1 (0x1).
DllMain(0x000007F944E40000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "ADVAPI32.DLL" called.
DllMain(0x000007F944E40000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "ADVAPI32.DLL" returned 1 (0x1).
LoadLibraryA("ADVAPI32.dll") returned 0x000007F944E40000.
GetProcAddress(0x000007F944E40000 [ADVAPI32.DLL], "RegOpenKeyExW") called from "START8_64.DLL" at address 0x000007F93A1A1E59 and returned 0x000007F944E413D0.
GetProcAddress(0x000007F944E40000 [ADVAPI32.DLL], "RegQueryValueExW") called from "START8_64.DLL" at address 0x000007F93A1A1E59 and returned 0x000007F944E413F0.
GetProcAddress(0x000007F944E40000 [ADVAPI32.DLL], "RegCloseKey") called from "START8_64.DLL" at address 0x000007F93A1A1E59 and returned 0x000007F944E413B0.
GetProcAddress(0x000007F943860000 [USER32.DLL], "GetWindowBand") called from "START8_64.DLL" at address 0x000007F93A1C0A91 and returned 0x000007F943863210.
GetProcAddress(0x000007F943860000 [USER32.DLL], "SetWindowBand") called from "START8_64.DLL" at address 0x000007F93A1C0AC1 and returned 0x000007F943872BB0.
DllMain(0x000007F93A130000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "START8_64.DLL" returned 1 (0x1).
Loaded "DWMAPI.DLL" at address 0x000007F941120000. Successfully hooked module.
DllMain(0x000007F941120000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DWMAPI.DLL" called.
DllMain(0x000007F941120000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DWMAPI.DLL" returned 1 (0x1).
Loaded "COMCTL32.DLL" at address 0x000007F940010000. Successfully hooked module.
DllMain(0x000007F940010000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "COMCTL32.DLL" called.
DllMain(0x000007F940010000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "COMCTL32.DLL" returned 1 (0x1).
Loaded "OLE32.DLL" at address 0x000007F945AB0000. Successfully hooked module.
DllMain(0x000007F945AB0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "OLE32.DLL" called.
DllMain(0x000007F945AB0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "OLE32.DLL" returned 1 (0x1).
Loaded "CRYPTBASE.DLL" at address 0x000007F9429A0000. Successfully hooked module.
Loaded "BCRYPTPRIMITIVES.DLL" at address 0x000007F942940000. Successfully hooked module.
DllMain(0x000007F942940000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "BCRYPTPRIMITIVES.DLL" called.
DllMain(0x000007F942940000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "BCRYPTPRIMITIVES.DLL" returned 1 (0x1).
DllMain(0x000007F9429A0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "CRYPTBASE.DLL" called.
DllMain(0x000007F9429A0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "CRYPTBASE.DLL" returned 1 (0x1).
Loaded "SHCORE.DLL" at address 0x000007F941D20000. Successfully hooked module.
DllMain(0x000007F941D20000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SHCORE.DLL" called.
DllMain(0x000007F941D20000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SHCORE.DLL" returned 1 (0x1).