parent
f3cb8d11eb
commit
3b726f80d5
2 changed files with 4 additions and 353 deletions
|
@ -1,347 +0,0 @@
|
|||
--- src/plugins/thumbnailffmpeg_extractor.c
|
||||
+++ 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
|
||||
+++ 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,
|
|
@ -1,13 +1,13 @@
|
|||
# Template file for 'libextractor'
|
||||
pkgname=libextractor
|
||||
version=1.3
|
||||
revision=5
|
||||
version=1.4
|
||||
revision=1
|
||||
short_desc="Library used to extract meta data from files"
|
||||
maintainer="Martin Riese <grauehaare@gmx.de>"
|
||||
license="GPL-3"
|
||||
homepage="http://www.gnu.org/software/libextractor/"
|
||||
distfiles="${GNU_SITE}/$pkgname/$pkgname-$version.tar.gz"
|
||||
checksum=868ad64c9a056d6b923d451d746935bffb1ddf5d89c3eb4f67d786001a3f7b7f
|
||||
checksum=84128170a4a9aa3a19942dd53fdf30ed17b56d7fae79b5f6e7e17a0d65d1f66c
|
||||
build_style=gnu-configure
|
||||
configure_args="--disable-static"
|
||||
hostmakedepends="automake gettext-devel libtool pkg-config"
|
||||
|
@ -15,12 +15,10 @@ makedepends="
|
|||
zlib-devel bzip2-devel exiv2-devel tiff-devel libpng-devel libjpeg-turbo-devel
|
||||
libvorbis-devel libflac-devel giflib-devel libmpeg2-devel ffmpeg-devel
|
||||
libgsf-devel gtk+3-devel libltdl-devel libarchive-devel file-devel"
|
||||
conflicts="csound>=0"
|
||||
|
||||
pre_configure() {
|
||||
autoreconf -fi
|
||||
# make it build with giflib-5.1.0
|
||||
# see http://wiki.linuxfromscratch.org/blfs/ticket/5076#comment:2
|
||||
sed -i "/[DE]GifCloseFile/s:gif_file:&, NULL:g" src/plugins/gif_extractor.c
|
||||
}
|
||||
|
||||
libextractor-devel_package() {
|
||||
|
|
Loading…
Reference in a new issue