#!/bin/sh # Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST # Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015 Eric Hameleers, Eindhoven, Netherlands # Copyright 2015-2017 Thorn Inurcide # Copyright 2015-2017 tde-slackbuilds project on GitHub # All rights reserved. # # Permission to use, copy, modify, and distribute this software for # any purpose with or without fee is hereby granted, provided that # the above copyright notice and this permission notice appear in all # copies. # # THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. PRGNAM=k9copy VERSION=$TDEVERSION BUILD=${BUILD:-1} TAG=${TAG:-_tde} source ../../get-source.sh getsource_fn untar_fn ## clang build - C++11 requires a space between literal and identifier sed -i 's|%%"REG_b|%%" REG_b|;s|%%"REG_S|%%" REG_S|' k9vamps/cputest.cpp [[ $TDEVERSION == 14.0.12 ]] && { ## all versons ffmpeg support, ported from upstream commits patch -p0 << EOF --- config.h.in +++ config.h.in @@ -29,0 +30,3 @@ +/* define if the compiler supports basic C++11 syntax */ +#undef HAVE_CXX11 + @@ -51,3 +53,0 @@ -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - @@ -74,0 +75,3 @@ +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + @@ -96,3 +98,0 @@ -/* swscale support */ -#undef HAVE_SWSCALE - @@ -120,2 +120 @@ -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ @@ -124,6 +122,0 @@ -/* no */ -#undef NEEDS_AV_FREE_PACKET - -/* new ffmpeg */ -#undef NEW_FFMPEG - @@ -133,6 +125,0 @@ -/* No swscale support */ -#undef NO_SWSCALE - -/* old ffmpeg */ -#undef OLD_FFMPEG - @@ -178 +165,3 @@ -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ @@ -298,4 +286,0 @@ - -/* type to use in place of socklen_t if not defined (deprecated, use - kde_socklen_t) */ -#undef ksize_t --- configure.in.in +++ configure.in.in @@ -46,0 +47,2 @@ +PKG_CHECK_MODULES(FFMPEG, libavcodec libavformat libavutil libswscale, , \\ + [AC_MSG_ERROR([ffmpeg installation is missing or incomplete])]) @@ -48,32 +49,0 @@ -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -cxx_flags_safe="\$CXXFLAGS" -CXXFLAGS="\$CXXFLAGS -D__STDC_CONSTANT_MACROS -I\$qt_includes" -AC_CHECK_HEADER([ffmpeg/avcodec.h], \\ -[AC_DEFINE(OLD_FFMPEG,1, [old ffmpeg])], \\ - [AC_CHECK_HEADER([libavcodec/avcodec.h], \\ - [AC_DEFINE(NEW_FFMPEG,1, [new ffmpeg])], \\ - [AC_MSG_ERROR([libavcodec may be missing]) ])]) -CXXFLAGS="\$cxx_flags_safe" -AC_LANG_RESTORE - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -cxx_flags_safe="\$CXXFLAGS" -cflags_safe="\$CFLAGS" -CXXFLAGS="\$CXXFLAGS -D__STDC_CONSTANT_MACROS -I\$qt_includes" -CFLAGS="\$CFLAGS -D__STDC_CONSTANT_MACROS" -AC_MSG_CHECKING([if libavformat/avformat.h provides av_free_packet]) -AC_TRY_LINK([#include -],[AVPacket *packet; av_free_packet(packet);], -AC_MSG_RESULT(yes), -[AC_MSG_RESULT(no) -AC_DEFINE(NEEDS_AV_FREE_PACKET,1,[no])]) -CXXFLAGS="\$cxx_flags_safe" -CFLAGS="\$cflags_safe" -AC_LANG_RESTORE - -have_swscale=no -AC_CHECK_HEADER([libswscale/swscale.h], \\ -[AC_DEFINE(HAVE_SWSCALE, 1, [swscale support]) have_swscale=yes], \\ -[AC_DEFINE(NO_SWSCALE, 1, [No swscale support])]) --- k9author/Makefile.am +++ k9author/Makefile.am @@ -1 +1 @@ -AM_CPPFLAGS= -I\$(srcdir) -I\$(includedir) \$(all_includes) +AM_CPPFLAGS= -I\$(srcdir) -I\$(includedir) \$(all_includes) \$(FFMPEG_CFLAGS) @@ -8 +8 @@ -libk9author_la_LDFLAGS = \$(all_libraries) +libk9author_la_LDFLAGS = \$(all_libraries) \$(FFMPEG_LIBS) --- k9author/k9avidecode.cpp +++ k9author/k9avidecode.cpp @@ -15,9 +14,0 @@ -#ifdef OLD_FFMPEG -#include -#endif -#ifdef NEW_FFMPEG -#include -#include -#include -#endif - @@ -30 +21 @@ -#if !defined(NEW_FFMPEG) || LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51,42,0) +#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51,42,0) @@ -40,17 +30,0 @@ -void *CodecHandle=0; -void *FormatHandle=0; -void *UtilHandle=0; -void *SwscaleHandle=0; -int glibref=0; - -#ifdef NEW_FFMPEG -void av_free_packet_internal(AVPacket *pkt) -{ - if (pkt) { -# if LIBAVCODEC_VERSION_INT < (AV_VERSION_INT(56,0,0)) - if (pkt->destruct) pkt->destruct(pkt); -# endif - pkt->data = NULL; pkt->size = 0; - } -} -#endif @@ -58,2 +31,0 @@ -#ifdef HAVE_SWSCALE -#include "libswscale/swscale.h" @@ -61 +32,0 @@ -#endif @@ -65,89 +36,2 @@ - if (glibref==0) { - CodecHandle=dlopen("libavcodec.so",RTLD_LAZY | RTLD_GLOBAL); - FormatHandle=dlopen("libavformat.so",RTLD_LAZY | RTLD_GLOBAL); - UtilHandle=dlopen("libavutil.so",RTLD_LAZY | RTLD_GLOBAL); -# ifdef HAVE_SWSCALE - SwscaleHandle=dlopen("libswscale.so",RTLD_LAZY); - if (SwscaleHandle==0) - SwscaleHandle=dlopen("libswscale.so.2",RTLD_LAZY); -# endif - } - if (!CodecHandle) { - m_error =i18n("Cannot open then library %1").arg("libavcodec"); - return; - } - if (!FormatHandle) { - m_error =i18n("Cannot open then library %1").arg("libavformat"); - return; - } -# if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51, 33, 0) - if (!UtilHandle) { - m_error =i18n("Cannot open then library %1").arg("libavutil"); - return; - } -# endif -# ifdef HAVE_SWSCALE - if (!SwscaleHandle) { - m_error =i18n("Cannot open the library %1").arg("libswscale"); - } -# endif - m_error=""; - av_register_all = (av_register_all_t)dlsym(FormatHandle,"av_register_all"); -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 2, 0) - avformat_open_input = (avformat_open_input_t)dlsym(FormatHandle,"avformat_open_input"); -# else - av_open_input_file = (av_open_input_file_t)dlsym(FormatHandle,"av_open_input_file"); -# endif -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 6, 0) - avformat_find_stream_info = (avformat_find_stream_info_t)dlsym(FormatHandle,"avformat_find_stream_info"); -# else - av_find_stream_info = (av_find_stream_info_t)dlsym(FormatHandle,"av_find_stream_info"); -# endif - avcodec_find_decoder =(avcodec_find_decoder_t) dlsym(CodecHandle,"avcodec_find_decoder"); -# if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 8, 0) - avcodec_open2 = (avcodec_open2_t)dlsym(CodecHandle,"avcodec_open2"); -# else - avcodec_open = (avcodec_open_t)dlsym(CodecHandle,"avcodec_open"); -# endif - avcodec_alloc_frame = (avcodec_alloc_frame_t)dlsym(CodecHandle,"avcodec_alloc_frame"); - avpicture_get_size = (avpicture_get_size_t)dlsym(CodecHandle,"avpicture_get_size"); - av_malloc = (av_malloc_t)dlsym(CodecHandle,"av_malloc"); - avpicture_fill = (avpicture_fill_t)dlsym(CodecHandle,"avpicture_fill"); - av_read_frame = (av_read_frame_t)dlsym(FormatHandle,"av_read_frame"); -# if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 23, 0) - avcodec_decode_video2 = (avcodec_decode_video2_t)dlsym(CodecHandle,"avcodec_decode_video2"); -# else - avcodec_decode_video = (avcodec_decode_video_t)dlsym(CodecHandle,"avcodec_decode_video"); -# endif -# ifndef HAVE_SWSCALE - img_convert = (img_convert_t)dlsym(CodecHandle,"img_convert"); - //if img_convert is null (deprecated in ffmpeg), we need libswscale - if (!img_convert) { - m_error = i18n("Cannot open the library %1").arg("libswscale"); - return; - } -# endif - av_free = (av_free_t)dlsym(CodecHandle,"av_free"); - av_free_packet = (av_free_packet_t)dlsym(CodecHandle,"av_free_packet"); - if (av_free_packet==0) - av_free_packet=av_free_packet_internal; - avcodec_close = (avcodec_close_t)dlsym(FormatHandle,"avcodec_close"); -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0) - avformat_close_input = (avformat_close_input_t)dlsym(FormatHandle,"avformat_close_input"); -# else - av_close_input_file = (av_close_input_file_t)dlsym(FormatHandle,"av_close_input_file"); -# endif - av_seek_frame=(av_seek_frame_t)dlsym(FormatHandle,"av_seek_frame"); - av_rescale_q=(av_rescale_q_t)dlsym(FormatHandle,"av_rescale_q"); - avcodec_flush_buffers=(avcodec_flush_buffers_t)dlsym(CodecHandle,"avcodec_flush_buffers"); -# ifdef HAVE_SWSCALE - sws_freeContext= (sws_freeContext_t)dlsym(SwscaleHandle,"sws_freeContext"); - sws_getContext=(sws_getContext_t)dlsym(SwscaleHandle,"sws_getContext"); - sws_scale= (sws_scale_t)dlsym(SwscaleHandle,"sws_scale"); -# endif - -# if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51, 33, 0) - av_gettime=(av_gettime_t)dlsym(UtilHandle,"av_gettime"); -# else - av_gettime=(av_gettime_t)dlsym(FormatHandle,"av_gettime"); -# endif + +#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(58,9,100) @@ -154,0 +39 @@ +#endif @@ -157,2 +41,0 @@ - glibref++; - @@ -171,14 +53,0 @@ - glibref--; - if (glibref==0) { - dlclose(FormatHandle); - dlclose(CodecHandle); - if(UtilHandle) { - dlclose(UtilHandle); - } -# ifdef HAVE_SWSCALE - if (SwscaleHandle) { - dlclose(CodecHandle); - } -# endif - } - @@ -197,7 +66,6 @@ - if ( -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 2, 0) - avformat_open_input(&m_FormatCtx, _fileName.utf8(), NULL, NULL)!=0 -# else - av_open_input_file(&m_FormatCtx, _fileName.utf8(), NULL, 0, NULL)!=0 -# endif - ) { +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 2, 0) + if (avformat_open_input(&m_FormatCtx, _fileName.utf8(), NULL, NULL)!=0) +#else + if (av_open_input_file(&m_FormatCtx, _fileName.utf8(), NULL, 0, NULL)!=0) +#endif + { @@ -208,7 +76,6 @@ - if ( -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 6, 0) - avformat_find_stream_info(m_FormatCtx, NULL)<0 -# else - av_find_stream_info(m_FormatCtx)<0 -# endif - ) { +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 6, 0) + if (avformat_find_stream_info(m_FormatCtx, NULL)<0) +#else + if (av_find_stream_info(m_FormatCtx)<0) +#endif + { @@ -218 +85 @@ - int i; + unsigned int i; @@ -223 +90,6 @@ - if (m_FormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO) { +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100) + if (m_FormatCtx->streams[i]->codecpar->codec_type==AVMEDIA_TYPE_VIDEO) +#else + if (m_FormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO) +#endif + { @@ -232,4 +103,0 @@ - // Get a pointer to the codec context for the video stream - m_CodecCtx=m_FormatCtx->streams[m_videoStream]->codec; - - @@ -237 +105,5 @@ - m_Codec=avcodec_find_decoder(m_CodecCtx->codec_id); +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100) + m_Codec=(AVCodec *)avcodec_find_decoder(m_FormatCtx->streams[m_videoStream]->codecpar->codec_id); +#else + m_Codec=(AVCodec *)avcodec_find_decoder(m_FormatCtx->streams[m_videoStream]->codec->codec_id); +#endif @@ -241,0 +114,15 @@ + +// Get/allocate a pointer to the codec context for the video stream +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100) + m_CodecCtx = avcodec_alloc_context3(m_Codec); + if (m_CodecCtx) { + avcodec_parameters_to_context(m_CodecCtx, m_FormatCtx->streams[m_videoStream]->codecpar); + } + else { + m_error=i18n("Failed to allocate a codec context"); + return false; + } +#else + m_CodecCtx=m_FormatCtx->streams[m_videoStream]->codec; +#endif + @@ -243,7 +130,6 @@ - if ( -# if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 8, 0) - avcodec_open2(m_CodecCtx, m_Codec, NULL)<0 -# else - avcodec_open(m_CodecCtx, m_Codec)<0 -# endif - ) { +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 8, 0) + if (avcodec_open2(m_CodecCtx, m_Codec, NULL)<0) +#else + if (avcodec_open(m_CodecCtx, m_Codec)<0) +#endif + { @@ -255,0 +142,3 @@ +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101) + m_Frame=av_frame_alloc(); +#else @@ -256,0 +146 @@ +#endif @@ -258,0 +149,3 @@ +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 45, 101) + m_FrameRGB=av_frame_alloc(); +#else @@ -259,0 +153 @@ +#endif @@ -267,0 +162,4 @@ +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 24, 100) + numBytes=av_image_get_buffer_size(AV_PIX_FMT_RGB24, m_CodecCtx->width, + m_CodecCtx->height, 1); +#else @@ -269,0 +168 @@ +#endif @@ -274,0 +174,4 @@ +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 24, 100) + av_image_fill_arrays(m_FrameRGB->data, m_FrameRGB->linesize, m_buffer, + AV_PIX_FMT_RGB24, m_CodecCtx->width, m_CodecCtx->height, 1); +#else @@ -276,0 +180 @@ +#endif @@ -299 +203,9 @@ - AVPacket packet; + AVPacket *packet; + +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 12, 100) + packet = av_packet_alloc(); +#else + AVPacket _packet; + av_init_packet(&_packet); + packet = &_packet; +#endif @@ -301 +212,0 @@ -# ifdef HAVE_SWSCALE @@ -303 +213,0 @@ -# endif @@ -305 +215 @@ - while (av_read_frame(m_FormatCtx, &packet)>=0 && !bFound) { + while (av_read_frame(m_FormatCtx, packet)>=0 && !bFound) { @@ -307 +217 @@ - if (packet.stream_index==m_videoStream) { + if (packet->stream_index==m_videoStream) { @@ -309,3 +219,11 @@ -# if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 23, 0) - avcodec_decode_video2(m_CodecCtx, m_Frame, &frameFinished, &packet); -# else +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 106, 100) + int ret = avcodec_receive_frame(m_CodecCtx, m_Frame); + if (ret == 0) + frameFinished = 1; + else if (ret == AVERROR(EAGAIN)) + ret = 0; + if (ret == 0) + ret = avcodec_send_packet(m_CodecCtx, packet); +#elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 23, 0) + avcodec_decode_video2(m_CodecCtx, m_Frame, &frameFinished, packet); +#else @@ -313,2 +231,2 @@ - packet.data, packet.size); -# endif + packet->data, packet->size); +#endif @@ -318,8 +236,7 @@ -// if (m_Frame->pts >=fspos) - int64_t cur_dts=fspos; -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(54, 2, 0) - cur_dts= packet.dts; -# else - if (m_FormatCtx->cur_st) - cur_dts= m_FormatCtx->cur_st->cur_dts; -# endif + int64_t cur_dts=fspos; +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(54, 2, 0) + cur_dts = packet->dts; +#else + if (m_FormatCtx->cur_st) + cur_dts = m_FormatCtx->cur_st->cur_dts; +#endif @@ -328,10 +244,0 @@ -# ifndef HAVE_SWSCALE - // Convert the image from its native format to RGB - img_convert((AVPicture *)m_FrameRGB, AV_PIX_FMT_RGB24, - (AVPicture*)m_Frame, m_CodecCtx->pix_fmt, - m_CodecCtx->width, m_CodecCtx->height); - - // convert frame to TQImage - SaveFrame(m_FrameRGB, m_CodecCtx->width, - m_CodecCtx->height); -# else @@ -339 +246 @@ - sws_scale(toRGB_convert_ctx, m_Frame->data, m_Frame->linesize, 0, m_CodecCtx->height, m_FrameRGB->data,m_FrameRGB->linesize); + sws_scale(toRGB_convert_ctx, m_Frame->data, m_Frame->linesize, 0, m_CodecCtx->height, m_FrameRGB->data,m_FrameRGB->linesize); @@ -344 +250,0 @@ -# endif @@ -349,2 +255,7 @@ - // Free the packet that was allocated by av_read_frame - av_free_packet(&packet); +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 25, 100) + // Unreference the packet from av_read_frame + av_packet_unref(packet); +#else + // Free the packet from av_read_frame + av_free_packet(packet); +#endif @@ -352,0 +264,3 @@ +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 12, 100) + av_packet_free(&packet); +#endif @@ -383 +297 @@ -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0) +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0) @@ -385 +299 @@ -# else +#else @@ -387 +301,6 @@ -# endif +#endif + +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100) + avcodec_free_context(&m_CodecCtx); +#endif + --- k9author/k9avidecode.h +++ k9author/k9avidecode.h @@ -17,4 +17,2 @@ -#ifdef OLD_FFMPEG -#include -#endif -#ifdef NEW_FFMPEG + +extern "C" { @@ -21,0 +20 @@ +#include @@ -23,3 +22,3 @@ -#endif - -#ifdef HAVE_SWSCALE +#include +#include +#include @@ -27 +26 @@ -#endif +}; @@ -36,54 +34,0 @@ -//typedef dvd_file_t * (*DVDOpenFile_t) ( dvd_reader_t *, int, dvd_read_domain_t ); -typedef void (*av_register_all_t) (void); -typedef int64_t (*av_gettime_t) (void); -#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 2, 0) -typedef int (*avformat_open_input_t)(AVFormatContext **, const char *, AVInputFormat *, AVDictionary **); -#else -typedef int (*av_open_input_file_t)(AVFormatContext **, const char *,AVInputFormat *,int, AVFormatParameters *); -#endif -#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 6, 0) -typedef int (*avformat_find_stream_info_t)(AVFormatContext *, AVDictionary **); -#else -typedef int (*av_find_stream_info_t)(AVFormatContext *); -#endif -#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 25, 0) -typedef AVCodec* (*avcodec_find_decoder_t)(enum AVCodecID); -#else -typedef AVCodec* (*avcodec_find_decoder_t)(enum CodecID); -#endif -#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 8, 0) -typedef int (*avcodec_open2_t)(AVCodecContext *, AVCodec *, AVDictionary **); -#else -typedef int (*avcodec_open_t)(AVCodecContext *, AVCodec *); -#endif -typedef AVFrame * (*avcodec_alloc_frame_t)(void); - -typedef int (*avpicture_get_size_t)(int , int , int ); -typedef void * (*av_malloc_t)(unsigned int ); -typedef int (*avpicture_fill_t)(AVPicture *, uint8_t *,int , int , int); -typedef int (*av_read_frame_t)(AVFormatContext *, AVPacket *); - -#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 23, 0) -typedef int (*avcodec_decode_video2_t)(AVCodecContext *, AVFrame *, int *, AVPacket *); -#else -typedef int (*avcodec_decode_video_t)(AVCodecContext *, AVFrame *,int *, uint8_t *, int ); -#endif -typedef int (*img_convert_t)(AVPicture *, int , const AVPicture *, int ,int, int); -typedef void (*av_free_t)(void *); -typedef int (*avcodec_close_t)(AVCodecContext *); -#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0) -typedef void (*avformat_close_input_t)(AVFormatContext **); -#else -typedef void (*av_close_input_file_t)(AVFormatContext *); -#endif -typedef int (*av_seek_frame_t)(AVFormatContext *,int,int64_t timestamp,int flags); typedef int64_t (*av_rescale_q_t)(int64_t , AVRational , AVRational ) ; -typedef void (*avcodec_flush_buffers_t)(AVCodecContext *); -typedef void (*av_free_packet_t)(AVPacket *); - -#ifdef HAVE_SWSCALE -typedef void (*sws_freeContext_t)(struct SwsContext *swsContext); -typedef struct SwsContext* (*sws_getContext_t)(int srcW, int srcH, int srcFormat, int dstW, int dstH, int dstFormat, int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, double *param); -typedef int (*sws_scale_t)(struct SwsContext *context, uint8_t* src[], int srcStride[], int srcSliceY,int srcSliceH, uint8_t* dst[], int dstStride[]); -#endif - - @@ -107 +52 @@ - TQString getError() const; + TQString getError() const; @@ -110,47 +54,0 @@ - av_register_all_t av_register_all; -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 2, 0) - avformat_open_input_t avformat_open_input; -# else - av_open_input_file_t av_open_input_file; -# endif -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 6, 0) - avformat_find_stream_info_t avformat_find_stream_info; -# else - av_find_stream_info_t av_find_stream_info; -# endif - avcodec_find_decoder_t avcodec_find_decoder; -# if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53, 8, 0) - avcodec_open2_t avcodec_open2; -# else - avcodec_open_t avcodec_open; -# endif - avcodec_alloc_frame_t avcodec_alloc_frame; - av_seek_frame_t av_seek_frame; - avpicture_get_size_t avpicture_get_size; - av_malloc_t av_malloc; - avpicture_fill_t avpicture_fill; - av_read_frame_t av_read_frame; -# if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 23, 0) - avcodec_decode_video2_t avcodec_decode_video2; -# else - avcodec_decode_video_t avcodec_decode_video; -# endif - img_convert_t img_convert; - av_free_t av_free; - avcodec_close_t avcodec_close; -# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0) - avformat_close_input_t avformat_close_input; -# else - av_close_input_file_t av_close_input_file; -# endif - av_rescale_q_t av_rescale_q; - av_gettime_t av_gettime; - avcodec_flush_buffers_t avcodec_flush_buffers; - av_free_packet_t av_free_packet; -# ifdef HAVE_SWSCALE - sws_freeContext_t sws_freeContext; - sws_getContext_t sws_getContext; - sws_scale_t sws_scale; -# endif - - --- src/Makefile.am +++ src/Makefile.am @@ -33 +33 @@ -k9copy_LDFLAGS = \$(all_libraries) \$(KDE_RPATH) \$(LIB_QT) -lDCOP \$(LIB_TDECORE) \$(LIB_TDEUI) -ltdefx \$(LIB_TDEIO) -ltdetexteditor \$(LIB_TDEPARTS) +k9copy_LDFLAGS = \$(all_libraries) \$(KDE_RPATH) \$(LIB_QT) -lDCOP \$(LIB_TDECORE) \$(LIB_TDEUI) -ltdefx \$(LIB_TDEIO) -ltdetexteditor \$(LIB_TDEPARTS) \$(FFMPEG_LIBS) EOF } # set support for additional language(s) as per I18N variable # but only for languages available with this package langs="";for Lang in $I18N;do [[ -e po/$Lang".po" ]] && langs="$langs $Lang"".po";done sed -i "s|POFILES =.*$|POFILES =$langs|" po/Makefile.am langs=$(echo $langs | sed 's|.po||g') listdocs_fn ltoolupdate_fn chown_fn cd_builddir_fn [[ $GCC_VIS == ON ]] && EN_GCC_VIS="--enable-gcc-hidden-visibility" CFLAGS="$SLKRCFLAGS" \ CXXFLAGS="$SLKRCFLAGS" \ CC=$COMPILER \ CXX=$COMPILER_CXX \ ../configure \ --prefix=$INSTALL_TDE \ --disable-rpath \ ${EN_GCC_VIS:-} \ --enable-closure \ --enable-k3bdevices # do not activate hal/dbus support (use k3bdevice instead) make_fn installdocs_fn strip_fn mkdir_install_fn doinst_sh_fn echo " # HOW TO EDIT THIS FILE: # The 'handy ruler' below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' on # the right side marks the last column you can put a character in. You must make # exactly 11 lines for the formatting to be correct. It's also customary to # leave one space after the ':'. |-----handy-ruler------------------------------------------------------| $PRGNAM: k9copy is an easy to use and powerful DVD backup utility. $PRGNAM: $PRGNAM: With language support for: $PRGNAM: en $langs $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: " > $PKG/install/slack-desc makepkg_fn