Hmm... any idea what command line options you used to buildffmpeg with the reduced content?
I'm trying this all again on a fresh PC, the Windows 7 DVR machine I'll be running comskip on.
Ok so I figured we need h.264 and mpeg2 decoding, so first I tried
$ ./configure --prefix=/usr/local --disable-all --enable-decoder=h264 --enable-decoder=mpeg2video
but I get the warning:
WARNING: Disabled h264_decoder because
WARNING: Disabled mpeg2video_decoder because
Strange... Ok then I tried:
./configure --prefix=/usr/local --disable-encoders
And this worked.
Next issue, I don't think the version of SDL2 I got (2.0.10) is compatible with Comskip. Which version of SDL2 did you use??
The ./configure script failed to find the SDL library, until I change "sdl >= 1.2.0" into "sdl2 >= 1.2.0" in that script.
Building with 2.0.10, I get a bunch of errors:
TV@DVR MINGW64 /c/comskip-src/Comskip
$ make
gcc -DPACKAGE_NAME=\"Comskip\" -DPACKAGE_TARNAME=\"comskip\" -DPACKAGE_VERSION=\"0.82.010\" -DPACKAGE_STRING=\"Comskip\ 0.82.010\" -DPACKAGE_BUGREPORT=\"https://github.com/erikkaashoek/Comskip/issues\" -DPACKAGE_URL=\"\" -DPACKAGE=\"comskip\" -DVERSION=\"0.82.010\" -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I. -Wall -I/mingw64/include -I/usr/local/include -Dmain=SDL_main -I/mingw64/include/SDL2 -DPROCESS_CC -DDONATOR -DHAVE_SDL -g -O2 -MT comskip_gui-video_out_sdl.o -MD -MP -MF .deps/comskip_gui-video_out_sdl.Tpo -c -o comskip_gui-video_out_sdl.o `test -f 'video_out_sdl.c' || echo './'`video_out_sdl.c
video_out_sdl.c: In function ‘sdl_setup’:
video_out_sdl.c:130:25: warning: implicit declaration of function ‘SDL_SetVideoMode’; did you mean ‘SDL_GetVideoDriver’? [-Wimplicit-function-declaration]
instance->surface = SDL_SetVideoMode (width, height, instance->bpp,
^~~~~~~~~~~~~~~~
SDL_GetVideoDriver
video_out_sdl.c:130:23: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
instance->surface = SDL_SetVideoMode (width, height, instance->bpp,
^
video_out_sdl.c:136:42: error: ‘SDL_SRCCOLORKEY’ undeclared (first use in this function); did you mean ‘SDL_SCANCODE_Y’?
instance->rgb = SDL_CreateRGBSurface(SDL_SRCCOLORKEY, width, height, 24, 0x0000FF, 0x00FF00, 0xFF0000, 0);
^~~~~~~~~~~~~~~
SDL_SCANCODE_Y
video_out_sdl.c:136:42: note: each undeclared identifier is reported only once for each function it appears in
video_out_sdl.c: In function ‘vo_sdl_open’:
video_out_sdl.c:149:11: error: unknown type name ‘SDL_VideoInfo’
const SDL_VideoInfo * vidInfo;
^~~~~~~~~~~~~
video_out_sdl.c:163:26: error: ‘SDL_HWSURFACE’ undeclared (first use in this function); did you mean ‘SDL_SWSURFACE’?
instance->sdlflags = SDL_HWSURFACE | SDL_ASYNCBLIT | SDL_HWACCEL;
^~~~~~~~~~~~~
SDL_SWSURFACE
video_out_sdl.c:163:42: error: ‘SDL_ASYNCBLIT’ undeclared (first use in this function); did you mean ‘SDL_ENABLE’?
instance->sdlflags = SDL_HWSURFACE | SDL_ASYNCBLIT | SDL_HWACCEL;
^~~~~~~~~~~~~
SDL_ENABLE
video_out_sdl.c:163:58: error: ‘SDL_HWACCEL’ undeclared (first use in this function); did you mean ‘SDL_RLEACCEL’?
instance->sdlflags = SDL_HWSURFACE | SDL_ASYNCBLIT | SDL_HWACCEL;
^~~~~~~~~~~
SDL_RLEACCEL
video_out_sdl.c:173:15: warning: implicit declaration of function ‘SDL_GetVideoInfo’; did you mean ‘SDL_GetPowerInfo’? [-Wimplicit-function-declaration]
vidInfo = SDL_GetVideoInfo ();
^~~~~~~~~~~~~~~~
SDL_GetPowerInfo
video_out_sdl.c:173:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
vidInfo = SDL_GetVideoInfo ();
^
video_out_sdl.c:174:10: warning: implicit declaration of function ‘SDL_ListModes’; did you mean ‘SDL_LockMutex’? [-Wimplicit-function-declaration]
if (!SDL_ListModes (vidInfo->vfmt, SDL_HWSURFACE | SDL_RESIZABLE)) {
^~~~~~~~~~~~~
SDL_LockMutex
video_out_sdl.c:174:32: error: request for member ‘vfmt’ in something not a structure or union
if (!SDL_ListModes (vidInfo->vfmt, SDL_HWSURFACE | SDL_RESIZABLE)) {
^~
video_out_sdl.c:174:56: error: ‘SDL_RESIZABLE’ undeclared (first use in this function); did you mean ‘SDL_DISABLE’?
if (!SDL_ListModes (vidInfo->vfmt, SDL_HWSURFACE | SDL_RESIZABLE)) {
^~~~~~~~~~~~~
SDL_DISABLE
video_out_sdl.c:176:30: error: request for member ‘vfmt’ in something not a structure or union
if (!SDL_ListModes (vidInfo->vfmt, SDL_RESIZABLE)) {
^~
video_out_sdl.c:181:28: error: request for member ‘vfmt’ in something not a structure or union
instance->bpp = vidInfo->vfmt->BitsPerPixel;
^~
video_out_sdl.c: In function ‘handle_event’:
video_out_sdl.c:236:7: error: unknown type name ‘SDL_keysym’; did you mean ‘SDL_Keysym’?
SDL_keysym ks = event.key.keysym;
^~~~~~~~~~
SDL_Keysym
video_out_sdl.c:236:23: error: incompatible types when initializing type ‘int’ using type ‘SDL_Keysym {aka struct SDL_Keysym}’
SDL_keysym ks = event.key.keysym;
^~~~~
video_out_sdl.c:238:17: error: request for member ‘sym’ in something not a structure or union
switch (ks.sym) {
^
video_out_sdl.c:268:17: error: request for member ‘mod’ in something not a structure or union
if (ks.mod & KMOD_SHIFT)
^
video_out_sdl.c:274:17: error: request for member ‘mod’ in something not a structure or union
if (ks.mod & KMOD_SHIFT)
^
video_out_sdl.c:286:17: error: request for member ‘mod’ in something not a structure or union
if (ks.mod & KMOD_RALT || ks.mod & KMOD_LALT) {
^
video_out_sdl.c:286:39: error: request for member ‘mod’ in something not a structure or union
if (ks.mod & KMOD_RALT || ks.mod & KMOD_LALT) {
^
video_out_sdl.c:293:17: error: request for member ‘mod’ in something not a structure or union
if (ks.mod & KMOD_RALT || ks.mod & KMOD_LALT) {
^
video_out_sdl.c:293:39: error: request for member ‘mod’ in something not a structure or union
if (ks.mod & KMOD_RALT || ks.mod & KMOD_LALT) {
^
video_out_sdl.c:300:17: error: request for member ‘sym’ in something not a structure or union
if (ks.sym >= SDLK_a && ks.sym <= SDLK_z) {
^
video_out_sdl.c:300:37: error: request for member ‘sym’ in something not a structure or union
if (ks.sym >= SDLK_a && ks.sym <= SDLK_z) {
^
video_out_sdl.c:301:21: error: request for member ‘sym’ in something not a structure or union
key = ks.sym - 32;
^
video_out_sdl.c:236:18: warning: variable ‘ks’ set but not used [-Wunused-but-set-variable]
SDL_keysym ks = event.key.keysym;
^~
video_out_sdl.c: In function ‘vo_init’:
video_out_sdl.c:322:3: warning: implicit declaration of function ‘SDL_WM_SetCaption’; did you mean ‘SDL_GetVersion’? [-Wimplicit-function-declaration]
SDL_WM_SetCaption(title, "comskip");
^~~~~~~~~~~~~~~~~
SDL_GetVersion
video_out_sdl.c:324:3: warning: implicit declaration of function ‘SDL_EnableKeyRepeat’; did you mean ‘SDL_enabled_assert’? [-Wimplicit-function-declaration]
SDL_EnableKeyRepeat(50, SDL_DEFAULT_REPEAT_INTERVAL);
^~~~~~~~~~~~~~~~~~~
SDL_enabled_assert
video_out_sdl.c:324:27: error: ‘SDL_DEFAULT_REPEAT_INTERVAL’ undeclared (first use in this function)
SDL_EnableKeyRepeat(50, SDL_DEFAULT_REPEAT_INTERVAL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
video_out_sdl.c: In function ‘vo_draw’:
video_out_sdl.c:342:3: warning: implicit declaration of function ‘SDL_Flip’; did you mean ‘SDL_Quit’? [-Wimplicit-function-declaration]
SDL_Flip(screen);
^~~~~~~~
SDL_Quit
make: *** [Makefile:807: comskip_gui-video_out_sdl.o] Error 1
Finally, a comskip.exe file was produced, but I can only run this inside the MINGW64 command prompt.
If I double-click comskip.exe in Explorer, I get a message saying "msys-2.0.dll is missing from your computer"
Can I get any more details on your build system configuration please? Also what SDL2 version?
Thanks,
Ryan