> De: "Mathieu Bouchard" <[email protected]> > Though ideally, I'd be replacing it with gmerlin, a newer library by > the > same author. Last time I looked, something about installing it was a > mess, > but I don't remember what it was, and it was years ago, so it's > surely > much better now. >
It's still a mess on windows, on msys apply this following patch for resolving missing X11 headers: http://comments.gmane.org/gmane.comp.video.gmerlin.general/325 there are plenty of errors popping from *_ffmpeg.c, I've manually resolved some, but this is not really elegant. ========================================================== --- lib/demux_ffmpeg.c.old 2012-03-17 21:28:15 +0000 +++ lib/demux_ffmpeg.c 2012-03-17 21:23:33 +0000 @@ -577,11 +577,11 @@ /* With the current implementation in ffmpeg, this can be called multiple times */ -#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52, 29, 0) - register_protocol(&bgav_protocol); -#else - av_register_protocol(&bgav_protocol); -#endif +// #if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52, 29, 0) + // register_protocol(&bgav_protocol); +// #else + // av_register_protocol(&bgav_protocol); +// #endif #if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52, 26, 0) avfc = av_alloc_format_context(); @@ -626,14 +626,12 @@ { switch(avfc->streams[i]->codec->codec_type) { - case CODEC_TYPE_AUDIO: + case AVMEDIA_TYPE_AUDIO: init_audio_stream(ctx, avfc->streams[i], i); break; - case CODEC_TYPE_VIDEO: + case AVMEDIA_TYPE_VIDEO: init_video_stream(ctx, avfc->streams[i], i); break; - case CODEC_TYPE_SUBTITLE: - break; default: break; } @@ -650,7 +648,7 @@ ctx->stream_description = bgav_sprintf(TRD("%s (via ffmpeg)"), priv->avfc->iformat->long_name); - /* Metadata */ + /* Metadata if(avfc->title[0]) ctx->tt->cur->metadata.title = bgav_strdup(avfc->title); if(avfc->author[0]) @@ -660,7 +658,7 @@ if(avfc->album[0]) ctx->tt->cur->metadata.album = bgav_strdup(avfc->album); if(avfc->genre[0]) - ctx->tt->cur->metadata.genre = bgav_strdup(avfc->genre); + ctx->tt->cur->metadata.genre = bgav_strdup(avfc->genre);*/ return 1; } @@ -736,8 +734,8 @@ s->data.video.palette_changed = 1; } - if(pkt.flags&PKT_FLAG_KEY) - PACKET_SET_KEYFRAME(p); + // if(pkt.flags&PKT_FLAG_KEY) + // PACKET_SET_KEYFRAME(p); bgav_packet_done_write(p); av_free_packet(&pkt); ========================================================== --- lib/video_ffmpeg.c.old 2012-03-17 21:28:00 +0000 +++ lib/video_ffmpeg.c 2012-03-17 21:23:47 +0000 @@ -55,6 +55,12 @@ #define LOG_DOMAIN "ffmpeg_video" +#ifdef WIN32 +#define AV_DLLIMPORT __declspec(dllimport) +#else +#define AV_DLLIMPORT +#endif + // #define DUMP_DECODE // #define DUMP_EXTRADATA // #define DUMP_PACKET @@ -815,7 +821,7 @@ if(s->action == BGAV_STREAM_PARSE) return 1; - priv->ctx->codec_type = CODEC_TYPE_VIDEO; + priv->ctx->codec_type = AVMEDIA_TYPE_VIDEO; priv->ctx->bit_rate = 0; @@ -2305,6 +2311,7 @@ { // TODO: Enable postprocessing for non-gavl pixelformats // (but not as long as it makes no sense) + #ifdef HAVE_LIBSWSCALE sws_scale(priv->swsContext, priv->frame->data, priv->frame->linesize, ============================================================== ./configure --without-doxygen --disable-speex will make the gmerlin lib on msys _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
