[84328] trunk/dports/multimedia/transcode
devans at macports.org
devans at macports.org
Thu Sep 22 11:42:31 PDT 2011
Revision: 84328
http://trac.macports.org/changeset/84328
Author: devans at macports.org
Date: 2011-09-22 11:42:29 -0700 (Thu, 22 Sep 2011)
Log Message:
-----------
transcode: patch to allow building against latest ffmpeg-devel and well as ffmpeg.
Modified Paths:
--------------
trunk/dports/multimedia/transcode/Portfile
Added Paths:
-----------
trunk/dports/multimedia/transcode/files/patch-transcode-ffmpeg.diff
Modified: trunk/dports/multimedia/transcode/Portfile
===================================================================
--- trunk/dports/multimedia/transcode/Portfile 2011-09-22 17:36:12 UTC (rev 84327)
+++ trunk/dports/multimedia/transcode/Portfile 2011-09-22 18:42:29 UTC (rev 84328)
@@ -50,7 +50,8 @@
platforms darwin
-patchfiles patch-configure.in.diff
+patchfiles patch-configure.in.diff \
+ patch-transcode-ffmpeg.diff
use_autoreconf yes
autoreconf.args --force
Added: trunk/dports/multimedia/transcode/files/patch-transcode-ffmpeg.diff
===================================================================
--- trunk/dports/multimedia/transcode/files/patch-transcode-ffmpeg.diff (rev 0)
+++ trunk/dports/multimedia/transcode/files/patch-transcode-ffmpeg.diff 2011-09-22 18:42:29 UTC (rev 84328)
@@ -0,0 +1,102 @@
+diff -up export/export_ffmpeg.c.ffmpeg export/export_ffmpeg.c
+--- export/export_ffmpeg.c.ffmpeg 2009-02-21 22:01:57.000000000 +0100
++++ export/export_ffmpeg.c 2011-09-03 12:39:13.000000000 +0200
+@@ -643,8 +643,10 @@ MOD_init
+
+ lavc_venc_context->bit_rate = vob->divxbitrate * 1000;
+ lavc_venc_context->bit_rate_tolerance = lavc_param_vrate_tolerance * 1000;
++#if FF_API_MB_Q
+ lavc_venc_context->mb_qmin = lavc_param_mb_qmin;
+ lavc_venc_context->mb_qmax = lavc_param_mb_qmax;
++#endif
+ lavc_venc_context->lmin= (int)(FF_QP2LAMBDA * lavc_param_lmin + 0.5);
+ lavc_venc_context->lmax= (int)(FF_QP2LAMBDA * lavc_param_lmax + 0.5);
+ lavc_venc_context->max_qdiff = lavc_param_vqdiff;
+diff -up filter/filter_resample.c.ffmpeg filter/filter_resample.c
+--- filter/filter_resample.c.ffmpeg 2009-02-21 22:01:57.000000000 +0100
++++ filter/filter_resample.c 2011-09-03 13:28:13.000000000 +0200
+@@ -110,8 +110,15 @@ static int resample_configure(TCModuleIn
+ goto abort;
+ }
+
++#if FF_API_AUDIO_OLD
+ pd->resample_ctx = audio_resample_init(vob->a_chan, vob->a_chan,
+ vob->mp3frequency, vob->a_rate);
++#else
++ pd->resample_ctx = av_audio_resample_init(vob->a_chan, vob->a_chan,
++ vob->mp3frequency, vob->a_rate,
++ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S16,
++ 16, 10, 0, 0.8);
++#endif
+ if (pd->resample_ctx == NULL) {
+ tc_log_error(MOD_NAME, "can't get a resample context");
+ goto abort;
+diff -up import/decode_lavc.c.ffmpeg import/decode_lavc.c
+--- import/decode_lavc.c.ffmpeg 2009-03-28 09:39:08.000000000 +0100
++++ import/decode_lavc.c 2011-09-03 12:39:13.000000000 +0200
+@@ -261,8 +261,17 @@ void decode_lavc(decode_t *decode)
+
+ //tc_log_msg(__FILE__, "SIZE: (%d) MP4(%d) blen(%d) BUF(%d) read(%ld)", len, mp4_size, buf_len, READ_BUFFER_SIZE, bytes_read);
+ do {
++#if FF_API_VIDEO_OLD
+ len = avcodec_decode_video(lavc_dec_context, &picture,
+ &got_picture, buffer+buf_len, mp4_size-buf_len);
++#else
++ AVPacket avpkt;
++ av_init_packet(&avpkt);
++ avpkt.data = buffer+buf_len;
++ avpkt.size = mp4_size-buf_len;
++ len = avcodec_decode_video2(lavc_dec_context, &picture,
++ &got_picture, &avpkt);
++#endif
+
+ if (len < 0) {
+ tc_log_error(__FILE__, "frame decoding failed");
+diff -up import/import_ffmpeg.c.ffmpeg import/import_ffmpeg.c
+--- import/import_ffmpeg.c.ffmpeg 2009-02-21 22:01:57.000000000 +0100
++++ import/import_ffmpeg.c 2011-09-03 14:09:41.000000000 +0200
+@@ -543,8 +543,17 @@ MOD_decode {
+ retry:
+ do {
+ TC_LOCK_LIBAVCODEC;
++#if FF_API_VIDEO_OLD
+ len = avcodec_decode_video(lavc_dec_context, &picture,
+ &got_picture, buffer, bytes_read);
++#else
++ AVPacket avpkt;
++ av_init_packet(&avpkt);
++ avpkt.data = buffer;
++ avpkt.size = bytes_read;
++ len = avcodec_decode_video2(lavc_dec_context, &picture,
++ &got_picture, &avpkt);
++#endif
+ TC_UNLOCK_LIBAVCODEC;
+
+ if (len < 0) {
+diff -up import/probe_ffmpeg.c.ffmpeg import/probe_ffmpeg.c
+--- import/probe_ffmpeg.c.ffmpeg 2009-03-28 09:39:08.000000000 +0100
++++ import/probe_ffmpeg.c 2011-09-03 12:39:13.000000000 +0200
+@@ -47,7 +47,11 @@ static void translate_info(const AVForma
+ for (i = 0; i < ctx->nb_streams; i++) {
+ st = ctx->streams[i];
+
++#if LIBAVCODEC_VERSION_MAJOR < 53
+ if (st->codec->codec_type == CODEC_TYPE_VIDEO) {
++#else
++ if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
++#endif
+ info->bitrate = st->codec->bit_rate / 1000;
+ info->width = st->codec->width;
+ info->height = st->codec->height;
+@@ -65,7 +69,11 @@ static void translate_info(const AVForma
+ for (i = 0; i < ctx->nb_streams; i++) {
+ st = ctx->streams[i];
+
++#if LIBAVCODEC_VERSION_MAJOR < 53
+ if (st->codec->codec_type == CODEC_TYPE_AUDIO
++#else
++ if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO
++#endif
+ && j < TC_MAX_AUD_TRACKS) {
+ info->track[j].format = 0x1; /* known wrong */
+ info->track[j].chan = st->codec->channels;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110922/8e709ef6/attachment.html>
More information about the macports-changes
mailing list