|
|
- --- a/src/plugins/thumbnailffmpeg_extractor.c
- +++ b/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);
- --- a/src/plugins/previewopus_extractor.c
- +++ b/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,
|