Package: lives Version: 2.4.0~ds0-1 Severity: important Tags: patch User: pkg-multimedia-maintainers@lists.alioth.debian.org Usertags: ffmpeg2.9
Dear Maintainer, your package fails to build with the upcoming ffmpeg 2.9. This bug will become release-critical at some point when the ffmpeg2.9 transition gets closer. Attached is a patch replacing the deprecated functionality. It also works with ffmpeg 2.8. Please apply this patch and forward it upstream, if necessary. These changes are non-trivial and should be runtime-tested. Best regards, Andreas
diff --git a/debian/patches/ffmpeg_2.9.patch b/debian/patches/ffmpeg_2.9.patch new file mode 100644 index 0000000..2f651c4 --- /dev/null +++ b/debian/patches/ffmpeg_2.9.patch @@ -0,0 +1,265 @@ +Description: Replace deprecated FFmpeg API +Author: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> +Last-Update: <2015-11-02> + +--- lives-2.4.0~ds0.orig/libweed/weed-compat.h ++++ lives-2.4.0~ds0/libweed/weed-compat.h +@@ -590,44 +590,44 @@ const AVCodecTag codec_bmp_tags[] = { + #include <weed/weed-palettes.h> + #endif + +-int avi_pix_fmt_to_weed_palette(enum PixelFormat pix_fmt, int *clamped) { ++int avi_pix_fmt_to_weed_palette(enum AVPixelFormat pix_fmt, int *clamped) { + // clamped may be set to NULL if you are not interested in the value + + switch (pix_fmt) { +- case PIX_FMT_RGB24: ++ case AV_PIX_FMT_RGB24: + return WEED_PALETTE_RGB24; +- case PIX_FMT_BGR24: ++ case AV_PIX_FMT_BGR24: + return WEED_PALETTE_BGR24; +- case PIX_FMT_RGBA: ++ case AV_PIX_FMT_RGBA: + return WEED_PALETTE_RGBA32; +- case PIX_FMT_BGRA: ++ case AV_PIX_FMT_BGRA: + return WEED_PALETTE_BGRA32; +- case PIX_FMT_ARGB: ++ case AV_PIX_FMT_ARGB: + return WEED_PALETTE_ARGB32; +- case PIX_FMT_YUV444P: ++ case AV_PIX_FMT_YUV444P: + return WEED_PALETTE_YUV444P; +- case PIX_FMT_YUV422P: ++ case AV_PIX_FMT_YUV422P: + return WEED_PALETTE_YUV422P; +- case PIX_FMT_YUV420P: ++ case AV_PIX_FMT_YUV420P: + return WEED_PALETTE_YUV420P; +- case PIX_FMT_YUYV422: ++ case AV_PIX_FMT_YUYV422: + return WEED_PALETTE_YUYV; +- case PIX_FMT_UYVY422: ++ case AV_PIX_FMT_UYVY422: + return WEED_PALETTE_UYVY; +- case PIX_FMT_UYYVYY411: ++ case AV_PIX_FMT_UYYVYY411: + return WEED_PALETTE_YUV411; +- case PIX_FMT_GRAY8: ++ case AV_PIX_FMT_GRAY8: + return WEED_PALETTE_A8; +- case PIX_FMT_MONOWHITE: +- case PIX_FMT_MONOBLACK: ++ case AV_PIX_FMT_MONOWHITE: ++ case AV_PIX_FMT_MONOBLACK: + return WEED_PALETTE_A1; +- case PIX_FMT_YUVJ422P: ++ case AV_PIX_FMT_YUVJ422P: + if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + return WEED_PALETTE_YUV422P; +- case PIX_FMT_YUVJ444P: ++ case AV_PIX_FMT_YUVJ444P: + if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + return WEED_PALETTE_YUV444P; +- case PIX_FMT_YUVJ420P: ++ case AV_PIX_FMT_YUVJ420P: + if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + return WEED_PALETTE_YUV420P; + +@@ -639,48 +639,48 @@ int avi_pix_fmt_to_weed_palette(enum Pix + + + +-enum PixelFormat weed_palette_to_avi_pix_fmt(int pal, int *clamped) { ++enum AVPixelFormat weed_palette_to_avi_pix_fmt(int pal, int *clamped) { + + switch (pal) { + case WEED_PALETTE_RGB24: +- return PIX_FMT_RGB24; ++ return AV_PIX_FMT_RGB24; + case WEED_PALETTE_BGR24: +- return PIX_FMT_BGR24; ++ return AV_PIX_FMT_BGR24; + case WEED_PALETTE_RGBA32: +- return PIX_FMT_RGBA; ++ return AV_PIX_FMT_RGBA; + case WEED_PALETTE_BGRA32: +- return PIX_FMT_BGRA; ++ return AV_PIX_FMT_BGRA; + case WEED_PALETTE_ARGB32: +- return PIX_FMT_ARGB; ++ return AV_PIX_FMT_ARGB; + case WEED_PALETTE_YUV444P: + if (clamped && *clamped==WEED_YUV_CLAMPING_UNCLAMPED) +- return PIX_FMT_YUVJ444P; +- return PIX_FMT_YUV444P; ++ return AV_PIX_FMT_YUVJ444P; ++ return AV_PIX_FMT_YUV444P; + case WEED_PALETTE_YUV422P: + if (clamped && *clamped==WEED_YUV_CLAMPING_UNCLAMPED) +- return PIX_FMT_YUVJ422P; +- return PIX_FMT_YUV422P; ++ return AV_PIX_FMT_YUVJ422P; ++ return AV_PIX_FMT_YUV422P; + case WEED_PALETTE_YUV420P: + if (clamped && *clamped==WEED_YUV_CLAMPING_UNCLAMPED) +- return PIX_FMT_YUVJ420P; +- return PIX_FMT_YUV420P; ++ return AV_PIX_FMT_YUVJ420P; ++ return AV_PIX_FMT_YUV420P; + case WEED_PALETTE_YUYV: +- return PIX_FMT_YUYV422; ++ return AV_PIX_FMT_YUYV422; + case WEED_PALETTE_UYVY: +- return PIX_FMT_UYVY422; ++ return AV_PIX_FMT_UYVY422; + case WEED_PALETTE_YUV411: +- return PIX_FMT_UYYVYY411; ++ return AV_PIX_FMT_UYYVYY411; + + case WEED_PALETTE_A8: +- return PIX_FMT_GRAY8; ++ return AV_PIX_FMT_GRAY8; + case WEED_PALETTE_A1: +- return PIX_FMT_MONOBLACK; ++ return AV_PIX_FMT_MONOBLACK; + + default: +- return PIX_FMT_NONE; ++ return AV_PIX_FMT_NONE; + } + +- return PIX_FMT_NONE; ++ return AV_PIX_FMT_NONE; + + } + +--- lives-2.4.0~ds0.orig/lives-plugins/plugins/decoders/avformat_decoder.c ++++ lives-2.4.0~ds0/lives-plugins/plugins/decoders/avformat_decoder.c +@@ -70,45 +70,45 @@ static int stream_peek(int fd, unsigned + + + +-static int pix_fmt_to_palette(enum PixelFormat pix_fmt, int *clamped) { ++static int pix_fmt_to_palette(enum AVPixelFormat pix_fmt, int *clamped) { + if (clamped) *clamped=WEED_YUV_CLAMPING_CLAMPED; + + switch (pix_fmt) { +- case PIX_FMT_RGB24: ++ case AV_PIX_FMT_RGB24: + return WEED_PALETTE_RGB24; +- case PIX_FMT_BGR24: ++ case AV_PIX_FMT_BGR24: + return WEED_PALETTE_BGR24; +- case PIX_FMT_RGBA: ++ case AV_PIX_FMT_RGBA: + return WEED_PALETTE_RGBA32; +- case PIX_FMT_BGRA: ++ case AV_PIX_FMT_BGRA: + return WEED_PALETTE_BGRA32; +- case PIX_FMT_ARGB: ++ case AV_PIX_FMT_ARGB: + return WEED_PALETTE_ARGB32; +- case PIX_FMT_YUV444P: ++ case AV_PIX_FMT_YUV444P: + return WEED_PALETTE_YUV444P; +- case PIX_FMT_YUV422P: ++ case AV_PIX_FMT_YUV422P: + return WEED_PALETTE_YUV422P; +- case PIX_FMT_YUV420P: ++ case AV_PIX_FMT_YUV420P: + return WEED_PALETTE_YUV420P; +- case PIX_FMT_YUYV422: ++ case AV_PIX_FMT_YUYV422: + return WEED_PALETTE_YUYV; +- case PIX_FMT_UYVY422: ++ case AV_PIX_FMT_UYVY422: + return WEED_PALETTE_UYVY; +- case PIX_FMT_UYYVYY411: ++ case AV_PIX_FMT_UYYVYY411: + return WEED_PALETTE_YUV411; +- case PIX_FMT_GRAY8: +- case PIX_FMT_Y400A: ++ case AV_PIX_FMT_GRAY8: ++ case AV_PIX_FMT_Y400A: + return WEED_PALETTE_A8; +- case PIX_FMT_MONOWHITE: +- case PIX_FMT_MONOBLACK: ++ case AV_PIX_FMT_MONOWHITE: ++ case AV_PIX_FMT_MONOBLACK: + return WEED_PALETTE_A1; +- case PIX_FMT_YUVJ422P: ++ case AV_PIX_FMT_YUVJ422P: + if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + return WEED_PALETTE_YUV422P; +- case PIX_FMT_YUVJ444P: ++ case AV_PIX_FMT_YUVJ444P: + if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + return WEED_PALETTE_YUV444P; +- case PIX_FMT_YUVJ420P: ++ case AV_PIX_FMT_YUVJ420P: + if (clamped) *clamped=WEED_YUV_CLAMPING_UNCLAMPED; + return WEED_PALETTE_YUV420P; + +--- lives-2.4.0~ds0.orig/lives-plugins/plugins/decoders/mkv_decoder.c ++++ lives-2.4.0~ds0/lives-plugins/plugins/decoders/mkv_decoder.c +@@ -901,7 +901,7 @@ static int matroska_merge_packets(AVPack + out->data = newdata; + memcpy(out->data+out->size, in->data, in->size); + out->size += in->size; +- av_destruct_packet(in); ++ av_free_packet(in); + av_free(in); + return 0; + } +--- lives-2.4.0~ds0.orig/lives-plugins/plugins/decoders/mpegts_decoder.c ++++ lives-2.4.0~ds0/lives-plugins/plugins/decoders/mpegts_decoder.c +@@ -1023,7 +1023,6 @@ static int mpegts_set_stream_info(lives_ + static void new_pes_packet(PESContext *pes, AVPacket *pkt) { + av_init_packet(pkt); + +- pkt->destruct = av_destruct_packet; + pkt->data = pes->buffer; + pkt->size = pes->data_index; + +--- lives-2.4.0~ds0.orig/src/colourspace.c ++++ lives-2.4.0~ds0/src/colourspace.c +@@ -79,8 +79,8 @@ struct _swscale_ctx { + int iheight; + int width; + int height; +- enum PixelFormat ipixfmt; +- enum PixelFormat opixfmt; ++ enum AVPixelFormat ipixfmt; ++ enum AVPixelFormat opixfmt; + int flags; + struct SwsContext *ctx; + }; +@@ -10179,7 +10179,7 @@ void compact_rowstrides(weed_plant_t *la + + static struct SwsContext *swscale_find_context(int iwidth, int iheight, + int width, int height, +- enum PixelFormat ipixfmt, enum PixelFormat opixfmt, int flags) { ++ enum AVPixelFormat ipixfmt, enum AVPixelFormat opixfmt, int flags) { + register int i; + struct _swscale_ctx tmpctx; + +@@ -10217,7 +10217,7 @@ static struct SwsContext *swscale_find_c + } + + +-static void swscale_add_context(int iwidth, int iheight, int width, int height, enum PixelFormat ipixfmt, enum PixelFormat opixfmt, ++static void swscale_add_context(int iwidth, int iheight, int width, int height, enum AVPixelFormat ipixfmt, enum AVPixelFormat opixfmt, + int flags, struct SwsContext *ctx) { + // add at head of list + register int i; +@@ -10364,7 +10364,7 @@ boolean resize_layer(weed_plant_t *layer + weed_palette_is_resizable(opal_hint, oclamp_hint, FALSE)) { + struct SwsContext *swscale; + +- enum PixelFormat ipixfmt,opixfmt; ++ enum AVPixelFormat ipixfmt,opixfmt; + + void **pd_array; + void **in_pixel_data,**out_pixel_data; diff --git a/debian/patches/series b/debian/patches/series index 2801844..300e98b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,3 +5,4 @@ 05-gcc-5.patch parallel-build.patch 9990-buildsystem.patch +ffmpeg_2.9.patch
_______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers