summaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2016-05-07 17:21:25 +0000
committerJan Beich <jbeich@FreeBSD.org>2016-05-07 17:21:25 +0000
commit5b150cfc0b43fbf15d7988d7b2e32b588b87fb5e (patch)
tree9845db68066f3bc657f0438cc9fa1ecf1280fb0a /textproc
parent- fix missing dependency [1] (diff)
textproc/libextractor: unbreak build with ffmpeg 3.0
thumbnailffmpeg_extractor.c:156:22: error: variable has incomplete type 'enum PixelFormat' enum PixelFormat src_pixfmt, ^ thumbnailffmpeg_extractor.c:212:40: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'? av_malloc (avpicture_get_size (PIX_FMT_RGB24, dst_width, dst_height)))) ^~~~~~~~~~~~~ thumbnailffmpeg_extractor.c:223:19: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'? PIX_FMT_RGB24, dst_width, dst_height); ^~~~~~~~~~~~~ thumbnailffmpeg_extractor.c:258:32: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'? encoder_codec_ctx->pix_fmt = PIX_FMT_RGB24; ^~~~~~~~~~~~~ thumbnailffmpeg_extractor.c:455:44: error: argument type 'enum PixelFormat' is incomplete frame->linesize, codec_ctx->pix_fmt, ^~~~~~~~~~~~~~~~~~ thumbnailffmpeg_extractor.c:630:44: error: argument type 'enum PixelFormat' is incomplete frame->linesize, codec_ctx->pix_fmt, ^~~~~~~~~~~~~~~~~~ PR: 209121 Reported by: antoine (via exp-run) Submitted by: Ben Woods <woodsb02@gmail.com> Obtained from: Debian
Notes
Notes: svn path=/head/; revision=414776
Diffstat (limited to 'textproc')
-rw-r--r--textproc/libextractor/Makefile2
-rw-r--r--textproc/libextractor/files/patch-ffmpeg29350
2 files changed, 351 insertions, 1 deletions
diff --git a/textproc/libextractor/Makefile b/textproc/libextractor/Makefile
index 7a6ec8181470..73d0f4d6bb76 100644
--- a/textproc/libextractor/Makefile
+++ b/textproc/libextractor/Makefile
@@ -3,7 +3,7 @@
PORTNAME= libextractor
PORTVERSION= 1.3
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= textproc
MASTER_SITES= GNU
diff --git a/textproc/libextractor/files/patch-ffmpeg29 b/textproc/libextractor/files/patch-ffmpeg29
new file mode 100644
index 000000000000..ccdccea70483
--- /dev/null
+++ b/textproc/libextractor/files/patch-ffmpeg29
@@ -0,0 +1,350 @@
+Description: update to new API in FFmpeg 2.9, fix FTBS
+Origin: upstream
+Applied-Upstream: commit: r35548:r35549 and r36975
+--- src/plugins/thumbnailffmpeg_extractor.c.orig
++++ src/plugins/thumbnailffmpeg_extractor.c
+@@ -59,6 +59,20 @@
+ #include <ffmpeg/swscale.h>
+ #endif
+
++#if USE_JPEG
++#ifdef PIX_FMT_YUVJ420P
++#define PIX_OUTPUT_FORMAT PIX_FMT_YUVJ420P
++#else
++#define PIX_OUTPUT_FORMAT AV_PIX_FMT_YUVJ420P
++#endif
++#else
++#ifdef PIX_FMT_RGB24
++#define PIX_OUTPUT_FORMAT PIX_FMT_RGB24
++#else
++#define PIX_OUTPUT_FORMAT AV_PIX_FMT_RGB24
++#endif
++#endif
++
+ /**
+ * Set to 1 to enable debug output.
+ */
+@@ -153,7 +167,7 @@
+ static size_t
+ create_thumbnail (int src_width, int src_height,
+ int src_stride[],
+- enum PixelFormat src_pixfmt,
++ enum AVPixelFormat src_pixfmt,
+ const uint8_t * const src_data[],
+ int dst_width, int dst_height,
+ uint8_t **output_data,
+@@ -189,7 +203,8 @@
+ if (NULL ==
+ (scaler_ctx =
+ sws_getContext (src_width, src_height, src_pixfmt,
+- dst_width, dst_height, PIX_FMT_RGB24,
++ dst_width, dst_height,
++ PIX_OUTPUT_FORMAT,
+ SWS_BILINEAR, NULL, NULL, NULL)))
+ {
+ #if DEBUG
+@@ -199,7 +214,12 @@
+ return 0;
+ }
+
+- if (NULL == (dst_frame = avcodec_alloc_frame ()))
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ dst_frame = av_frame_alloc ();
++#else
++ dst_frame = avcodec_alloc_frame();
++#endif
++ if (NULL == dst_frame)
+ {
+ #if DEBUG
+ fprintf (stderr,
+@@ -209,18 +229,24 @@
+ return 0;
+ }
+ if (NULL == (dst_buffer =
+- av_malloc (avpicture_get_size (PIX_FMT_RGB24, dst_width, dst_height))))
++ av_malloc (avpicture_get_size (PIX_OUTPUT_FORMAT,
++ dst_width, dst_height))))
+ {
+ #if DEBUG
+ fprintf (stderr,
+ "Failed to allocate the destination image buffer\n");
+ #endif
+- av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&dst_frame);
++#else
++ avcodec_free_frame (&dst_frame);
++#endif
+ sws_freeContext (scaler_ctx);
+ return 0;
+ }
+ avpicture_fill ((AVPicture *) dst_frame, dst_buffer,
+- PIX_FMT_RGB24, dst_width, dst_height);
++ PIX_OUTPUT_FORMAT,
++ dst_width, dst_height);
+ sws_scale (scaler_ctx,
+ src_data,
+ src_stride,
+@@ -236,7 +262,11 @@
+ "Failed to allocate the encoder output buffer\n");
+ #endif
+ av_free (dst_buffer);
+- av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&dst_frame);
++#else
++ avcodec_free_frame (&dst_frame);
++#endif
+ sws_freeContext (scaler_ctx);
+ return 0;
+ }
+@@ -249,13 +279,17 @@
+ #endif
+ av_free (encoder_output_buffer);
+ av_free (dst_buffer);
+- av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&dst_frame);
++#else
++ avcodec_free_frame (&dst_frame);
++#endif
+ sws_freeContext (scaler_ctx);
+ return 0;
+ }
+ encoder_codec_ctx->width = dst_width;
+ encoder_codec_ctx->height = dst_height;
+- encoder_codec_ctx->pix_fmt = PIX_FMT_RGB24;
++ encoder_codec_ctx->pix_fmt = PIX_OUTPUT_FORMAT;
+ opts = NULL;
+ if (avcodec_open2 (encoder_codec_ctx, encoder_codec, &opts) < 0)
+ {
+@@ -263,10 +297,14 @@
+ fprintf (stderr,
+ "Failed to open the encoder\n");
+ #endif
+- av_free (encoder_codec_ctx);
++ avcodec_free_context (&encoder_codec_ctx);
+ av_free (encoder_output_buffer);
+ av_free (dst_buffer);
+- av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&dst_frame);
++#else
++ avcodec_free_frame (&dst_frame);
++#endif
+ sws_freeContext (scaler_ctx);
+ return 0;
+ }
+@@ -295,9 +333,13 @@
+ cleanup:
+ av_dict_free (&opts);
+ avcodec_close (encoder_codec_ctx);
+- av_free (encoder_codec_ctx);
++ avcodec_free_context (&encoder_codec_ctx);
+ av_free (dst_buffer);
+- av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&dst_frame);
++#else
++ avcodec_free_frame (&dst_frame);
++#endif
+ sws_freeContext (scaler_ctx);
+ *output_data = encoder_output_buffer;
+
+@@ -406,18 +448,23 @@
+ fprintf (stderr,
+ "Failed to open image codec\n");
+ #endif
+- av_free (codec_ctx);
++ avcodec_free_context (&codec_ctx);
+ return;
+ }
+ av_dict_free (&opts);
+- if (NULL == (frame = avcodec_alloc_frame ()))
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ frame = av_frame_alloc ();
++#else
++ frame = avcodec_alloc_frame();
++#endif
++ if (NULL == frame)
+ {
+ #if DEBUG
+ fprintf (stderr,
+ "Failed to allocate frame\n");
+ #endif
+ avcodec_close (codec_ctx);
+- av_free (codec_ctx);
++ avcodec_free_context (&codec_ctx);
+ return;
+ }
+
+@@ -441,9 +488,13 @@
+ fprintf (stderr,
+ "Failed to decode a complete frame\n");
+ #endif
+- av_free (frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&frame);
++#else
++ avcodec_free_frame (&frame);
++#endif
+ avcodec_close (codec_ctx);
+- av_free (codec_ctx);
++ avcodec_free_context (&codec_ctx);
+ return;
+ }
+ calculate_thumbnail_dimensions (codec_ctx->width, codec_ctx->height,
+@@ -467,9 +518,13 @@
+ err);
+ av_free (encoded_thumbnail);
+ }
+- av_free (frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&frame);
++#else
++ avcodec_free_frame (&frame);
++#endif
+ avcodec_close (codec_ctx);
+- av_free (codec_ctx);
++ avcodec_free_context (&codec_ctx);
+ }
+
+
+@@ -563,7 +618,12 @@
+ return;
+ }
+
+- if (NULL == (frame = avcodec_alloc_frame ()))
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ frame = av_frame_alloc ();
++#else
++ frame = avcodec_alloc_frame();
++#endif
++ if (NULL == frame)
+ {
+ #if DEBUG
+ fprintf (stderr,
+@@ -616,7 +676,11 @@
+ fprintf (stderr,
+ "Failed to decode a complete frame\n");
+ #endif
+- av_free (frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&frame);
++#else
++ avcodec_free_frame (&frame);
++#endif
+ avcodec_close (codec_ctx);
+ avformat_close_input (&format_ctx);
+ av_free (io_ctx);
+@@ -643,7 +707,11 @@
+ err);
+ av_free (encoded_thumbnail);
+ }
+- av_free (frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&frame);
++#else
++ avcodec_free_frame (&frame);
++#endif
+ avcodec_close (codec_ctx);
+ avformat_close_input (&format_ctx);
+ av_free (io_ctx);
+--- src/plugins/previewopus_extractor.c.orig
++++ src/plugins/previewopus_extractor.c
+@@ -296,7 +296,12 @@
+ /** Initialize one audio frame for reading from the input file */
+ static int init_input_frame(AVFrame **frame)
+ {
+- if (!(*frame = avcodec_alloc_frame())) {
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ *frame = av_frame_alloc ();
++#else
++ *frame = avcodec_alloc_frame();
++#endif
++ if (NULL == *frame) {
+ #if DEBUG
+ fprintf(stderr, "Could not allocate input frame\n");
+ #endif
+@@ -655,7 +660,11 @@
+ av_freep(&converted_input_samples[0]);
+ free(converted_input_samples);
+ }
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&input_frame);
++#else
+ avcodec_free_frame(&input_frame);
++#endif
+
+ return ret;
+ }
+@@ -671,7 +680,12 @@
+ int error;
+
+ /** Create a new frame to store the audio samples. */
+- if (!(*frame = avcodec_alloc_frame())) {
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ *frame = av_frame_alloc ();
++#else
++ *frame = avcodec_alloc_frame();
++#endif
++ if (NULL == *frame) {
+ #if DEBUG
+ fprintf(stderr, "Could not allocate output frame\n");
+ #endif
+@@ -702,7 +716,11 @@
+ #if DEBUG
+ fprintf(stderr, "Could allocate output frame samples (error '%s')\n", get_error_text(error));
+ #endif
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (frame);
++#else
+ avcodec_free_frame(frame);
++#endif
+ return error;
+ }
+
+@@ -783,17 +801,29 @@
+ #if DEBUG
+ fprintf(stderr, "Could not read data from FIFO\n");
+ #endif
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&output_frame);
++#else
+ avcodec_free_frame(&output_frame);
++#endif
+ return AVERROR_EXIT;
+ }
+
+ /** Encode one frame worth of audio samples. */
+ if (encode_audio_frame(output_frame, output_format_context,
+ output_codec_context, &data_written)) {
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&output_frame);
++#else
+ avcodec_free_frame(&output_frame);
++#endif
+ return AVERROR_EXIT;
+ }
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ av_frame_free (&output_frame);
++#else
+ avcodec_free_frame(&output_frame);
++#endif
+ return 0;
+ }
+ /** Write the trailer of the output file container. */
+@@ -907,7 +937,12 @@
+ return;
+ }
+
+- if (NULL == (frame = avcodec_alloc_frame ()))
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++ frame = av_frame_alloc ();
++#else
++ frame = avcodec_alloc_frame();
++#endif
++ if (NULL == frame)
+ {
+ #if DEBUG
+ fprintf (stderr,