[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