summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-02-17 03:26:28 +0000
committerMike Frysinger <vapier@gentoo.org>2015-02-17 03:26:28 +0000
commitb1a41c15d12c318baf4c2964575b20aa41399f61 (patch)
treef6b8acd1504e89dce18a77df85c3536f843a4d90 /media-video
parentHandle renamed CODEC_ID defines #538500 by Patrick Lauer. (diff)
downloadgentoo-2-b1a41c15d12c318baf4c2964575b20aa41399f61.tar.gz
gentoo-2-b1a41c15d12c318baf4c2964575b20aa41399f61.tar.bz2
gentoo-2-b1a41c15d12c318baf4c2964575b20aa41399f61.zip
Fix building with newer libav #538500 by Patrick Lauer.
(Portage version: 2.2.17/cvs/Linux x86_64, signed Manifest commit with key D2E96200)
Diffstat (limited to 'media-video')
-rw-r--r--media-video/transcode/ChangeLog7
-rw-r--r--media-video/transcode/files/transcode-1.1.7-ffmpeg2.patch192
-rw-r--r--media-video/transcode/files/transcode-1.1.7-libav-10.patch36
-rw-r--r--media-video/transcode/transcode-1.1.7-r3.ebuild3
4 files changed, 236 insertions, 2 deletions
diff --git a/media-video/transcode/ChangeLog b/media-video/transcode/ChangeLog
index e27c2cca97ad..5d47007dd370 100644
--- a/media-video/transcode/ChangeLog
+++ b/media-video/transcode/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for media-video/transcode
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/transcode/ChangeLog,v 1.326 2015/02/17 02:54:28 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/transcode/ChangeLog,v 1.327 2015/02/17 03:26:28 vapier Exp $
+
+ 17 Feb 2015; Mike Frysinger <vapier@gentoo.org>
+ +files/transcode-1.1.7-libav-10.patch, files/transcode-1.1.7-ffmpeg2.patch,
+ transcode-1.1.7-r3.ebuild:
+ Fix building with newer libav #538500 by Patrick Lauer.
17 Feb 2015; Mike Frysinger <vapier@gentoo.org>
files/transcode-1.1.7-ffmpeg2.patch:
diff --git a/media-video/transcode/files/transcode-1.1.7-ffmpeg2.patch b/media-video/transcode/files/transcode-1.1.7-ffmpeg2.patch
index 956fc1e64e4d..9a770a6a0def 100644
--- a/media-video/transcode/files/transcode-1.1.7-ffmpeg2.patch
+++ b/media-video/transcode/files/transcode-1.1.7-ffmpeg2.patch
@@ -345,6 +345,71 @@ Index: transcode-1.1.7/import/import_ffmpeg.c
===================================================================
--- transcode-1.1.7.orig/import/import_ffmpeg.c
+++ transcode-1.1.7/import/import_ffmpeg.c
+@@ -58,6 +58,7 @@ struct ffmpeg_codec {
+ };
+
+ // fourCC to ID mapping taken from MPlayer's codecs.conf
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ static struct ffmpeg_codec ffmpeg_codecs[] = {
+ {CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
+ {"MP41", "DIV1", ""}},
+@@ -106,6 +107,56 @@ static struct ffmpeg_codec ffmpeg_codecs[] = {
+ {CODEC_ID_RAWVIDEO, TC_CODEC_YUV422P, "raw",
+ {"Y42B", ""}},
+ {0, TC_CODEC_UNKNOWN, NULL, {""}}};
++#else
++static struct ffmpeg_codec ffmpeg_codecs[] = {
++ {AV_CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
++ {"MP41", "DIV1", ""}},
++ {AV_CODEC_ID_MSMPEG4V2, TC_CODEC_MP42, "mp42",
++ {"MP42", "DIV2", ""}},
++ {AV_CODEC_ID_MSMPEG4V3, TC_CODEC_DIVX3, "msmpeg4",
++ {"DIV3", "DIV5", "AP41", "MPG3", "MP43", ""}},
++ {AV_CODEC_ID_MPEG4, TC_CODEC_DIVX4, "mpeg4",
++ {"DIVX", "XVID", "MP4S", "M4S2", "MP4V", "UMP4", "DX50", ""}},
++ {AV_CODEC_ID_MJPEG, TC_CODEC_MJPEG, "mjpeg",
++ {"MJPG", "AVRN", "AVDJ", "JPEG", "MJPA", "JFIF", ""}},
++ {AV_CODEC_ID_MPEG1VIDEO, TC_CODEC_MPG1, "mpeg1video",
++ {"MPG1", ""}},
++ {AV_CODEC_ID_DVVIDEO, TC_CODEC_DV, "dvvideo",
++ {"DVSD", ""}},
++ {AV_CODEC_ID_WMV1, TC_CODEC_WMV1, "wmv1",
++ {"WMV1", ""}},
++ {AV_CODEC_ID_WMV2, TC_CODEC_WMV2, "wmv2",
++ {"WMV2", ""}},
++ {AV_CODEC_ID_HUFFYUV, TC_CODEC_HUFFYUV, "hfyu",
++ {"HFYU", ""}},
++ {AV_CODEC_ID_H263I, TC_CODEC_H263I, "h263i",
++ {"I263", ""}},
++ {AV_CODEC_ID_H263P, TC_CODEC_H263P, "h263p",
++ {"H263", "U263", "VIV1", ""}},
++ {AV_CODEC_ID_H264, TC_CODEC_H264, "h264",
++ {"H264", "h264", "X264", "x264", "avc1", ""}},
++ {AV_CODEC_ID_RV10, TC_CODEC_RV10, "rv10",
++ {"RV10", "RV13", ""}},
++ {AV_CODEC_ID_SVQ1, TC_CODEC_SVQ1, "svq1",
++ {"SVQ1", ""}},
++ {AV_CODEC_ID_SVQ3, TC_CODEC_SVQ3, "svq3",
++ {"SVQ3", ""}},
++ {AV_CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
++ {"MPG2", ""}},
++ {AV_CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG, "mpeg2video",
++ {"MPG2", ""}},
++ {AV_CODEC_ID_ASV1, TC_CODEC_ASV1, "asv1",
++ {"ASV1", ""}},
++ {AV_CODEC_ID_ASV2, TC_CODEC_ASV2, "asv2",
++ {"ASV2", ""}},
++ {AV_CODEC_ID_FFV1, TC_CODEC_FFV1, "ffv1",
++ {"FFV1", ""}},
++ {AV_CODEC_ID_RAWVIDEO, TC_CODEC_YUV420P, "raw",
++ {"I420", "IYUV", ""}},
++ {AV_CODEC_ID_RAWVIDEO, TC_CODEC_YUV422P, "raw",
++ {"Y42B", ""}},
++ {0, TC_CODEC_UNKNOWN, NULL, {""}}};
++#endif
+
+ #define BUFFER_SIZE SIZE_RGB_FRAME
+
@@ -302,7 +302,7 @@ do_avi:
// Set these to the expected values so that ffmpeg's decoder can
@@ -354,6 +419,30 @@ Index: transcode-1.1.7/import/import_ffmpeg.c
if (lavc_dec_context == NULL) {
tc_log_error(MOD_NAME, "Could not allocate enough memory.");
return TC_IMPORT_ERROR;
+@@ -324,6 +375,7 @@ do_avi:
+ // XXX: some codecs need extra data
+ switch (codec->id)
+ {
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ case CODEC_ID_MJPEG: extra_data_size = 28; break;
+ case CODEC_ID_LJPEG: extra_data_size = 28; break;
+ case CODEC_ID_HUFFYUV: extra_data_size = 1000; break;
+@@ -331,6 +383,15 @@ do_avi:
+ case CODEC_ID_ASV2: extra_data_size = 8; break;
+ case CODEC_ID_WMV1: extra_data_size = 4; break;
+ case CODEC_ID_WMV2: extra_data_size = 4; break;
++#else
++ case AV_CODEC_ID_MJPEG: extra_data_size = 28; break;
++ case AV_CODEC_ID_LJPEG: extra_data_size = 28; break;
++ case AV_CODEC_ID_HUFFYUV: extra_data_size = 1000; break;
++ case AV_CODEC_ID_ASV1: extra_data_size = 8; break;
++ case AV_CODEC_ID_ASV2: extra_data_size = 8; break;
++ case AV_CODEC_ID_WMV1: extra_data_size = 4; break;
++ case AV_CODEC_ID_WMV2: extra_data_size = 4; break;
++#endif
+ default: extra_data_size = 0; break;
+ }
+
@@ -344,7 +344,7 @@ do_avi:
}
@@ -363,3 +452,106 @@ Index: transcode-1.1.7/import/import_ffmpeg.c
TC_UNLOCK_LIBAVCODEC;
if (ret < 0) {
tc_log_warn(MOD_NAME, "Could not initialize the '%s' codec.",
+@@ -360,7 +421,11 @@ do_avi:
+ frame_size = x_dim*y_dim + 2*UV_PLANE_SIZE(IMG_YUV_DEFAULT,x_dim,y_dim);
+
+ // we adapt the color space
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ if(codec->id == CODEC_ID_MJPEG) {
++#else
++ if(codec->id == AV_CODEC_ID_MJPEG) {
++#endif
+ enable_levels_filter();
+ }
+ break;
+@@ -434,7 +499,11 @@ do_dv:
+ }
+
+ // we adapt the color space
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ if(codec->id == CODEC_ID_MJPEG) {
++#else
++ if(codec->id == AV_CODEC_ID_MJPEG) {
++#endif
+ enable_levels_filter();
+ }
+
+@@ -504,13 +573,25 @@ MOD_decode {
+ int bkey = 0;
+
+ // check for keyframes
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ if (codec->id == CODEC_ID_MSMPEG4V3) {
++#else
++ if (codec->id == AV_CODEC_ID_MSMPEG4V3) {
++#endif
+ if (divx3_is_key(buffer)) bkey = 1;
+ }
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ else if (codec->id == CODEC_ID_MPEG4) {
++#else
++ else if (codec->id == AV_CODEC_ID_MPEG4) {
++#endif
+ if (mpeg4_is_key(buffer, bytes_read)) bkey = 1;
+ }
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ else if (codec->id == CODEC_ID_MJPEG) {
++#else
++ else if (codec->id == AV_CODEC_ID_MJPEG) {
++#endif
+ bkey = 1;
+ }
+
+--- a/import/decode_lavc.c
++++ b/import/decode_lavc.c
+@@ -57,6 +57,7 @@ struct ffmpeg_codec {
+ };
+
+ // fourCC to ID mapping taken from MPlayer's codecs.conf
++#if LIBAVCODEC_VERSION_MAJOR < 55
+ static struct ffmpeg_codec ffmpeg_codecs[] = {
+ {CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
+ {"MP41", "DIV1", ""}},
+@@ -91,6 +92,42 @@ static struct ffmpeg_codec ffmpeg_codecs[] = {
+ {CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
+ {"MPG2", ""}},
+ {0, TC_CODEC_UNKNOWN, NULL, {""}}};
++#else
++static struct ffmpeg_codec ffmpeg_codecs[] = {
++ {AV_CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
++ {"MP41", "DIV1", ""}},
++ {AV_CODEC_ID_MSMPEG4V2, TC_CODEC_MP42, "mp42",
++ {"MP42", "DIV2", ""}},
++ {AV_CODEC_ID_MSMPEG4V3, TC_CODEC_DIVX3, "msmpeg4",
++ {"DIV3", "DIV5", "AP41", "MPG3", "MP43", ""}},
++ {AV_CODEC_ID_MPEG4, TC_CODEC_DIVX4, "mpeg4",
++ {"DIVX", "XVID", "MP4S", "M4S2", "MP4V", "UMP4", "DX50", ""}},
++ {AV_CODEC_ID_MJPEG, TC_CODEC_MJPEG, "mjpeg",
++ {"MJPG", "AVRN", "AVDJ", "JPEG", "MJPA", "JFIF", ""}},
++ {AV_CODEC_ID_MPEG1VIDEO, TC_CODEC_MPEG1VIDEO, "mpeg1video",
++ {"MPG1", ""}},
++ {AV_CODEC_ID_DVVIDEO, TC_CODEC_DV, "dvvideo",
++ {"DVSD", ""}},
++ {AV_CODEC_ID_WMV1, TC_CODEC_WMV1, "wmv1",
++ {"WMV1", ""}},
++ {AV_CODEC_ID_WMV2, TC_CODEC_WMV2, "wmv2",
++ {"WMV2", ""}},
++ {AV_CODEC_ID_HUFFYUV, TC_CODEC_HUFFYUV, "hfyu",
++ {"HFYU", ""}},
++ {AV_CODEC_ID_H263I, TC_CODEC_H263I, "h263i",
++ {"I263", ""}},
++ {AV_CODEC_ID_H263P, TC_CODEC_H263P, "h263p",
++ {"H263", "U263", "VIV1", ""}},
++ {AV_CODEC_ID_RV10, TC_CODEC_RV10, "rv10",
++ {"RV10", "RV13", ""}},
++ {AV_CODEC_ID_SVQ1, TC_CODEC_SVQ1, "svq1",
++ {"SVQ1", ""}},
++ {AV_CODEC_ID_SVQ3, TC_CODEC_SVQ3, "svq3",
++ {"SVQ3", ""}},
++ {AV_CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
++ {"MPG2", ""}},
++ {0, TC_CODEC_UNKNOWN, NULL, {""}}};
++#endif
+
+
+ static struct ffmpeg_codec *find_ffmpeg_codec_id(unsigned int transcode_id)
diff --git a/media-video/transcode/files/transcode-1.1.7-libav-10.patch b/media-video/transcode/files/transcode-1.1.7-libav-10.patch
new file mode 100644
index 000000000000..1f4a24039d79
--- /dev/null
+++ b/media-video/transcode/files/transcode-1.1.7-libav-10.patch
@@ -0,0 +1,36 @@
+fix building w/libav-10
+
+https://wiki.libav.org/Migration/10
+
+--- a/filter/filter_resample.c
++++ b/filter/filter_resample.c
+@@ -37,6 +37,7 @@
+ #include "libtc/optstr.h"
+ #include "libtc/tcavcodec.h"
+ #include "libtc/tcmodule-plugin.h"
++#include <libavresample/avresample.h>
+
+
+ typedef struct {
+@@ -45,7 +46,7 @@ typedef struct {
+
+ int bytes_per_sample;
+
+- ReSampleContext *resample_ctx;
++ AVAudioResampleContext *resample_ctx;
+ } ResamplePrivateData;
+
+ static const char resample_help[] = ""
+--- a/import/probe_ffmpeg.c
++++ b/import/probe_ffmpeg.c
+@@ -51,8 +51,8 @@ static void translate_info(const AVFormatContext *ctx, ProbeInfo *info)
+ info->bitrate = st->codec->bit_rate / 1000;
+ info->width = st->codec->width;
+ info->height = st->codec->height;
+- if (st->r_frame_rate.num > 0 && st->r_frame_rate.den > 0) {
+- info->fps = av_q2d(st->r_frame_rate);
++ if (st->avg_frame_rate.num > 0 && st->avg_frame_rate.den > 0) {
++ info->fps = av_q2d(st->avg_frame_rate);
+ } else {
+ /* watch out here */
+ info->fps = 1.0/av_q2d(st->codec->time_base);
diff --git a/media-video/transcode/transcode-1.1.7-r3.ebuild b/media-video/transcode/transcode-1.1.7-r3.ebuild
index 1dac5bba09b7..bdb2cd281a5a 100644
--- a/media-video/transcode/transcode-1.1.7-r3.ebuild
+++ b/media-video/transcode/transcode-1.1.7-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/transcode/transcode-1.1.7-r3.ebuild,v 1.12 2015/02/17 01:19:00 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/transcode/transcode-1.1.7-r3.ebuild,v 1.13 2015/02/17 03:26:28 vapier Exp $
EAPI=5
inherit eutils libtool multilib
@@ -62,6 +62,7 @@ src_prepare() {
"${FILESDIR}"/${P}-ffmpeg-0.11.patch \
"${FILESDIR}"/${P}-preset-free.patch \
"${FILESDIR}"/${P}-libav-9.patch \
+ "${FILESDIR}"/${P}-libav-10.patch \
"${FILESDIR}"/${P}-preset-force.patch \
"${FILESDIR}"/${P}-ffmpeg2.patch \
"${FILESDIR}"/${P}-freetype251.patch \