diff options
| author | Sylvio Cesar Teixeira <sylvio@FreeBSD.org> | 2012-06-17 20:14:17 +0000 | 
|---|---|---|
| committer | Sylvio Cesar Teixeira <sylvio@FreeBSD.org> | 2012-06-17 20:14:17 +0000 | 
| commit | 51eb180072e641c045da963980ab77958fa448bc (patch) | |
| tree | 7229636e2ad6fac003db0cf396b81a90228ace75 /multimedia/motion/files/patch-ffmpeg.c | |
| parent | - Fix build with GTK2 option (diff) | |
- Updatet to version 3.2.12
New file:
files/patch-configure.in
files/patch-ffmpeg.c
PR:		ports/169006
Submitted by:	KATO Tsuguru <tkato432@yahoo.com>
Diffstat (limited to 'multimedia/motion/files/patch-ffmpeg.c')
| -rw-r--r-- | multimedia/motion/files/patch-ffmpeg.c | 157 | 
1 files changed, 157 insertions, 0 deletions
| diff --git a/multimedia/motion/files/patch-ffmpeg.c b/multimedia/motion/files/patch-ffmpeg.c new file mode 100644 index 000000000000..0055667f7e55 --- /dev/null +++ b/multimedia/motion/files/patch-ffmpeg.c @@ -0,0 +1,157 @@ +--- ffmpeg.c.orig	2010-06-01 15:48:23.000000000 +0900 ++++ ffmpeg.c	2012-06-08 23:21:55.000000000 +0900 +@@ -36,6 +36,11 @@ + #    endif /* __GNUC__ */ + #endif /* LIBAVCODEC_BUILD > 4680 */ +  ++#if defined LIBAVFORMAT_VERSION_MAJOR && defined LIBAVFORMAT_VERSION_MINOR  ++#if LIBAVFORMAT_VERSION_MAJOR < 53 && LIBAVFORMAT_VERSION_MINOR < 45 ++    #define GUESS_NO_DEPRECATED  ++#endif ++#endif +  + #if LIBAVFORMAT_BUILD >= 4616 + /* The API for av_write_frame changed with FFmpeg version 0.4.9pre1. +@@ -227,11 +232,13 @@ +     mpeg1_file_protocol.url_seek  = file_protocol.url_seek; +     mpeg1_file_protocol.url_close = file_protocol.url_close; +  +-    /* Register the append file protocol. */ +-#if LIBAVFORMAT_BUILD >= (52<<16 | 31<<8) ++/* Register the append file protocol. */ ++#ifdef have_av_register_protocol2 ++    av_register_protocol2(&mpeg1_file_protocol, sizeof(mpeg1_file_protocol)); ++#elif defined have_av_register_protocol         +     av_register_protocol(&mpeg1_file_protocol); + #else +-    register_protocol(&mpeg1_file_protocol); ++#   warning av_register_protocolXXX missing + #endif + } +  +@@ -258,7 +265,11 @@ +         /* We use "mpeg1video" for raw mpeg1 format. Using "mpeg" would +          * result in a muxed output file, which isn't appropriate here. +          */ +-        of = guess_format("mpeg1video", NULL, NULL); ++#ifdef GUESS_NO_DEPRECATED ++        of = guess_format("mpeg1video", NULL, NULL);         ++#else ++        of = av_guess_format("mpeg1video", NULL, NULL); ++#endif  +         if (of) { +             /* But we want the trailer to be correctly written. */ +             of->write_trailer = mpeg1_write_trailer; +@@ -270,24 +281,44 @@ + #endif +     } else if (strcmp(codec, "mpeg4") == 0) { +         ext = ".avi"; +-        of = guess_format("avi", NULL, NULL); ++#ifdef GUESS_NO_DEPRECATED ++        of = guess_format("mpeg1video", NULL, NULL); ++#else         ++        of = av_guess_format("avi", NULL, NULL); ++#endif         +     } else if (strcmp(codec, "msmpeg4") == 0) { +         ext = ".avi"; +-        of = guess_format("avi", NULL, NULL); ++#ifdef GUESS_NO_DEPRECATED ++        of = guess_format("mpeg1video", NULL, NULL); ++#else         ++        of = av_guess_format("avi", NULL, NULL); ++#endif +         if (of) { +             /* Manually override the codec id. */ +             of->video_codec = CODEC_ID_MSMPEG4V2; +         } +     } else if (strcmp(codec, "swf") == 0) { +         ext = ".swf"; +-        of = guess_format("swf", NULL, NULL); ++#ifdef GUESS_NO_DEPRECATED ++        of = guess_format("mpeg1video", NULL, NULL); ++#else         ++        of = av_guess_format("swf", NULL, NULL); ++#endif         +     } else if (strcmp(codec, "flv") == 0) { +         ext = ".flv"; +-        of = guess_format("flv", NULL, NULL); ++#ifdef GUESS_NO_DEPRECATED ++        of = guess_format("mpeg1video", NULL, NULL); ++#else         ++        of = av_guess_format("flv", NULL, NULL); ++#endif         +         of->video_codec = CODEC_ID_FLV1; +     } else if (strcmp(codec, "ffv1") == 0) { +         ext = ".avi"; +-        of = guess_format("avi", NULL, NULL); ++#ifdef GUESS_NO_DEPRECATED ++        of = guess_format("mpeg1video", NULL, NULL); ++#else ++        of = av_guess_format("avi", NULL, NULL); ++#endif +         if (of) { +             /* Use the FFMPEG Lossless Video codec (experimental!). +                Requires strict_std_compliance to be <= -2 */ +@@ -295,7 +326,11 @@ +         } +     } else if (strcmp(codec, "mov") == 0) { +         ext = ".mov"; +-        of = guess_format("mov", NULL, NULL);         ++#ifdef GUESS_NO_DEPRECATED ++        of = guess_format("mpeg1video", NULL, NULL); ++#else         ++        of = av_guess_format("mov", NULL, NULL); ++#endif +     } else { +         motion_log(LOG_ERR, 0, "ffmpeg_video_codec option value %s is not supported", codec); +         return NULL; +@@ -340,7 +375,13 @@ +     snprintf(ffmpeg->codec, sizeof(ffmpeg->codec), "%s", ffmpeg_video_codec); +  +     /* allocation the output media context */ ++#ifdef have_avformat_alloc_context ++    ffmpeg->oc = avformat_alloc_context(); ++#elif defined have_av_avformat_alloc_context ++    ffmpeg->oc = av_alloc_format_context(); ++#else +     ffmpeg->oc = av_mallocz(sizeof(AVFormatContext)); ++#endif +  +     if (!ffmpeg->oc) { +         motion_log(LOG_ERR, 1, "Memory error while allocating output media context"); +@@ -377,7 +418,11 @@ +  +     ffmpeg->c     = c = AVSTREAM_CODEC_PTR(ffmpeg->video_st); +     c->codec_id   = ffmpeg->oc->oformat->video_codec; ++#if LIBAVCODEC_VERSION_MAJOR < 53     +     c->codec_type = CODEC_TYPE_VIDEO; ++#else ++    c->codec_type = AVMEDIA_TYPE_VIDEO; ++#endif     +     is_mpeg1      = c->codec_id == CODEC_ID_MPEG1VIDEO; +  +     if (strcmp(ffmpeg_video_codec, "ffv1") == 0) +@@ -646,7 +691,11 @@ +     if (ffmpeg->oc->oformat->flags & AVFMT_RAWPICTURE) { +         /* raw video case. The API will change slightly in the near future for that */ + #ifdef FFMPEG_AVWRITEFRAME_NEWAPI ++#if LIBAVCODEC_VERSION_MAJOR < 53         +         pkt.flags |= PKT_FLAG_KEY; ++#else ++        pkt.flags |= AV_PKT_FLAG_KEY;   ++#endif         +         pkt.data = (uint8_t *)pic; +         pkt.size = sizeof(AVPicture); +         ret = av_write_frame(ffmpeg->oc, &pkt); +@@ -667,7 +716,11 @@ + #ifdef FFMPEG_AVWRITEFRAME_NEWAPI +             pkt.pts = AVSTREAM_CODEC_PTR(ffmpeg->video_st)->coded_frame->pts; +             if (AVSTREAM_CODEC_PTR(ffmpeg->video_st)->coded_frame->key_frame) { ++#if LIBAVCODEC_VERSION_MAJOR < 53                 +                 pkt.flags |= PKT_FLAG_KEY; ++#else ++                pkt.flags |= AV_PKT_FLAG_KEY; ++#endif                 +             } +             pkt.data = ffmpeg->video_outbuf; +             pkt.size = out_size;
\ No newline at end of file | 
