diff options
-rw-r--r-- | multimedia/k9copy/README | 13 | ||||
-rw-r--r-- | multimedia/k9copy/doinst.sh | 10 | ||||
-rw-r--r-- | multimedia/k9copy/k9copy-2.3.8-ffmpeg-0.11.patch | 561 | ||||
-rw-r--r-- | multimedia/k9copy/k9copy.SlackBuild | 104 | ||||
-rw-r--r-- | multimedia/k9copy/k9copy.info | 10 | ||||
-rw-r--r-- | multimedia/k9copy/slack-desc | 19 |
6 files changed, 717 insertions, 0 deletions
diff --git a/multimedia/k9copy/README b/multimedia/k9copy/README new file mode 100644 index 0000000000..dd64968c35 --- /dev/null +++ b/multimedia/k9copy/README @@ -0,0 +1,13 @@ +k9copy is DVD backup utility which allows the copy of one or more +titles from a DVD9 to a DVD5. + +Optional runtime deps are libdvdcss (for DVD Backup action), +along with mjpegtools and twolame (for DVD Author action). + +Due to the lack of upstream maintainers and the ongoing changes to +ffmpeg, it might be necessary to change some of the default ffmpeg +command line options in the Encoders configuration section and/or +ffmpeg encoding might not be fully functional. +However, k9copy can use mencoder instead of ffmpeg, provided that +MPlayer is rebuilt with the required codecs (x264, xvid, lame, +libmp4v2, faac, etc.) diff --git a/multimedia/k9copy/doinst.sh b/multimedia/k9copy/doinst.sh new file mode 100644 index 0000000000..1f8ff67ded --- /dev/null +++ b/multimedia/k9copy/doinst.sh @@ -0,0 +1,10 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi + diff --git a/multimedia/k9copy/k9copy-2.3.8-ffmpeg-0.11.patch b/multimedia/k9copy/k9copy-2.3.8-ffmpeg-0.11.patch new file mode 100644 index 0000000000..991106ad8a --- /dev/null +++ b/multimedia/k9copy/k9copy-2.3.8-ffmpeg-0.11.patch @@ -0,0 +1,561 @@ +diff -Nru k9copy-2.3.8-Source.orig/CMakeLists.txt k9copy-2.3.8-Source/CMakeLists.txt +--- k9copy-2.3.8-Source.orig/CMakeLists.txt 2011-12-09 22:08:41.000000000 +0100 ++++ k9copy-2.3.8-Source/CMakeLists.txt 2012-11-23 10:12:56.000000000 +0100 +@@ -18,6 +18,7 @@ + INCLUDE(FindXine) + INCLUDE(FindAvcodec) + INCLUDE(FindAvformat) ++INCLUDE(FindAvutil) + INCLUDE(FindFFmpegScale) + #INCLUDE(FindLibDvdread) + +@@ -68,6 +69,7 @@ + + FINDAVFORMAT("avformat") + FINDAVCODEC("avcodec") ++FINDAVUTIL("avutil") + + add_definitions( -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS) + add_subdirectory( src/dvdnav) +@@ -103,6 +105,7 @@ + #${LIBDVDREAD_INCLUDE_DIR}/dvdread + ${AVCODEC_INCLUDE_DIR} + ${AVFORMAT_INCLUDE_DIR} ++ ${AVUTIL_INCLUDE_DIR} + ${FFMPEGSCALE_INCLUDE_DIR} + ${FFMPEG_INCLUDE_DIR} + ) +diff -Nru k9copy-2.3.8-Source.orig/cmake/FindAvutil.cmake k9copy-2.3.8-Source/cmake/FindAvutil.cmake +--- k9copy-2.3.8-Source.orig/cmake/FindAvutil.cmake 1970-01-01 01:00:00.000000000 +0100 ++++ k9copy-2.3.8-Source/cmake/FindAvutil.cmake 2012-11-23 10:12:56.000000000 +0100 +@@ -0,0 +1,35 @@ ++MACRO (FINDAVUTIL _lib) ++ ++FIND_PATH(AVUTIL_INCLUDE_DIR_FF "ffmpeg/avutil.h" PATHS) ++IF (AVUTIL_INCLUDE_DIR_FF) ++ SET (AVUTIL_INCLUDE_DIR "${AVCODEC_INCLUDE_DIR_FF}/ffmpeg") ++ELSE (AVUTIL_INCLUDE_DIR_FF) ++ FIND_PATH(AVUTIL_INCLUDE_DIR_LAVC "libavutil/avutil.h" PATHS) ++ IF (AVUTIL_INCLUDE_DIR_LAVC) ++ SET (AVUTIL_INCLUDE_DIR "${AVUTIL_INCLUDE_DIR_LAVC}/libavutil") ++ ELSE (AVUTIL_INCLUDE_DIR_LAVC) ++ FIND_PATH(AVUTIL_INCLUDE_DIR_FF_LAVF "ffmpeg/libavutil/avutil.h" PATHS) ++ IF (AVUTIL_INCLUDE_DIR_FF_LAVF) ++ SET (AVUTIL_INCLUDE_DIR "${AVUTIL_INCLUDE_DIR_FF_LAVF}/ffmpeg/libavutil") ++ ENDIF (AVUTIL_INCLUDE_DIR_FF_LAVF) ++ ENDIF (AVUTIL_INCLUDE_DIR_LAVC) ++ENDIF (AVUTIL_INCLUDE_DIR_FF) ++ ++ ++ ++FIND_LIBRARY(AVUTIL_LIBRARY NAMES ${_lib} PATHS ) ++ ++IF (AVUTIL_INCLUDE_DIR AND AVUTIL_LIBRARY) ++ SET(INC_FOUND TRUE) ++ELSE (AVUTIL_INCLUDE_DIR AND AVUTIL_LIBRARY) ++ SET(INC_FOUND FALSE) ++ENDIF (AVUTIL_INCLUDE_DIR AND AVUTIL_LIBRARY) ++ ++ ++IF (INC_FOUND) ++ MESSAGE(STATUS "Found include avutil.h: ${AVUTIL_INCLUDE_DIR}") ++ MESSAGE(STATUS "Found library ${_lib}: ${AVUTIL_LIBRARY}") ++ELSE (INC_FOUND) ++ MESSAGE(FATAL_ERROR "Could not find ${_lib}") ++ENDIF (INC_FOUND) ++ENDMACRO (FINDAVUTIL _lib ) +\ No newline at end of file +diff -Nru k9copy-2.3.8-Source.orig/src/backup/k9mp4enc.cpp k9copy-2.3.8-Source/src/backup/k9mp4enc.cpp +--- k9copy-2.3.8-Source.orig/src/backup/k9mp4enc.cpp 2011-12-09 22:08:41.000000000 +0100 ++++ k9copy-2.3.8-Source/src/backup/k9mp4enc.cpp 2012-12-11 09:37:02.558323776 +0100 +@@ -619,7 +619,7 @@ + // cmd << "-lavfopts" << "i_certify_that_my_video_stream_does_not_use_b_frames"; + } + //synchronize audio +- cmd << "-async" << "1" ; ++ cmd << "-async" << "44100" ; + cmd << "-y" << KShell::quoteArg(path); + cmd << slNewAudio; + // if (m_extractMkv) { +diff -Nru k9copy-2.3.8-Source.orig/src/core/k9audiocodecs.cpp k9copy-2.3.8-Source/src/core/k9audiocodecs.cpp +--- k9copy-2.3.8-Source.orig/src/core/k9audiocodecs.cpp 2011-12-09 22:08:42.000000000 +0100 ++++ k9copy-2.3.8-Source/src/core/k9audiocodecs.cpp 2012-12-11 09:37:02.584323452 +0100 +@@ -75,10 +75,10 @@ + m_codecs[4]=_k9AudioCodec("sonic","-oac lavc -lavcopts acodec=sonic:abitrate=$AUDBR","mencoder"); + m_codecs[5]=_k9AudioCodec("aac","-oac faac -faacopts br=$AUDBR","mencoder"); + m_codecs[6]=_k9AudioCodec("mp3 (lame)","-oac mp3lame -lameopts abr:br=$AUDBR","mencoder"); +- m_codecs[7]=_k9AudioCodec("copy","-acodec copy","ffmpeg",""); +- m_codecs[8]=_k9AudioCodec("mp3","-acodec libmp3lame -ab $AUDBRk -ac 2","ffmpeg",".mp3"); +- m_codecs[9]=_k9AudioCodec("vorbis","-acodec vorbis -ab $AUDBRk -ac 2","ffmpeg",".ogg"); +- m_codecs[10]=_k9AudioCodec("aac","-acodec libfaac -ab $AUDBRk -ac 2","ffmpeg",".aac"); ++ m_codecs[7]=_k9AudioCodec("copy","-codec:a copy","ffmpeg",""); ++ m_codecs[8]=_k9AudioCodec("mp3","-codec:a libmp3lame -ab $AUDBRk -ac 2 -ar 44100","ffmpeg",".mp3"); ++ m_codecs[9]=_k9AudioCodec("vorbis","-codec:a vorbis -ab $AUDBRk -ac 2 -ar 44100","ffmpeg",".ogg"); ++ m_codecs[10]=_k9AudioCodec("aac","-codec:a libfaac -ab $AUDBRk -ac 2 -ar 44100","ffmpeg",".aac"); + + save(); + } +diff -Nru k9copy-2.3.8-Source.orig/src/core/k9videocodecs.cpp k9copy-2.3.8-Source/src/core/k9videocodecs.cpp +--- k9copy-2.3.8-Source.orig/src/core/k9videocodecs.cpp 2011-12-09 22:08:42.000000000 +0100 ++++ k9copy-2.3.8-Source/src/core/k9videocodecs.cpp 2012-12-11 09:37:02.607323163 +0100 +@@ -98,12 +98,12 @@ + m_codecs[18]=_k9VideoCodec("ASUS v1","","-ovc lavc -lavcopts vcodec=asv1:vhq:v4mv:vqmin=2:vbitrate=$VIDBR:aspect=$ASPECT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP,scale=$WIDTH:$HEIGHT,dsize=$ASPECT","-ovc lavc -lavcopts vcodec=asv1:vhq:v4mv:vqmin=2:vbitrate=$VIDBR:aspect=$ASPECT:turbo:vpass=$PASS -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP,scale=$WIDTH:$HEIGHT,dsize=$ASPECT","-ovc lavc -lavcopts vcodec=asv1:vhq:v4mv:vqmin=2:vbitrate=$VIDBR:aspect=$ASPECT:turbo:vpass=$PASS -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP,scale=$WIDTH:$HEIGHT,dsize=$ASPECT","mencoder"); + m_codecs[19]=_k9VideoCodec("ASUS v2","","-ovc lavc -lavcopts vcodec=asv2:vhq:v4mv:vqmin=2:vbitrate=$VIDBR:aspect=$ASPECT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP,scale=$WIDTH:$HEIGHT,dsize=$ASPECT","-ovc lavc -lavcopts vcodec=asv2:vhq:v4mv:vqmin=2:vbitrate=$VIDBR:aspect=$ASPECT:turbo:vpass=$PASS -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP,scale=$WIDTH:$HEIGHT,dsize=$ASPECT","-ovc lavc -lavcopts vcodec=asv2:vhq:v4mv:vqmin=2:vbitrate=$VIDBR:aspect=$ASPECT:turbo:vpass=$PASS -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP,scale=$WIDTH:$HEIGHT,dsize=$ASPECT","mencoder"); + m_codecs[20]=_k9VideoCodec("flv","","-ovc lavc -lavcopts vcodec=flv:vhq:v4mv:vqmin=2:vbitrate=$VIDBR:aspect=$ASPECT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP,scale=$WIDTH:$HEIGHT,dsize=$ASPECT","-ovc lavc -lavcopts vcodec=flv:vhq:v4mv:vqmin=2:vbitrate=$VIDBR:aspect=$ASPECT:turbo:vpass=$PASS -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP,scale=$WIDTH:$HEIGHT,dsize=$ASPECT","-ovc lavc -lavcopts vcodec=flv:vhq:v4mv:vqmin=2:vbitrate=$VIDBR:aspect=$ASPECT:turbo:vpass=$PASS -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP,scale=$WIDTH:$HEIGHT,dsize=$ASPECT","mencoder"); +- m_codecs[21]=_k9VideoCodec("copy","","-vcodec copy","-vcodec copy","-vcodec copy","ffmpeg"); +- m_codecs[22]=_k9VideoCodec("x264","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -vcodec libx264 -level 30","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec libx264 -pass $PASS -passlogfile $PASSLOGFILE -level 30","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec libx264 -pass $PASS -passlogfile $PASSLOGFILE -level 30","ffmpeg"); +- m_codecs[23]=_k9VideoCodec("x264 (high)","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -vcodec libx264 -level 30 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec libx264 -level 30 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -pass $PASS -passlogfile $PASSLOGFILE","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec libx264 -level 30 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -pass $PASS -passlogfile $PASSLOGFILE","ffmpeg"); +- m_codecs[24]=_k9VideoCodec("MPEG-4 ","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -vcodec mpeg4 ","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec mpeg4 -pass $PASS -passlogfile $PASSLOGFILE","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec mpeg4 -pass $PASS -passlogfile $PASSLOGFILE","ffmpeg"); +- m_codecs[25]=_k9VideoCodec("Flash Video","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -vcodec flv ","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec flv -pass $PASS -passlogfile $PASSLOGFILE","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec flv -pass $PASS -passlogfile $PASSLOGFILE","ffmpeg"); +- m_codecs[26]=_k9VideoCodec("Windows Media 8","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -vcodec wmv2","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec wmv2 -pass $PASS -passlogfile $PASSLOGFILE","-b $VIDBRk -s $WIDTHx$HEIGHT -croptop $CROPTOP -cropbottom $CROPBOTTOM -cropleft $CROPLEFT -cropright $CROPRIGHT -aspect $ASPECT -vcodec wmv2 -pass $PASS -passlogfile $PASSLOGFILE","ffmpeg"); ++ m_codecs[21]=_k9VideoCodec("copy","","-codec:v copy","-codec:v copy","-codec:v copy","ffmpeg"); ++ m_codecs[22]=_k9VideoCodec("x264","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v libx264 -level 30","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v libx264 -pass $PASS -passlogfile $PASSLOGFILE -level 30","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v libx264 -pass $PASS -passlogfile $PASSLOGFILE -level 30","ffmpeg"); ++ m_codecs[23]=_k9VideoCodec("x264 (high)","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v libx264 -level 30 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 -b-pyramid normal -weightb 1 -mixed-refs 1 -8x8dct 1 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v libx264 -level 30 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 -b-pyramid normal -weightb 1 -mixed-refs 1 -8x8dct 1 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -pass $PASS -passlogfile $PASSLOGFILE","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v libx264 -level 30 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 -b-pyramid normal -weightb 1 -mixed-refs 1 -8x8dct 1 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -pass $PASS -passlogfile $PASSLOGFILE","ffmpeg"); ++ m_codecs[24]=_k9VideoCodec("MPEG-4 ","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v mpeg4 ","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v mpeg4 -pass $PASS -passlogfile $PASSLOGFILE","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v mpeg4 -pass $PASS -passlogfile $PASSLOGFILE","ffmpeg"); ++ m_codecs[25]=_k9VideoCodec("Flash Video","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v flv ","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v flv -pass $PASS -passlogfile $PASSLOGFILE","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v flv -pass $PASS -passlogfile $PASSLOGFILE","ffmpeg"); ++ m_codecs[26]=_k9VideoCodec("Windows Media 8","","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$CROPWIDTH:$CROPHEIGHT:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v wmv2","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v wmv2 -pass $PASS -passlogfile $PASSLOGFILE","-b $VIDBRk -s $WIDTHx$HEIGHT -vf crop=$WIDTH-$CROPRIGHT-$CROPLEFT:$HEIGHT-$CROPTOP-$CROPBOTTOM:$CROPLEFT:$CROPTOP -aspect $ASPECT -codec:v wmv2 -pass $PASS -passlogfile $PASSLOGFILE","ffmpeg"); + + save(); + +diff -Nru k9copy-2.3.8-Source.orig/src/import/k9avidecode.cpp k9copy-2.3.8-Source/src/import/k9avidecode.cpp +--- k9copy-2.3.8-Source.orig/src/import/k9avidecode.cpp 2011-12-09 22:08:41.000000000 +0100 ++++ k9copy-2.3.8-Source/src/import/k9avidecode.cpp 2012-11-23 10:12:56.000000000 +0100 +@@ -37,11 +37,13 @@ + : QObject(parent) { + CodecHandle=0; + FormatHandle=0; ++ UtilHandle=0; + SwscaleHandle=0; + glibref=0; + if (glibref==0) { + CodecHandle=dlopen("libavcodec.so",RTLD_LAZY ); //| RTLD_GLOBAL + FormatHandle=dlopen("libavformat.so",RTLD_LAZY); ++ UtilHandle=dlopen("libavutil.so",RTLD_LAZY); + #ifdef HAVE_SWSCALE + SwscaleHandle=dlopen("libswscale.so",RTLD_LAZY); + if (SwscaleHandle==0) +@@ -56,6 +58,12 @@ + if (!FormatHandle ) { + errs << i18n("Cannot open the library %1").arg("libavformat"); + } ++# 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) { + errs << i18n("Cannot open the library %1").arg("libswscale"); +@@ -63,17 +71,32 @@ + #endif + + 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"); +- if (avcodec_decode_video==0) avcodec_decode_video=(avcodec_decode_video_t)dlsym(CodecHandle,"avcodec_decode_video2"); ++# endif + #ifndef HAVE_SWSCALE + img_convert = (img_convert_t)dlsym(CodecHandle,"img_convert"); + //if img_convert is null (deprecated in ffmpeg), we need libswscale +@@ -85,7 +108,11 @@ + 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"); +@@ -94,7 +121,11 @@ + 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 (errs.count() >0) { + m_error=errs.join("\n"); +@@ -118,6 +149,8 @@ + dlclose(FormatHandle); + if (CodecHandle) + dlclose(CodecHandle); ++ if(UtilHandle) ++ dlclose(UtilHandle); + #ifdef HAVE_SWSCALE + if (SwscaleHandle) + dlclose(CodecHandle); +@@ -134,12 +167,24 @@ + close(); + + // Open video file +- if (av_open_input_file(&m_FormatCtx, _fileName.toUtf8(), NULL, 0, NULL)!=0) { ++ if ( ++# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 2, 0) ++ avformat_open_input(&m_FormatCtx, _fileName.toUtf8(), 0, 0)!=0 ++# else ++ av_open_input_file(&m_FormatCtx, _fileName.toUtf8(), NULL, 0, NULL)!=0 ++# endif ++ ) { + m_error=i18n("Couldn't open the file %1").arg(_fileName); + return false; // Couldn't open file} + } + // Retrieve stream information +- if (av_find_stream_info(m_FormatCtx)<0) { ++ 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 ++ ) { + m_error =i18n("Couldn't find stream information"); + return false; // Couldn't find stream information + } +@@ -168,7 +213,13 @@ + return false; // Codec not found + } + // Open codec +- if (avcodec_open(m_CodecCtx, m_Codec)<0) { ++ 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 ++ ) { + m_error =i18n("Could'nt open the codec"); + return false; // Could not open codec + } +@@ -245,15 +296,23 @@ + // Is this a packet from the video stream? + if (packet.stream_index==m_videoStream) { + // Decode video frame ++# if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 23, 0) ++ avcodec_decode_video2(m_CodecCtx, m_Frame, &frameFinished, &packet); ++# else + avcodec_decode_video(m_CodecCtx, m_Frame, &frameFinished, + packet.data, packet.size); ++# endif + + // Did we get a video frame? + if (frameFinished) { + // if (m_Frame->pts >=fspos) + int64_t cur_dts=fspos; +- if (m_FormatCtx->cur_st) +- cur_dts= m_FormatCtx->cur_st->cur_dts; ++# 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 + if (cur_dts >=fspos) { + bFound=true; + #ifndef HAVE_SWSCALE +@@ -309,7 +368,11 @@ + avcodec_close(m_CodecCtx); + + // Close the video file ++# if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53, 17, 0) ++ avformat_close_input(&m_FormatCtx); ++# else + av_close_input_file(m_FormatCtx); ++# endif + m_opened=false; + } + } +diff -Nru k9copy-2.3.8-Source.orig/src/import/k9avidecode.h k9copy-2.3.8-Source/src/import/k9avidecode.h +--- k9copy-2.3.8-Source.orig/src/import/k9avidecode.h 2011-12-09 22:08:41.000000000 +0100 ++++ k9copy-2.3.8-Source/src/import/k9avidecode.h 2012-11-23 10:12:56.000000000 +0100 +@@ -15,6 +15,7 @@ + #include "k9common.h" + #include <qobject.h> + #include <avformat.h> ++#include <avutil.h> + #include <qimage.h> + #include <cstdlib> + #include <QObject> +@@ -29,10 +30,22 @@ + //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 + typedef AVCodec* (*avcodec_find_decoder_t)(enum CodecID); ++#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 ); +@@ -40,11 +53,19 @@ + 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 *); +@@ -77,21 +98,41 @@ + + private: + 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; +@@ -103,6 +144,7 @@ + #endif + void *CodecHandle; + void *FormatHandle; ++ void *UtilHandle; + void *SwscaleHandle; + int glibref; + +diff -Nru k9copy-2.3.8-Source.orig/src/vamps/k9ffmpeg.cpp k9copy-2.3.8-Source/src/vamps/k9ffmpeg.cpp +--- k9copy-2.3.8-Source.orig/src/vamps/k9ffmpeg.cpp 2011-12-09 22:08:41.000000000 +0100 ++++ k9copy-2.3.8-Source/src/vamps/k9ffmpeg.cpp 2012-11-23 10:12:56.000000000 +0100 +@@ -50,20 +50,40 @@ + avcodec_init =(avcodec_init_t)dlsym(CodecHandle,"avcodec_init"); + av_register_all = (av_register_all_t)dlsym(FormatHandle,"av_register_all"); + avcodec_alloc_context=(avcodec_alloc_context_t)dlsym(CodecHandle,"avcodec_alloc_context"); ++# 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 + img_convert = (img_convert_t)dlsym(CodecHandle,"img_convert"); + av_free = (av_free_t)dlsym(CodecHandle,"av_free"); + 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"); +@@ -73,7 +93,11 @@ + 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 + url_fopen=(url_fopen_t)dlsym(FormatHandle,"url_fopen"); + + audio_resample_init=(audio_resample_init_t)dlsym(CodecHandle,"audio_resample_init"); +@@ -110,4 +134,4 @@ + k9FFMpeg *k9FFMpeg::instance() { + return &_FFMpegInstance; + +-} +\ No newline at end of file ++} +diff -Nru k9copy-2.3.8-Source.orig/src/vamps/k9ffmpeg.h k9copy-2.3.8-Source/src/vamps/k9ffmpeg.h +--- k9copy-2.3.8-Source.orig/src/vamps/k9ffmpeg.h 2011-12-09 22:08:41.000000000 +0100 ++++ k9copy-2.3.8-Source/src/vamps/k9ffmpeg.h 2012-11-23 10:13:39.000000000 +0100 +@@ -15,6 +15,7 @@ + #include <QString> + #include <avcodec.h> + #include <avformat.h> ++#include <avutil.h> + #include <avio.h> + #ifdef HAVE_SWSCALE + #include <swscale.h> +@@ -28,10 +29,22 @@ + typedef void (*av_register_all_t) (void); + typedef void (*avcodec_init_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 + typedef AVCodec* (*avcodec_find_decoder_t)(enum CodecID); ++#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 AVCodecContext * (*avcodec_alloc_context_t)(void); + +@@ -40,13 +53,21 @@ + 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 (*avcodec_encode_audio_t)(AVCodecContext *avctx, uint8_t *buf, int buf_size, const short *samples); + + 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 *); +@@ -89,21 +110,41 @@ + avcodec_init_t avcodec_init; + avcodec_alloc_context_t avcodec_alloc_context; + 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; diff --git a/multimedia/k9copy/k9copy.SlackBuild b/multimedia/k9copy/k9copy.SlackBuild new file mode 100644 index 0000000000..c56a1b58fb --- /dev/null +++ b/multimedia/k9copy/k9copy.SlackBuild @@ -0,0 +1,104 @@ +#!/bin/sh + +# Slackware build script for k9copy + +# Copyright 2007 Brian Reichert <rignes@pobox.com> +# Copyright 2010-2012 Roberto Neri, Palermo, Italy +# +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS 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 AUTHOR 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=${VERSION:-2.3.8} +BUILD=${BUILD:-2} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION-Source +tar xvf $CWD/$PRGNAM-$VERSION-Source.tar.gz +cd $PRGNAM-$VERSION-Source +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Patch for ffmpeg 0.11 +# (adapted from a patch for the same purpose by the Trinity Desktop Environment team, +# with additional modifications by Matteo Bernardini) +patch -p1 < $CWD/$PRGNAM-$VERSION-ffmpeg-0.11.patch + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DMAN_INSTALL_DIR=/usr/man \ + -DCMAKE_BUILD_TYPE=Release .. + make VERBOSE=1 + make install DESTDIR=$PKG +cd .. + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a COPYING README $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/doinst.sh > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/multimedia/k9copy/k9copy.info b/multimedia/k9copy/k9copy.info new file mode 100644 index 0000000000..3244dc4dbe --- /dev/null +++ b/multimedia/k9copy/k9copy.info @@ -0,0 +1,10 @@ +PRGNAM="k9copy" +VERSION="2.3.8" +HOMEPAGE="http://k9copy.sourceforge.net/" +DOWNLOAD="http://downloads.sourceforge.net/k9copy/k9copy-2.3.8-Source.tar.gz" +MD5SUM="584f6cc50f28befbeb0d5c1ec9476456" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="%README% ffmpeg libmpeg2" +MAINTAINER="Roberto Neri" +EMAIL="rneri@libero.it" diff --git a/multimedia/k9copy/slack-desc b/multimedia/k9copy/slack-desc new file mode 100644 index 0000000000..48037eeb83 --- /dev/null +++ b/multimedia/k9copy/slack-desc @@ -0,0 +1,19 @@ +# 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 ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +k9copy: k9copy (a Linux DVD shrink) +k9copy: +k9copy: K9Copy is a small utility which allows copying DVDs on Linux. +k9copy: +k9copy: Homepage: http://k9copy.sourceforge.net/ +k9copy: +k9copy: +k9copy: +k9copy: +k9copy: +k9copy: |