Projects
Multimedia
avidemux3
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
avidemux3.changes
Changed
@@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Mon Dec 09 2013 - joerg.lorenzen@ki.tng.de +- Update to version 2.6.7 + * [MKV] Fix seeking in h264 + * [TS/H264] Split on NALU boundaries, it was off by one byte + * [TS/AAC] Add support for AAC/LC/SBR + * [MOV/MP4] Correct management of PCM/8Bits audio track + * [Images] Fixed import of bmp and jpg + * [Build] Support for newer cmake (ajschult) + * [Build] Better RPM generation (mit) + * [Auto/PSP] Fixed scripts (LJ) +------------------------------------------------------------------- Sat Nov 02 2013 - joerg.lorenzen@ki.tng.de - changes in spec file to enable build for openSUSE 11.4 and 12.1 -------------------------------------------------------------------
View file
avidemux3.spec
Changed
@@ -18,7 +18,7 @@ Name: avidemux3 Summary: Graphical video editing and transcoding tool -Version: 2.6.6 +Version: 2.6.7 Release: 1 Url: http://www.avidemux.org Source0: avidemux_%{version}.tar.gz @@ -53,13 +53,8 @@ BuildRequires: freetype2-devel BuildRequires: mozilla-xulrunner192-devel %endif -%if 0%{?suse_version} < 1220 -BuildRequires: xorg-x11-libXv-devel -BuildRequires: xorg-x11-libXmu-devel -%else -BuildRequires: libXv-devel -BuildRequires: libXmu-devel -%endif +BuildRequires: pkgconfig(xv) +BuildRequires: pkgconfig(xmu) BuildRequires: libsamplerate-devel BuildRequires: jack-audio-connection-kit-devel BuildRequires: libass-devel @@ -72,12 +67,8 @@ # Video out BuildRequires: SDL-devel >= 1.2.7 -%if 0%{?suse_version} < 1220 -BuildRequires: Mesa-devel -%else -BuildRequires: Mesa-libGL-devel -BuildRequires: Mesa-libGLU-devel -%endif +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(glu) BuildRequires: libvdpau-devel # Audio Codecs
View file
avidemux-linking.patch
Changed
@@ -1,5 +1,5 @@ ---- avidemux/cli/CMakeLists.txt.orig 2013-02-21 23:07:01.082035229 +0100 -+++ avidemux/cli/CMakeLists.txt 2013-02-21 23:07:01.097034913 +0100 +--- avidemux/cli/CMakeLists.txt.orig 2013-12-06 07:33:08.000000000 +0100 ++++ avidemux/cli/CMakeLists.txt 2013-12-09 11:37:09.197249000 +0100 @@ -102,6 +102,16 @@ ) @@ -17,8 +17,8 @@ # External libs ########################################### # gettext ---- avidemux/gtk/CMakeLists.txt.orig 2013-02-21 23:07:03.613981892 +0100 -+++ avidemux/gtk/CMakeLists.txt 2013-02-21 23:07:03.625981640 +0100 +--- avidemux/gtk/CMakeLists.txt.orig 2013-12-06 07:33:08.000000000 +0100 ++++ avidemux/gtk/CMakeLists.txt 2013-12-09 11:37:11.447018600 +0100 @@ -102,6 +102,16 @@ ) @@ -36,8 +36,8 @@ # External libs ########################################### # gettext ---- avidemux/qt4/CMakeLists.txt.orig 2013-02-21 23:07:06.120929082 +0100 -+++ avidemux/qt4/CMakeLists.txt 2013-02-21 23:07:06.134928787 +0100 +--- avidemux/qt4/CMakeLists.txt.orig 2013-12-06 07:33:08.000000000 +0100 ++++ avidemux/qt4/CMakeLists.txt 2013-12-09 11:37:13.759281800 +0100 @@ -140,6 +140,16 @@ ) @@ -55,8 +55,8 @@ # External libs ########################################### # gettext ---- avidemux/qt4/ADM_jobs/src/CMakeLists.txt.orig 2013-02-21 23:07:08.494879075 +0100 -+++ avidemux/qt4/ADM_jobs/src/CMakeLists.txt 2013-02-21 23:07:08.507878800 +0100 +--- avidemux/qt4/ADM_jobs/src/CMakeLists.txt.orig 2013-12-06 07:33:08.000000000 +0100 ++++ avidemux/qt4/ADM_jobs/src/CMakeLists.txt 2013-12-09 11:37:16.040298200 +0100 @@ -90,6 +90,16 @@ TARGET_LINK_LIBRARIES(avidemux3_jobs ADM_coreJobs) TARGET_LINK_LIBRARIES(avidemux3_jobs ADM_coreUtils6) @@ -72,5 +72,5 @@ +) + # + target_link_libraries(avidemux3_jobs "-lm -lstdc++") # -
View file
avidemux_2.6.6.tar.gz/admin
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/autononreg/audio
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/autononreg/codecwrite
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/autononreg/dialogFactory
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/autononreg/dialogFactory/unit
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/autononreg/functiontest
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/autononreg/utils
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/autononreg/videofunc
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_audioFilter_old
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_codecs
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_filter
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_infoExtractor
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_mpegIndexer
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_ocr
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_video
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_videoFilter
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/icons
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/xpm
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux/xpm/build
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreJson
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreJson/include
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreJson/src
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreJson/src/Source
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreJson/src/Source/JSONDefs
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreMuxer/include/ADM_audioClock.h
Deleted
@@ -1,30 +0,0 @@ -/** - * - * - * - * - */ -#ifndef ADM_audioClock_H -#define ADM_audioClock_H - -#include "ADM_coreMuxer6_export.h" - -class ADM_COREMUXER6_EXPORT audioClock -{ - protected: - uint32_t _frequency; - uint64_t _nbSamples; - uint64_t _baseClock; - - public: - audioClock(uint32_t fq); - bool advanceBySample(uint32_t samples); - uint64_t getTimeUs(void); - bool setTimeUs(uint64_t clk); - - - -}; - - -#endif
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreSqlite3
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc/doxygen
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc/html
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc/man
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc/man/man1
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc/texi
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc/texi/base
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc/texi/changelog
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc/texi/releasenotes
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/doc/texi/tool
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/libmp4v2/libutil
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/oplug_dummy
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/oplug_flv
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/oplug_mpeg
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/oplug_mpegFF
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_muxers/oplug_ogm
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoEncoder/x264/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoEncoder/x264/xml
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/ASharp
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/ASharp/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/ASharp/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/AddBorders
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Ass
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Ass/ADM_libass
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/AvisynthResize
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/AvisynthResize/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/AvisynthResize/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/BlackenBorders
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/ChromaShift
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/ChromaShift/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/ChromaShift/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Contrast
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Contrast/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Contrast/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Crop
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Crop/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Crop/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Decimate
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/DgBob
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Eq2
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Eq2/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Eq2/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/FastConvolution
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/FluxSmooth
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Hue
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Hue/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Hue/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/KeepField
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/KernelDeint
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/LargeMedian
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Logo
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/LumaOnly
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/MPDelogo
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/MPDelogo/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/MSharpen
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/MplayerDenoise3D
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/MplayerResize
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/MplayerResize/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/MplayerResize/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/ResampleFps
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Rotate
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/SwapUV
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Telecide
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Unblend
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/VerticalFlip
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/Yadif
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/colorYUV
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/colorYUV/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters/lavDeinterlace
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_videoFilters6_openGl/sample
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/cmake/patches
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/debian
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDecoders
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDecoders/ADM_ad_ac3
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDecoders/ADM_ad_ac3/ADM_liba52
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDecoders/ADM_ad_amrnb
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDecoders/ADM_ad_dca
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDecoders/ADM_ad_faad
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDecoders/ADM_ad_mad
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDecoders/ADM_ad_mad/ADM_libMad
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDecoders/ADM_ad_vorbis
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices/Alsa
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices/Arts
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices/AudioCore
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices/Esd
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices/Jack
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices/Oss
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices/PulseAudioSimple
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices/Sdl
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioDevices/Win32
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioEncoders
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioEncoders/aften
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioEncoders/faac
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioEncoders/lame
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioEncoders/lavcodec
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioEncoders/pcm
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioEncoders/twolame
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioEncoders/twolame/ADM_libtwolame
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_audioEncoders/vorbis
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_demuxers
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_demuxers/Flv
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_demuxers/Matroska
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_demuxers/Mp4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_demuxers/MpegPS
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_demuxers/MpegTS
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_demuxers/OpenDml
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_demuxers/Pictures
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/muxerAvi
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/muxerDummy
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/muxerFlv
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/muxerMp4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/muxerRaw
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/oplug_dummy
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/oplug_flv
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/oplug_mpeg
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/oplug_mpegFF
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_muxers/oplug_ogm
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/ADM_vidEnc_x264
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/ADM_vidEnc_x264/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/ADM_vidEnc_x264/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/ADM_vidEnc_x264/xml
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/ADM_vidEnc_xvid
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/ADM_vidEnc_xvid/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/ADM_vidEnc_xvid/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/huff
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/jpeg
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/png
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/x264
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/x264/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/x264/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/x264/xml
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoEncoder/yv12
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/ASharp
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/ASharp/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/ASharp/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/AddBorders
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Animated
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Ass
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Ass/ADM_libass
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/AvisynthResize
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/AvisynthResize/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/AvisynthResize/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/BlackenBorders
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/BlendRemover
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/CNR2
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/CNR2/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Chroma
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/ChromaShift
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/ChromaShift/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/ChromaShift/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Clean
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Contrast
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Contrast/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Contrast/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Crop
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Crop/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Crop/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Decimate
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Deinterlace
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Delta
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Denoise
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/DgBob
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/DropOut
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Eq2
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Eq2/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Eq2/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Equalizer
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Equalizer/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Fade
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/FastConvolution
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/FluxSmooth
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/ForcedPP
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Hue
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Hue/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Hue/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/KeepField
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/KernelDeint
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/LargeMedian
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Logo
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/LumaOnly
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/MPDelogo
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/MPDelogo/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/MSharpen
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/MSmooth
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/McDeint
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Mosaic
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/MplayerDenoise3D
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/MplayerResize
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/MplayerResize/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/MplayerResize/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/PalShift
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Pulldown
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/PulldownRemoval
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/ResampleFps
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Reverse
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Rotate
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Soften
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Srt
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Srt/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Srt/qt4
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Stabilize
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/SwapField
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/SwapUV
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/TIsophote
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/TIsophote/original
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Tdeint
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Telecide
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/TemporalCleaner
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Unblend
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/VerticalFlip
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Whirl
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/Yadif
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/colorYUV
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/colorYUV/gtk
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/plugins/ADM_videoFilters/lavDeinterlace
Deleted
-(directory)
View file
avidemux_2.6.6.tar.gz/autononreg/py/avidemux/pyFrequency.py -> avidemux_2.6.7.tar.gz/autononreg/py/avidemux/pyFrequency.py
Changed
@@ -4,17 +4,21 @@ goodFq=48000 goodChannels=2 goodEncoding=10*8+5 +goodBitrate=128 if(adm.loadVideo(file)==0): displayError("Cannot load file") -if(adm.audioFrequency!=goodFq): +if(adm.audioFrequency(0)!=goodFq): gui.displayError("fq ",str(goodFq)+" vs "+str(adm.audioFrequency)) -if(adm.audioChannels!=goodChannels): - gui.displayError("channels ",str(goodChannels)+" vs "+str(adm.audioChannels)) +if(adm.audioBitrate(0)!=goodBitrate): + gui.displayError("Bitrate ",str(goodBitrate)+" vs "+str(adm.audioBitrate(0))) -if(adm.audioEncoding!=goodEncoding): - gui.displayError("encoding ",str(goodEncoding)+" vs "+str(adm.audioEncoding)) +if(adm.audioChannels(0)!=goodChannels): + gui.displayError("channels ",str(goodChannels)+" vs "+str(adm.audioChannels(0))) + +if(adm.audioEncoding(0)!=goodEncoding): + gui.displayError("encoding ",str(goodEncoding)+" vs "+str(adm.audioEncoding(0))) print("All fine...")
View file
avidemux_2.6.6.tar.gz/avidemux/cli/ADM_userInterfaces/ADM_filters/filter_none.cpp -> avidemux_2.6.7.tar.gz/avidemux/cli/ADM_userInterfaces/ADM_filters/filter_none.cpp
Changed
@@ -0,0 +1,7 @@ +#if defined(__sun__) +/* + this is to avoid an empty library, with no symbols, raising + "ld: elf error: file libADM_filtersCli6.a: elf_getarsym" +*/ +int Sun_ar_require_a_symbol_here_4_cli = 0; +#endif /* : defined(__sun__) */
View file
avidemux_2.6.6.tar.gz/avidemux/cli/cliPackageRpm.cmake -> avidemux_2.6.7.tar.gz/avidemux/cli/cliPackageRpm.cmake
Changed
@@ -11,13 +11,18 @@ SET(CPACK_RPM_PACKAGE_ARCHITECTURE "i386") ENDIF (X86_64_SUPPORTED) # Mandatory +SET(CPACK_RPM_PACKAGE_VERSION "${AVIDEMUX_VERSION}") +SET(CPACK_RPM_PACKAGE_RELEASE "1.r${ADM_SUBVERSION}.bootstrap") +SET(CPACK_RPM_PACKAGE_LICENSE "GPLv2+") SET(CPACK_RPM_PACKAGE_VENDOR "mean") -SET(CPACK_RPM_PACKAGE_DESCRIPTION "Simple video editor,main program cli version ") +SET(CPACK_RPM_PACKAGE_DESCRIPTION "Simple video editor,main program cli version and development files.") +SET(CPACK_RPM_PACKAGE_GROUP "Applications/Multimedia") # Some more infos -SET(CPACK_PACKAGE_NAME "avidemux3-cli") -SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") +SET(CPACK_RPM_PACKAGE_SUMMARY "CLI for avidemux") +SET(CPACK_RPM_PACKAGE_URL "http://www.avidemux.org") +SET(CPACK_RPM_PACKAGE_REQUIRES "avidemux3-core%{?_isa} >= ${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}") +SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") # - include(CPack)
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_editor/src/ADM_edRenderInternal.cpp -> avidemux_2.6.7.tar.gz/avidemux/common/ADM_editor/src/ADM_edRenderInternal.cpp
Changed
@@ -393,7 +393,7 @@ uint8_t ret = 0; EditorCache *cache; ADMImage *result; - uint32_t flags; + uint32_t flags,flagsNext=0; ADMCompressedImage img; // PlaceHolder... @@ -405,9 +405,14 @@ vidHeader *demuxer=vid->_aviheader; cache=vid->_videoCache; ADM_assert(cache); - // Make sure frame is an intra + // Make sure frame is an intra, or the next field is intra demuxer->getFlags(frame,&flags); - ADM_assert(flags&AVI_KEY_FRAME); + demuxer->getFlags(frame+1,&flagsNext); + + // in case of field encoding, only the 2nd field might be + // flagged as intra + uint32_t twoFlags=flags | flagsNext; + ADM_assert(twoFlags&AVI_KEY_FRAME); bool found=false; vid->lastSentFrame=frame;
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_editor/src/ADM_edVideoCopy.cpp -> avidemux_2.6.7.tar.gz/avidemux/common/ADM_editor/src/ADM_edVideoCopy.cpp
Changed
@@ -157,17 +157,35 @@ } } } + aprintf("Bframe droppable=%d, lastSentFrame=%d\n",seg->_dropBframes,vid->lastSentFrame); // after a segment switch, we may have some frames from "the past" // if the cut point is not a keyframe, drop them #if 1 - if(_currentSegment && img->demuxerDts!=ADM_NO_PTS) + if( img->demuxerDts!=ADM_NO_PTS) { - if(img->demuxerDts<seg->_refStartDts) + bool drop=false; + if(_currentSegment && img->demuxerDts<seg->_refStartDts) { - ADM_info("Frame %d is in the past for this segment (%s)",vid->lastSentFrame,ADM_us2plain(img->demuxerPts)); - ADM_info("vs %s\n",ADM_us2plain(seg->_refStartDts)); - goto againGet; + ADM_info("Frame %d is in the past for this segment (%s)",vid->lastSentFrame,ADM_us2plain(img->demuxerDts)); + ADM_info("vs refstartdts %s\n",ADM_us2plain(seg->_refStartDts)); + ADM_info(" dts=%llu, ref=%llu\n",img->demuxerDts,seg->_refStartDts); + drop=true; + } + // Seeking is not accurate when cutting on non intra + // we might have some frames that are clearly too early , even in seg0 + if(img->demuxerPts!=ADM_NO_PTS) + { + if(img->demuxerPts+seg->_startTimeUs<seg->_refStartTimeUs) + { + ADM_info("Frame %d is in the past for this segment -bis (%s)",vid->lastSentFrame,ADM_us2plain(img->demuxerPts)); + ADM_info("vs refstartdts %s\n",ADM_us2plain(seg->_refStartTimeUs)); + ADM_info(" pts=%llu, startTime=%llu, _refStartTimeUs=%llu\n",img->demuxerPts,seg->_startTimeUs,seg->_refStartTimeUs); + drop=true; + } } + if(drop) + goto againGet; + } #endif // Need to switch seg ? @@ -176,8 +194,16 @@ // //** // ADM_info("Frame : Flags :%X, DTS:%"PRId64" PTS=%"PRId64" nextDts=%"PRId64" tail=%"PRId64"\n",img->flags,img->demuxerDts/1000,img->demuxerPts/1000,_nextFrameDts,tail); - if(img->demuxerDts!= ADM_NO_PTS && img->demuxerDts>=tail) goto nextSeg; - if(img->demuxerPts!= ADM_NO_PTS && img->demuxerPts>=tail) goto nextSeg; + if(img->demuxerDts!= ADM_NO_PTS && img->demuxerDts>=tail) + { + aprintf("DTS is too late, switching (%s)\n",ADM_us2plain(img->demuxerDts)); + goto nextSeg; + } + if(img->demuxerPts!= ADM_NO_PTS && img->demuxerPts>=tail) + { + aprintf("PTS is too late, switching (%s)\n",ADM_us2plain(img->demuxerDts)); + goto nextSeg; + } // Since we rely on PTS for seeking, frame 0 might be at PTS 0, in that case the matching dts would be <0 // so the caller can delay everything but recalibrate will clamp the value
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_editor/src/ADM_segment.cpp -> avidemux_2.6.7.tar.gz/avidemux/common/ADM_editor/src/ADM_segment.cpp
Changed
@@ -514,9 +514,11 @@ ADM_error("Cannot find frame with time %"PRIu64"ms\n",seekTime/1000); ADM_assert(0); } - if(!(flags & AVI_KEY_FRAME)) + uint32_t next; + v->_aviheader->getFlags(frame+1,&next); + if(!((next | flags) & AVI_KEY_FRAME)) // The 2nd field might be keyframe { - ADM_warning("Seeking to a non keyframe (time=%s)\n",ADM_us2plain(seekTime)); + ADM_warning("Seeking to a non keyframe (time=%s), flags=%x, flagsNext=%x\n",ADM_us2plain(seekTime),flags,next); ADM_warning("This is not normal unless you start frame is not a keyframe\n"); } return frame;
View file
avidemux_2.6.6.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_vdpau.cpp -> avidemux_2.6.7.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_vdpau.cpp
Changed
@@ -41,6 +41,9 @@ #include "ADM_codecVdpau.h" #include "ADM_threads.h" +#if defined(__sun__) +#include <alloca.h> +#endif /* : defined(__sun__) */ static bool vdpauWorking=false; static admMutex surfaceMutex;
View file
avidemux_2.6.6.tar.gz/avidemux/gtk/gtkPackageRpm.cmake -> avidemux_2.6.7.tar.gz/avidemux/gtk/gtkPackageRpm.cmake
Changed
@@ -10,13 +10,19 @@ ELSE (X86_64_SUPPORTED) SET(CPACK_RPM_PACKAGE_ARCHITECTURE "i386") ENDIF (X86_64_SUPPORTED) -# Mandatory +# Mandatory +SET(CPACK_RPM_PACKAGE_VERSION "${AVIDEMUX_VERSION}") +SET(CPACK_RPM_PACKAGE_RELEASE "1.r${ADM_SUBVERSION}.bootstrap") +SET(CPACK_RPM_PACKAGE_LICENSE "GPLv2+") SET(CPACK_RPM_PACKAGE_VENDOR "mean") SET(CPACK_RPM_PACKAGE_DESCRIPTION "Simple video editor,main program gtk version ") -# Some more infos -# -SET(CPACK_PACKAGE_NAME "avidemux3-gtk") -# -SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") +SET(CPACK_RPM_PACKAGE_GROUP "Applications/Multimedia") +# Some more infos +SET(CPACK_RPM_PACKAGE_SUMMARY "GTK interface for avidemux") +SET(CPACK_RPM_PACKAGE_URL "http://www.avidemux.org") +SET(CPACK_RPM_PACKAGE_REQUIRES "avidemux3-core%{?_isa} >= ${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}") +SET(CPACK_RPM_PACKAGE_PROVIDES "avidemux3-gui = ${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}") + +SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") include(CPack)
View file
avidemux_2.6.6.tar.gz/avidemux/qt4/ADM_jobs/src/CMakeLists.txt -> avidemux_2.6.7.tar.gz/avidemux/qt4/ADM_jobs/src/CMakeLists.txt
Changed
@@ -91,6 +91,8 @@ TARGET_LINK_LIBRARIES(avidemux3_jobs ADM_coreUtils6) TARGET_LINK_LIBRARIES(avidemux3_jobs ADM_core6) # +target_link_libraries(avidemux3_jobs "-lm -lstdc++") +# #
View file
avidemux_2.6.6.tar.gz/avidemux/qt4/CMakeLists.txt -> avidemux_2.6.7.tar.gz/avidemux/qt4/CMakeLists.txt
Changed
@@ -191,6 +191,8 @@ TARGET_LINK_LIBRARIES(avidemux3_qt4 ADM_core6) TARGET_LINK_LIBRARIES(avidemux3_qt4 ADM_core6) endif(CROSS) + +target_link_libraries(avidemux3_qt4 "-lm -lstdc++") # # i18n #
View file
avidemux_2.6.6.tar.gz/avidemux/qt4/qt4PackageRpm.cmake -> avidemux_2.6.7.tar.gz/avidemux/qt4/qt4PackageRpm.cmake
Changed
@@ -11,13 +11,18 @@ SET(CPACK_RPM_PACKAGE_ARCHITECTURE "i386") ENDIF (X86_64_SUPPORTED) # Mandatory +SET(CPACK_RPM_PACKAGE_VERSION "${AVIDEMUX_VERSION}") +SET(CPACK_RPM_PACKAGE_RELEASE "1.r${ADM_SUBVERSION}.bootstrap") +SET(CPACK_RPM_PACKAGE_LICENSE "GPLv2+") +SET(CPACK_RPM_PACKAGE_GROUP "Applications/Multimedia") SET(CPACK_RPM_PACKAGE_VENDOR "mean") SET(CPACK_RPM_PACKAGE_DESCRIPTION "Simple video editor,main program qt4 version ") # Some more infos +SET(CPACK_RPM_PACKAGE_SUMMARY "Qt interface for avidemux") +SET(CPACK_RPM_PACKAGE_PROVIDES "avidemux3-gui = ${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}") +SET(CPACK_RPM_PACKAGE_REQUIRES "avidemux3-core%{?_isa} >= ${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}") # -SET(CPACK_PACKAGE_NAME "avidemux3-qt4") -# -SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") +SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") include(CPack)
View file
avidemux_2.6.6.tar.gz/avidemux/winInstaller/Build Info.txt -> avidemux_2.6.7.tar.gz/avidemux/winInstaller/Build Info.txt
Changed
@@ -1,4 +1,4 @@ -Avidemux 2.6.4 +Avidemux 2.6.7 ----------------------- Built using GCC 4.8.1 Packaged with NSIS 2.46.
View file
avidemux_2.6.6.tar.gz/avidemux/winInstaller/Change Log.html -> avidemux_2.6.7.tar.gz/avidemux/winInstaller/Change Log.html
Changed
@@ -51,7 +51,19 @@ <body> <div id="inner"> <h1>What's New in Avidemux</h1> -<h2>2.6.6</h2> +<h2>2.6.7</h2> + <ul> + <li>Windows : Better management of non ascii filename with x264</li> + <li>Images : Better support for bmp and jpeg</li> + <li>Auto : Fixed PSP auto script (LJ)</li> + <li>Packages: Better RPM generation (mit)</li> + <li>Audio : Correct handling of 8Bits PCM in mp4/mov</li> + <li>Build : Support for cmake 2.8.12 (2.8.13) (ajschult)</li> + <li>mkv : Fixed seeking in mkv/h264</li> + <li>TS/Audio: Extend support for SBR in AAC/LATM</li> + <li>TS/H264 : Split at NALU boundaries, sometimes it was off by one byte</li> + </ul> + <h2>2.6.6</h2> <ul> <li>Windows : Fixed mp4 muxer </li> <li>Windows : Patched x264 to use utf8</li>
View file
avidemux_2.6.6.tar.gz/avidemux/winInstaller/What's New.html -> avidemux_2.6.7.tar.gz/avidemux/winInstaller/What's New.html
Changed
@@ -52,11 +52,15 @@ <div id="inner"> <h1>What's New in Avidemux</h1> <ul> - <li>Windows : Fixed mp4 muxer </li> - <li>Windows : Patched x264 to use utf8</li> - <li>Mov : Fixed PCM/LPCM audio track management</li> - <li>Bumped x264 preset to v2 to make sure invalid qmax/qmin presets were not used any longer</li> - <li>Languages support for audio tracks</li> + <li>Windows : Better management of non ascii filename with x264</li> + <li>Images : Better support for bmp and jpeg</li> + <li>Auto : Fixed PSP auto script (LJ)</li> + <li>Packages: Better RPM generation (mit)</li> + <li>Audio : Correct handling of 8Bits PCM in mp4/mov</li> + <li>Build : Support for cmake 2.8.12 (2.8.13) (ajschult)</li> + <li>mkv : Fixed seeking in mkv/h264</li> + <li>TS/Audio: Extend support for SBR in AAC/LATM</li> + <li>TS/H264 : Split at NALU boundaries, sometimes it was off by one byte</li> </ul> <br /> </div>
View file
avidemux_2.6.6.tar.gz/avidemux/winInstaller/avidemux_cross.nsi -> avidemux_2.6.7.tar.gz/avidemux/winInstaller/avidemux_cross.nsi
Changed
@@ -33,7 +33,7 @@ !define EXEDIR "${NSIDIR}/install" !define CORE_VERSION "2.6" -!define POINT_RELEASE "6" +!define POINT_RELEASE "7" !define PRODUCT_VERSION "${CORE_VERSION}.${POINT_RELEASE}.${SVN_VERSION}" !define PRODUCT_NAME "Avidemux ${CORE_VERSION}" !define PRODUCT_FULLNAME "Avidemux ${PRODUCT_VERSION} (${BUILD_BITS}-bit Release)"
View file
avidemux_2.6.6.tar.gz/avidemux/winInstaller/avidemux_cross64.nsi -> avidemux_2.6.7.tar.gz/avidemux/winInstaller/avidemux_cross64.nsi
Changed
@@ -31,7 +31,7 @@ !define EXEDIR "${NSIDIR}/install" !define CORE_VERSION "2.6" -!define POINT_RELEASE "6" +!define POINT_RELEASE "7" !define PRODUCT_VERSION "${CORE_VERSION}.${POINT_RELEASE}.${SVN_VERSION}" !define PRODUCT_NAME "Avidemux ${CORE_VERSION} - 64bits" !define PRODUCT_FULLNAME "Avidemux ${PRODUCT_VERSION} (${BUILD_BITS}-bit Release)"
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_core/include/ADM_mangle.h -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_core/include/ADM_mangle.h
Changed
@@ -75,7 +75,10 @@ #define REG_d "edx" #define REG_S "esi" #define REG_D "edi" -#define REG_SP "esp" +#if defined(__sun__) && defined(REG_SP) +#undef REG_SP +#endif /* : defined(__sun__) */ +#define REG_SP "esp" #define REGSP esp #define REG_BP "ebp" #endif
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_core/include/ADM_ptrQueue.h -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_core/include/ADM_ptrQueue.h
Changed
@@ -47,6 +47,18 @@ ADM_assert(!tail); return 1; } + bool clear() + { + queueElem *elem=head; + while(elem) + { + queueElem *c=elem; + elem=elem->next; + delete c; + } + head=tail=NULL; + return true; + } bool push(T *data) { queueElem *elem=new queueElem; @@ -87,6 +99,35 @@ delete tmp; return r; } + T *popBack() + { + queueElem *h; + T *r; + if(isEmpty()) return NULL; + ADM_assert(head); + ADM_assert(tail); + + r=(T *)tail->data; + + if(head==tail) // only one element.. + { + delete tail; + head=tail=NULL; + return r; + } + + h=head; + while(h->next!=tail) + { + h=h->next; + ADM_assert(h); + } + // h is now the one before the last + h->next=NULL; + delete tail; + tail=h; + return r; + } };
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_core/src/ADM_cpuCap.cpp -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_core/src/ADM_cpuCap.cpp
Changed
@@ -161,6 +161,8 @@ np = 1; return np; +#elif defined(__sun__) + return sysconf( _SC_NPROCESSORS_ONLN ); #elif defined(__unix__) && !defined(__CYGWIN__) unsigned int bit; int np;
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp
Changed
@@ -21,7 +21,18 @@ #include <unistd.h> #include <cxxabi.h> #include <signal.h> +#if defined(__sun__) +#include <dlfcn.h> +#include <strings.h> +#include <ucontext.h> +#include <sys/stack.h> +#ifdef _LP64 +#define _ELF64 +#endif +#include <sys/machelf.h> +#else #include <execinfo.h> +#endif #include "ADM_default.h" @@ -54,15 +65,102 @@ void sig_segfault_handler(int signo) { static int running=0; - if(running) + if(running) { signo=0; exit(1); } - running=0; + running=0; ADM_backTrack("Segfault",0,"??"); } +#if defined(__sun__) +static const int maxSize = 2048; + +static void addr2sym(void* pc, char* buffer, int size) +{ + Dl_info info; + Sym* sym = (Sym*)0; + static size_t dsize = maxSize - 1; + static char demangled[maxSize]; + int dstatus = 0; + + if (dladdr1(pc, &info, (void**)&sym, RTLD_DL_SYMENT) == 0) + { + snprintf(buffer, size, "[0x%p]", pc); + } + + if ((info.dli_fname != NULL && info.dli_sname != NULL) && + (((uintptr_t)pc - (uintptr_t)info.dli_saddr) < sym->st_size)) + { + __cxxabiv1::__cxa_demangle(info.dli_sname,demangled,&dsize,&dstatus); + snprintf(buffer, size, "%s'%s+0x%x [0x%p]", + info.dli_fname, + demangled, + (unsigned long)pc - (unsigned long)info.dli_saddr, + pc); + } + else + { + snprintf(buffer, size, "%s'0x%p [0x%p]", + info.dli_fname, + (unsigned long)pc - (unsigned long)info.dli_fbase, + pc); + } + + return; +} + +static void printFrame(int fd, const char* format, ...) +{ + va_list ap; + static char buffer[maxSize]; + + va_start(ap, format); + (void)vsnprintf(buffer, sizeof (buffer), format, ap); + va_end(ap); + + (void)write(fd, buffer, strlen(buffer)); +} + +static int printStack(uintptr_t pc, int signo, void *arg) +{ + + static char buffer[maxSize]; + char sigbuf[SIG2STR_MAX]; + + + int filenum = (intptr_t)arg; + + addr2sym((void *)pc, buffer, sizeof (buffer)); + + if (signo) { + sigbuf[0] = '?'; + sigbuf[1] = 0; + + (void) sig2str(signo, sigbuf); + + printFrame(filenum, "%s [Signal %d (%s)]\n", + buffer, (ulong_t)signo, sigbuf); + } else + printFrame(filenum, "%s\n", buffer); + + return (0); +} + +static int backtrace(int fd) +{ + int rc = -1; + ucontext_t u; + + if (getcontext(&u) >= 0) + { + rc = walkcontext(&u, printStack, (void*)(intptr_t)fd); + } + return(rc); +} +#endif /* : defined(__sun__) */ + void ADM_backTrack(const char *info,int lineno,const char *file) { if(mysaveFunction) @@ -70,23 +168,27 @@ #if !defined(__HAIKU__) char wholeStuff[2048]; +#if !defined(__sun__) char buffer[4096]; char in[2048]; void *stack[20]; char **functions; int count, i; - +#endif wholeStuff[0]=0; printf("\n*********** BACKTRACK **************\n"); +#if !defined(__sun__) count = backtrace(stack, 20); functions = backtrace_symbols(stack, count); +#endif sprintf(wholeStuff,"%s\n at line %d, file %s",info,lineno,file); +#if !defined(__sun__) int status; size_t size=2047; // it looks like that xxxx (functionName+0x***) XXXX - for (i=0; i < count; i++) + for (i=0; i < count; i++) { char *s=strstr(functions[i],"("); buffer[0]=0; @@ -94,16 +196,18 @@ { strcpy(in,s+1); char *e=strstr(in,"+"); - *e=0; + *e=0; __cxxabiv1::__cxa_demangle(in,buffer,&size,&status); if(status) strcpy(buffer,in); - }else + }else strcpy(buffer,functions[i]); printf("%s:%d:<%s>:%d\n",functions[i],i,buffer,status); strcat(wholeStuff,buffer); strcat(wholeStuff,"\n"); } - +#else + backtrace(fileno(stdout)); +#endif printf("*********** BACKTRACK **************\n"); if(myFatalFunction)
View file
avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreAudio/include/ADM_audioClock.h
Added
@@ -0,0 +1,30 @@ +/** + * + * + * + * + */ +#ifndef ADM_audioClock_H +#define ADM_audioClock_H + +#include "ADM_coreAudio6_export.h" + +class ADM_COREAUDIO6_EXPORT audioClock +{ + protected: + uint32_t _frequency; + uint64_t _nbSamples; + uint64_t _baseClock; + + public: + audioClock(uint32_t fq); + bool advanceBySample(uint32_t samples); + uint64_t getTimeUs(void); + bool setTimeUs(uint64_t clk); + + + +}; + + +#endif
View file
avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioClock.cpp
Changed
(renamed from avidemux_core/ADM_coreMuxer/src/ADM_audioClock.cpp)
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioStreamPCM.cpp -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioStreamPCM.cpp
Changed
@@ -5,7 +5,7 @@ */ #include "ADM_default.h" #include "ADM_audioStreamPCM.h" - +#include "ADM_vidMisc.h" /** \fn ADM_audioStreamAC3 \brief constructor @@ -58,12 +58,16 @@ { uint64_t thisDts=0; if(!access->getPacket(obuffer,osize,sizeMax,&thisDts)) return 0; - uint32_t bytesPerSample=wavHeader.channels*2; + + int sampleSize=2; + if(wavHeader.bitspersample==8) sampleSize=1; + uint32_t bytesPerSample=wavHeader.channels*sampleSize; //#warning fixme handle mono *nbSample=(uint32_t)(*osize/bytesPerSample); if(thisDts!=ADM_NO_PTS) setDts(thisDts); *dts=lastDts; +// printf(">>audioCore : PCM packet : %s\n",ADM_us2plain(*dts)); advanceDtsBySample(*nbSample); return 1; }
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreAudio/src/CMakeLists.txt -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreAudio/src/CMakeLists.txt
Changed
@@ -13,6 +13,7 @@ ADM_audioWriteWav.cpp ADM_audioIdentify.cpp ADM_audioAccessFile.cpp +ADM_audioClock.cpp ) add_compiler_export_flags()
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreAudioParser/include/ADM_aacLatm.h -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreAudioParser/include/ADM_aacLatm.h
Changed
@@ -26,6 +26,7 @@ #include "ADM_getbits.h" #include "ADM_byteBuffer.h" #include <list> +#include "ADM_ptrQueue.h" /** \class ADM_latm2aac */ @@ -64,8 +65,8 @@ { private: latmBuffer buffers[LATM_NB_BUFFERS]; - std::list <latmBuffer *> listOfFreeBuffers; - std::list <latmBuffer *> listOfUsedBuffers; + ADM_ptrQueue <latmBuffer > listOfFreeBuffers; + ADM_ptrQueue <latmBuffer > listOfUsedBuffers; uint32_t extraLen; uint8_t extraData[AAC_LATM_MAX_EXTRA]; uint32_t fq,channels;
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_aacLatm.cpp -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_aacLatm.cpp
Changed
@@ -2,6 +2,8 @@ \file ADM_aacLatm.cpp \brief Extract aac packet from LOAS/LATM stream Derived from vlc code, seel ADM_aacLatm.h for vlc (c) + * + * http://www.nhzjj.com/asp/admin/editor/newsfile/2010318163752818.pdf ***************************************************************************/ /*************************************************************************** @@ -81,7 +83,7 @@ /** */ -static int LatmGetValue( getBits bits ) +static int LatmGetValue( getBits &bits ) { int i_bytes = bits.get( 2 ); int v = 0; @@ -118,32 +120,43 @@ } int channelConfiguration=bits.get(4); channels=aacChannels[channelConfiguration]; - + xdebug("Fq=%d, channel=%d\n",fq,channelConfiguration); xdebug("ObjectType=%d\n",audioObjectType); - + if(audioObjectType==5) // SBR + { + int extendedSamplingFrequencyIndex=bits.get(4); + xdebug("SBR audio freq=%d\n",aacSampleRate[extendedSamplingFrequencyIndex]); + + audioObjectType=read31plus(bits); // 5 bits + xdebug("New object type=%d\n",audioObjectType); + } + //17 switch(audioObjectType) { case 2: // GASpecificConfig { - bits.get(1); // frameLength - bool dependsOnCoreCoder=bits.get(1); - if(dependsOnCoreCoder) bits.skip(14); - bool extensionFlag=bits.get(1); - if(!channelConfiguration) - { - ADM_error("No channel configuraiton\n"); - return false; - } - if(extensionFlag) - { - ADM_error("Extension flag\n"); - return false; - } + int frameLengthFlags=bits.get(1); // frameLength + bool dependsOnCoreCoder=bits.get(1); + xdebug("FrameLengthFlags=%d\n",frameLengthFlags); + xdebug("dependsOnCoreCoder=%d\n",dependsOnCoreCoder); + if(dependsOnCoreCoder) bits.skip(14); // coreCoderDelay + bool extensionFlag=bits.get(1); //23 + if(!channelConfiguration) + { + ADM_error("No channel configuraiton\n"); + return false; + } + if(extensionFlag) + { + ADM_warning("Extension flag\n"); + //bits.get(1); // extensionFlag3 + return false; + } } break; default: - ADM_error("AudoObjecttype =%d not handled\n",audioObjectType); + ADM_error("AudioObjecttype =%d not handled\n",audioObjectType); return false; } consumed=bits.getConsumedBits()-consumed; @@ -169,8 +182,11 @@ } #endif - xdebug("Got %d extraData %x %x\n",extraLen,extraData[0],extraData[1]); - xdebug("Frequency %d, channels %d\n",fq,channels); + + xdebug("Got %d extraData \n",extraLen); + for(int i=0;i<extraLen;i++) + xdebug(" %02x",extraData[i]); + xdebug(" \nFrequency %d, channels %d\n",fq,channels); conf.gotConfig=true; return true; @@ -217,13 +233,12 @@ } // try to get a buffer... - if(!listOfFreeBuffers.size()) + if(listOfFreeBuffers.isEmpty()) { ADM_error("No free buffer!\n"); return false; } - latmBuffer *b=listOfFreeBuffers.back(); - listOfFreeBuffers.pop_back(); + latmBuffer *b=listOfFreeBuffers.popBack(); b->dts=dts; for(int i=0;i<size;i++) { @@ -231,9 +246,9 @@ } b->bufferLen=size; if(!conf.gotConfig) - listOfFreeBuffers.push_back(b); + listOfFreeBuffers.pushBack(b); else - listOfUsedBuffers.push_back(b); + listOfUsedBuffers.pushBack(b); return true; }else { @@ -367,7 +382,10 @@ if( !bits.get(1) ) // use SameStreamMux { - if(false==readStreamMuxConfig(bits)) return false; + if(false==readStreamMuxConfig(bits)) + { + return false; + } } // streamMuxConfig // if(!numSubFrames) return false; if(conf.audioMuxVersionA==0) @@ -411,7 +429,7 @@ while(start<end) { int key=(start[0]<<8)+start[1]; - if((key & 0xffe0)!=0x56e0) + if((key & 0xffe0)!=0x56e0) // 0x2b7 shifted by one bit { ADM_warning("Sync lost\n"); return true; @@ -429,7 +447,7 @@ // LATM demux start+=len; } - xdebug("-- end of this LOAS frame --\n"); + xdebug("-- end of this LATM frame --\n"); return true; } /** @@ -444,7 +462,7 @@ memset(&conf,0,sizeof(conf)); conf.gotConfig=false; for(int i=0;i<LATM_NB_BUFFERS;i++) - listOfFreeBuffers.push_back(&(buffers[i])); + listOfFreeBuffers.pushBack(&(buffers[i])); } /** \fn dtor @@ -460,9 +478,10 @@ */ bool ADM_latm2aac::empty() { - if(listOfUsedBuffers.size()==0) return true; + if(listOfUsedBuffers.isEmpty()) return true; return false; } + /** \fn flush \brief flush packet queue. Must be called when seeking @@ -472,7 +491,7 @@ listOfFreeBuffers.clear(); listOfUsedBuffers.clear(); for(int i=0;i<LATM_NB_BUFFERS;i++) - listOfFreeBuffers.push_back(&(buffers[i])); + listOfFreeBuffers.pushBack(&(buffers[i])); return true; } /** @@ -482,10 +501,9 @@ bool ADM_latm2aac::getData(uint64_t *time,uint32_t *len, uint8_t *data, uint32_t maxSize) { if(empty()) return false; - xdebug("%d slogs in latm buffers\n",listOfUsedBuffers.size()); - latmBuffer *b=listOfUsedBuffers.front(); - listOfUsedBuffers.pop_front(); - listOfFreeBuffers.push_back(b); +// xdebug("%d slogs in latm buffers\n",listOfUsedBuffers.size()); + latmBuffer *b=listOfUsedBuffers.pop(); + listOfFreeBuffers.pushBack(b); if(b->bufferLen>maxSize) { ADM_warning("Buffer too small\n");
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreDemuxer/include/ADM_Video.h -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreDemuxer/include/ADM_Video.h
Changed
@@ -81,7 +81,7 @@ virtual uint8_t close(void)=0; virtual uint64_t frameToUs(uint32_t frame) { - float f=frame; + double f=frame; f*=_videostream.dwScale; f/=_videostream.dwRate; f*=1000000.;
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreMuxer/src/CMakeLists.txt -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreMuxer/src/CMakeLists.txt
Changed
@@ -2,7 +2,6 @@ SET(ADMcoreMuxer_SRCS ADM_dynaMuxer.cpp ADM_muxerUtils.cpp -ADM_audioClock.cpp ADM_coreMuxerFfmpeg.cpp )
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractor.cpp -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractor.cpp
Changed
@@ -360,16 +360,15 @@ case 0: voptype = AVI_KEY_FRAME; break; - case 1: + case 1: // P + case 3: // S voptype = 0; break; case 2: voptype = AVI_B_FRAME; break; - case 3: - printf ("[Avi] Glouglou\n"); - voptype = 0; - break; + default: + ADM_warning("Unknown vop type\n"); } vop[*nb].offset = globalOff + off - 4;
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractorH264.cpp -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractorH264.cpp
Changed
@@ -472,6 +472,8 @@ uint32_t length =(head[0] << 24) + (head[1] << 16) + (head[2] << 8) + (head[3]); if(length>len) nalSize=3; } + uint32_t recovery=0xff; + *flags=0; while (head + nalSize < tail) { @@ -486,7 +488,7 @@ } head += nalSize; // Skip nal lenth stream = *(head) & 0x1F; - uint32_t recovery; + switch (stream) {
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreVideoEncoder/include/ADM_coreVideoEncoderFFmpeg.h -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreVideoEncoder/include/ADM_coreVideoEncoderFFmpeg.h
Changed
@@ -45,7 +45,7 @@ int pass; // Pass number = 1 or 2, valid only if we use 2 pass mode bool _isMT; // True if multithreaded bool _globalHeader; - float timeScaler; + double timeScaler; protected:
View file
avidemux_2.6.6.tar.gz/avidemux_core/ADM_coreVideoEncoder/src/ADM_coreVideoEncoderFFmpeg.cpp -> avidemux_2.6.7.tar.gz/avidemux_core/ADM_coreVideoEncoder/src/ADM_coreVideoEncoderFFmpeg.cpp
Changed
@@ -166,7 +166,15 @@ */ int64_t ADM_coreVideoEncoderFFmpeg::timingToLav(uint64_t val) { - int64_t v= floor( ((float)val+timeScaler/2.) /timeScaler); + double q=(double)val; + q+=timeScaler/(double)2.; + q/=timeScaler; + + int64_t v=floor(q); +#if 0 + printf("Lav in=%d, scale=%lf,",(int)val,timeScaler); + printf(" q=%lf,out PTS=%lld\n",q,v); +#endif return v; } /**
View file
avidemux_2.6.6.tar.gz/avidemux_core/corePackageRpm.cmake -> avidemux_2.6.7.tar.gz/avidemux_core/corePackageRpm.cmake
Changed
@@ -8,21 +8,21 @@ IF (X86_64_SUPPORTED) SET(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64") ELSE (X86_64_SUPPORTED) -SET(CPACK_RPM_PACKAGE_ARCHITECTURE "i686") +SET(CPACK_RPM_PACKAGE_ARCHITECTURE "i386") ENDIF (X86_64_SUPPORTED) # Mandatory -SET(CPACK_RPM_PACKAGE_VENDOR "mean") -SET(CPACK_RPM_PACKAGE_DESCRIPTION "Simple video editor,core libraries") +SET(CPACK_RPM_PACKAGE_VERSION "${AVIDEMUX_VERSION}") +SET(CPACK_RPM_PACKAGE_RELEASE "1.r${ADM_SUBVERSION}.bootstrap") -# Some more infos -SET(CPACK_PACKAGE_VERSION_MAJOR "2") -SET(CPACK_PACKAGE_VERSION_MINOR "6") -SET(CPACK_PACKAGE_VERSION_PATCH "0") +SET(CPACK_RPM_PACKAGE_LICENSE "GPLv2+") +SET(CPACK_RPM_PACKAGE_GROUP "Development/Libraries") +SET(CPACK_RPM_PACKAGE_VENDOR "mean") +SET(CPACK_RPM_PACKAGE_DESCRIPTION "Simple video editor,core libraries and development files.") -SET(CPACK_PACKAGE_VERSION_PATCH "0_r${ADM_SUBVERSION}") -# -SET(CPACK_PACKAGE_NAME "avidemux3-core") +SET(CPACK_RPM_PACKAGE_SUMMARY "Graphical video editing and transcoding tool and its development files.") +SET(CPACK_RPM_PACKAGE_URL "http://www.avidemux.org") +SET(CPACK_RPM_PACKAGE_PROVIDES "avidemux3 = ${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}") # -SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") +SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") include(CPack)
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_autoScrips/PSP.py -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_autoScrips/PSP.py
Changed
@@ -6,7 +6,7 @@ import ADM_imageInfo import ADM_image finalSizeWidth=480 # Start with DVD target, we'll adjust later -finalSizeHeight=[272] +finalSizeHeight=[272,272,272] # # adm=Avidemux() @@ -62,17 +62,18 @@ ################################## # Video ################################## -adm.videoCodec("x264", "general.params=CBR=1000", "general.threads=99", "general.fast_first_pass=True", "level=30", "vui.sar_height=1", "vui.sar_width=1", -"MaxRefFrames=2", "MinIdr=0", "MaxIdr=250", "i_scenecut_threshold=40", "MaxBFrame=2", "i_bframe_adaptive=0", -"i_bframe_bias=0", "i_bframe_pyramid=0", "b_deblocking_filter=False", "i_deblocking_filter_alphac0=0", "i_deblocking_filter_beta=0", "cabac=True", -"interlaced=False", "analyze.b_8x8=False", "analyze.b_i4x4=True" , "analyze.b_i8x8=False", "analyze.b_p8x8=True", "analyze.b_p16x16=False", -"analyze.b_b16x16=False", "analyze.weighted_pred=2", "analyze.weighted_bipred=True", "analyze.direct_mv_pred=3", -"analyze.chroma_offset=0", "analyze.me_method=0", "analyze.mv_range=16", "analyze.subpel_refine=7", "analyze.chroma_me=True", "analyze.mixed_references=True", -"analyze.trellis=1", "analyze.psy_rd=0.000000", "analyze.psy_trellis=0.000000", "analyze.fast_pskip=True", "analyze.dct_decimate=True", -"analyze.noise_reduction=0", "analyze.psy=True" , "analyze.intra_luma=21", "analyze.inter_luma=21", "ratecontrol.rc_method=0", -"ratecontrol.qp_constant=0", "ratecontrol.qp_min=0", "ratecontrol.qp_max=0", "ratecontrol.qp_step=0", "ratecontrol.bitrate=0", "ratecontrol.vbv_max_bitrate=0", -"ratecontrol.vbv_buffer_size=0", "ratecontrol.vbv_buffer_init=0", "ratecontrol.ip_factor=0.000000", "ratecontrol.pb_factor=0.000000", "ratecontrol.aq_mode=1", +adm.videoCodec("x264", "general.params=CBR=500", "general.threads=99", "general.fast_first_pass=True", "level=30", "vui.sar_height=1", "vui.sar_width=1", +"MaxRefFrames=2", "MinIdr=0", "MaxIdr=250", "i_scenecut_threshold=40", "intra_refresh=False", "MaxBFrame=2", "i_bframe_adaptive=0", +"i_bframe_bias=0", "i_bframe_pyramid=0", "b_deblocking_filter=False", "i_deblocking_filter_alphac0=0", "i_deblocking_filter_beta=0", "cabac=True", +"interlaced=False", "constrained_intra=False", "tff=True", "fake_interlaced=False", "analyze.b_8x8=False", "analyze.b_i4x4=True", "analyze.b_i8x8=False", "analyze.b_p8x8=True", "analyze.b_p16x16=False", +"analyze.b_b16x16=False", "analyze.weighted_pred=2", "analyze.weighted_bipred=True", "analyze.direct_mv_pred=3", +"analyze.chroma_offset=0", "analyze.me_method=0", "analyze.me_range=16", "analyze.mv_range=-1", "analyze.mv_range_thread=-1", "analyze.subpel_refine=7", "analyze.chroma_me=True", "analyze.mixed_references=True", +"analyze.trellis=1", "analyze.psy_rd=1.000000", "analyze.psy_trellis=0.000000", "analyze.fast_pskip=True", "analyze.dct_decimate=True", +"analyze.noise_reduction=0", "analyze.psy=True", "analyze.intra_luma=11", "analyze.inter_luma=21", "ratecontrol.rc_method=0", +"ratecontrol.qp_constant=0", "ratecontrol.qp_min=0", "ratecontrol.qp_max=32", "ratecontrol.qp_step=4", "ratecontrol.bitrate=0", "ratecontrol.rate_tolerance=1.000000", "ratecontrol.vbv_max_bitrate=0", +"ratecontrol.vbv_buffer_size=0", "ratecontrol.vbv_buffer_init=0", "ratecontrol.ip_factor=1.000000", "ratecontrol.pb_factor=1.000000", "ratecontrol.aq_mode=1", "ratecontrol.aq_strength=1.000000", "ratecontrol.mb_tree=True", "ratecontrol.lookahead=40") + ################################### # Container = Mpeg PS/DVD ###################################
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_autoScrips/dvd.py -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_autoScrips/dvd.py
Changed
@@ -9,7 +9,7 @@ adm=Avidemux() gui=Gui() finalSizeWidth=720 -finalSizeHeight=[ 480,576] +finalSizeHeight=[ 480,576,480] # # MP2=80
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_autoScrips/svcd.py -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_autoScrips/svcd.py
Changed
@@ -6,7 +6,7 @@ import ADM_imageInfo import ADM_image finalSizeWidth=720 # Start with DVD target, we'll adjust later -finalSizeHeight=[ 480,576] +finalSizeHeight=[ 480,576,480] # adm=Avidemux() gui=Gui()
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_autoScrips/vcd.py -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_autoScrips/vcd.py
Changed
@@ -9,7 +9,7 @@ adm=Avidemux() gui=Gui() finalSizeWidth=352 -finalSizeHeight=[ 240,288] +finalSizeHeight=[ 240,288,240] # MP2=80 supported=[MP2]
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp
Changed
@@ -226,6 +226,7 @@ _reordered=0; _videoScale=1; _videoFound=0; + delayRelativeToVideo=0; } /** \fn getAudioInfo @@ -447,6 +448,10 @@ Now build audio tracks */ if(nbAudioTrack) _isaudiopresent=1; // Still needed ? + + adjustElstDelay(); + + // for(int audio=0;audio<nbAudioTrack;audio++) { switch(_tracks[1+audio]._rdWav.encoding) @@ -511,6 +516,23 @@ return 1; } /** + * \fn adjustElstDelay + * @return + */ +bool MP4Header::adjustElstDelay() +{ + if(this->delayRelativeToVideo) + { + ADM_info("Compensating for a/v delay\n"); + shiftAudioTimeBy(this->delayRelativeToVideo); + } + return true; + +} + + + +/** * \fn shiftTimeBy * \brief increase pts by shift, fix some mp4 where dts is too low * @param shift @@ -530,7 +552,13 @@ VDEO.index[i].pts=pts; } - for(int audioTrack=0;audioTrack<nbAudioTrack;audioTrack++) + shiftAudioTimeBy(shift); + return true; +} +bool MP4Header::shiftAudioTimeBy(uint64_t shift) +{ + int nb; + for(int audioTrack=0;audioTrack<nbAudioTrack;audioTrack++) { nb=(int)_tracks[1+audioTrack].nbIndex; for(int i=0;i<nb;i++) @@ -542,9 +570,8 @@ _tracks[audioTrack+1].index[i].dts=dts; } } - return true; - } + // // That tag are coded like this // Each 8 bits is in fact a 7 Bits part while b7=1
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.h -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.h
Changed
@@ -116,16 +116,19 @@ { protected: /*****************************/ + uint64_t delayRelativeToVideo; uint8_t lookupMainAtoms(void *tom); void parseMvhd(void *tom); uint8_t parseTrack(void *ztom); + uint8_t parseElst(void *tom,uint32_t trackType); uint8_t decodeVideoAtom(void *ztom); uint8_t parseMdia(void *ztom,uint32_t *trackType,uint32_t w, uint32_t h); - uint8_t parseEdts(void *ztom); + uint8_t parseEdts(void *ztom,uint32_t trackType); uint8_t parseStbl(void *ztom,uint32_t trackType,uint32_t w,uint32_t h,uint32_t trackScale); uint8_t decodeEsds(void *ztom,uint32_t trackType); uint8_t updateCtts(MPsampleinfo *info ); bool refineFps(void); + bool adjustElstDelay(void); uint32_t _videoScale; int64_t _movieDuration; // in ms uint32_t _videoFound; @@ -151,6 +154,7 @@ uint32_t nbAudioTrack; bool refineAudio(WAVHeader *head,uint32_t extraLen, uint8_t *extra); bool shiftTimeBy(uint64_t shift); + bool shiftAudioTimeBy(uint64_t shift); /*********************************/ uint32_t readPackedLen(adm_atom *tom );
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp
Changed
@@ -228,7 +228,7 @@ case ADM_MP4_EDTS: { ADM_info("EDTS atom found\n"); - parseEdts(&son); + parseEdts(&son,trackType); break; } default: @@ -367,12 +367,47 @@ } return r; } - +/** + * \fn parseElst + * \brief Parse edit list atom. We manage only one case : when video does not start at + * 0, we delay all others tracks by the amount indicated + * @param tom + * @return + */ +uint8_t MP4Header::parseElst(void *ztom,uint32_t trackType) +{ + uint32_t editDuration; + uint32_t mediaTime; + uint32_t playbackSpeed; + adm_atom *tom=(adm_atom *)ztom; + tom->skipBytes(4); + uint32_t nb=tom->read32(); + ADM_info("Found %"PRIu32" entries in list:\n",nb); + for(int i=0;i<nb;i++) + { + editDuration=tom->read32(); + mediaTime=tom->read32(); + playbackSpeed=tom->read32(); + ADM_info("Duration : %"PRIu32", mediaTime:%"PRIu32" speed=%"PRIu32"\n",editDuration,mediaTime,playbackSpeed); + } + if(trackType==TRACK_VIDEO && nb==1 && mediaTime>0 && _videoScale ) + { + ADM_info("** Audio Tracks need to be delayed , %d vs trackscale %d \n",(int)mediaTime,(int)_videoScale); + double d=mediaTime; + d/=_videoScale; + d*=1000000.; + delayRelativeToVideo=(uint64_t)d; + ADM_info("** Computed delay =%s \n",ADM_us2plain(delayRelativeToVideo)); + + + } + return 1; +} /** \fn parseEdts \brief parse sample table. this is the most important function. */ -uint8_t MP4Header::parseEdts(void *ztom) +uint8_t MP4Header::parseEdts(void *ztom,uint32_t trackType) { adm_atom *tom=(adm_atom *)ztom; ADMAtoms id; @@ -393,16 +428,7 @@ case ADM_MP4_ELST: { ADM_info("ELST atom found\n"); - son.skipBytes(4); - uint32_t nb=son.read32(); - ADM_info("Found %"PRIu32" entries in list:\n",nb); - for(int i=0;i<nb;i++) - { - uint32_t editDuration=son.read32(); - uint32_t mediaTime=son.read32(); - uint32_t playbackSpeed=son.read32(); - ADM_info("Duration : %"PRIu32", mediaTime:%"PRIu32" speed=%"PRIu32"\n",editDuration,mediaTime,playbackSpeed); - } + parseElst(&son,trackType); son.skipAtom(); break;
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsAudio.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsAudio.cpp
Changed
@@ -48,7 +48,7 @@ ADM_info("Creating audio track, pid=%x, muxing =%d\n",pid,muxing); if(myLen && myExtra) { - extraData=new uint8_t [myLen]; + extraData=new uint8_t [myLen+16]; // guards again lavcodec overread extraDataLen=myLen; memcpy(extraData,myExtra,extraDataLen); ADM_info("Creating ts audio access with %d bytes of extradata.",myLen);
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsAudioProbe.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsAudioProbe.cpp
Changed
@@ -126,10 +126,10 @@ trackInfo->wav.channels=latm.getChannels(); trackInfo->wav.byterate=128000>>3; trackInfo->extraDataLen=eLen; - trackInfo->extraData[0]=eData[0]; - trackInfo->extraData[1]=eData[1]; + for(int i=0;i<eLen;i++) + trackInfo->extraData[i]=eData[i]; trackInfo->mux=ADM_TS_MUX_LATM; - ADM_info("AAC extra data : %02x %02x\n",eData[0],eData[1]); + ADM_info("AAC extra data (%d): %02x %02x\n",eLen,eData[0],eData[1]); return true; } // next packet @@ -162,9 +162,9 @@ return false; } trackInfo->extraDataLen=eLen; - trackInfo->extraData[0]=eData[0]; - trackInfo->extraData[1]=eData[1]; - ADM_info("AAC extra data : %02x %02x\n",eData[0],eData[1]); + for(int i=0;i<eLen;i++) + trackInfo->extraData[i]=eData[i]; + ADM_info("AAC extra data %d: %02x %02x\n",eLen,eData[0],eData[1]); trackInfo->wav.frequency=adts.getFrequency(); trackInfo->wav.channels=adts.getChannels(); trackInfo->wav.byterate=128000>>3;
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp
Changed
@@ -200,12 +200,17 @@ //****************** // 2 Index //****************** + bool fourBytes; while(1) { - int startCode=pkt->findStartCode(); + fourBytes=false; + int startCode=pkt->findStartCode2(fourBytes); resume: if(!pkt->stillOk()) break; + int startCodeLength=4; + if(fourBytes==true) startCodeLength++; + // 1:0 2:Nal ref idc 5:Nal Type if(startCode&0x80) { @@ -253,10 +258,12 @@ else printf("[SEI] Too short size+4=%d\n",*(SEI_nal.payload)); startCode=pkt->readi8(); + decodingImage=false; pkt->getInfo(&thisUnit.packetInfo); thisUnit.consumedSoFar=pkt->getConsumed(); - addUnit(data,unitTypeSei,thisUnit,5+SEI_nal.payloadSize+1); + addUnit(data,unitTypeSei,thisUnit,startCodeLength+SEI_nal.payloadSize+1); + fourBytes=true; goto resume; } break; @@ -266,11 +273,11 @@ pkt->getInfo(&thisUnit.packetInfo); if(firstSps) { - pkt->setConsumed(5); // reset consume counter + pkt->setConsumed(startCodeLength); // reset consume counter firstSps=false; } thisUnit.consumedSoFar=pkt->getConsumed(); - addUnit(data,unitTypeSps,thisUnit,5); + addUnit(data,unitTypeSps,thisUnit,startCodeLength); break; case NAL_IDR: @@ -319,7 +326,7 @@ pkt->getInfo(&thisUnit.packetInfo); thisUnit.consumedSoFar=pkt->getConsumed(); - addUnit(data,unitTypePic,thisUnit,5+NON_IDR_PRE_READ); + addUnit(data,unitTypePic,thisUnit,startCodeLength+NON_IDR_PRE_READ); // reset to default thisUnit.imageStructure=pictureFrame; thisUnit.recoveryCount=0xff;
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/dmxTSPacket.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/dmxTSPacket.cpp
Changed
@@ -881,6 +881,49 @@ return startCode; } /** + * \fn fourByteStartCode + * @param four + * @return + */ +int tsPacketLinearTracker::findStartCode2(bool &fourByteStartCode) +{ +#define likely(x) x +#define unlikely(x) x + unsigned int prev=0xfffff; + unsigned int last=0xfffff; + unsigned int cur=0xffff; + int startCode=0; + fourByteStartCode=false; + while(this->stillOk()) + { + prev=last; + last=cur; + cur=this->readi16(); + if(likely(last&0xff)) continue; + if(unlikely(!last)) // 00 00 , need 01 xx + { + if((cur>>8)==1) + { + startCode=cur&0xff; + if(!(prev&0xff)) + fourByteStartCode=true; + break; + } + } + if(unlikely(!(last&0xff))) // xx 00 need 00 01 + { + if(cur==1) + { + startCode=this->readi8(); + if(!(last>>8)) + fourByteStartCode=true; + break; + } + } + } + return startCode; +} +/** \fn ~tsPacketLinearTracker */ tsPacketLinearTracker::~tsPacketLinearTracker()
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/dmxTSPacket.h -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/dmxTSPacket.h
Changed
@@ -251,5 +251,6 @@ bool getStats(uint32_t *nb,packetTSStats **stats); virtual bool updateStats(uint8_t *data); int findStartCode(void); + int findStartCode2(bool &fourBytes); }; #endif
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/OpenDml/ADM_odml_audio.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/OpenDml/ADM_odml_audio.cpp
Changed
@@ -30,8 +30,8 @@ #include "ADM_openDML.h" #include "ADM_odml_audio.h" -//#include "ADM_audiocodec/ADM_audiocodec.h" #include "ADM_audioStream.h" +#include "ADM_audioClock.h" /** \fn ADM_aviAudioAccess @@ -54,31 +54,54 @@ length+=idx[i].size; if(idx[i].size>mx) mx=idx[i].size; } - if((hdr->encoding==WAV_PCM || hdr->encoding==WAV_LPCM)&& mx>ODML_MAX_AUDIO_CHUNK) + + + if((hdr->encoding==WAV_PCM || hdr->encoding==WAV_LPCM)) { - // Split the huge chunk into smaller ones - for(int i=0;i<nbChunk;i++) + // Number of samples in one chunk + int maxAllowed=ODML_MAX_AUDIO_CHUNK; + int bytePerSample=2; + if(hdr->bitspersample==8) bytePerSample=1; + int thirtyMs=(bytePerSample*hdr->channels*hdr->frequency)/40; // ~ 25 ms + if(thirtyMs<maxAllowed) maxAllowed=thirtyMs; + + maxAllowed/=(bytePerSample*hdr->channels); + maxAllowed*=(bytePerSample*hdr->channels); + + ADM_info("Checking that we dont have block larger than %d bytes, we have %d so far\n",maxAllowed,(int)mx); + if( mx>maxAllowed) { - uint64_t start=idx[i].offset; - uint32_t size=idx[i].size; - uint32_t ONE_CHUNK=(ODML_MAX_AUDIO_CHUNK)/(2*hdr->channels); - ONE_CHUNK*=2*hdr->channels; - while(size>ONE_CHUNK) + ADM_info("Splitting it...\n"); + // Split the huge chunk into smaller ones + audioClock clock(hdr->frequency); + uint64_t startAt=idx[0].dts; + if(startAt==ADM_NO_PTS) startAt=0; + + clock.setTimeUs(startAt); + for(int i=0;i<nbChunk;i++) { - odmlIndex current; - current.offset=start; - current.size=ONE_CHUNK; - current.dts=ADM_NO_PTS; - myIndex.append(current); - start+=ONE_CHUNK; - size-=ONE_CHUNK; + uint64_t start=idx[i].offset; + uint32_t size=idx[i].size; + uint32_t ONE_CHUNK=(maxAllowed); // already a multiple of 2*chan + while(size>ONE_CHUNK) + { + odmlIndex current; + current.offset=start; + current.size=ONE_CHUNK; + current.dts=clock.getTimeUs(); + myIndex.append(current); + start+=ONE_CHUNK; + size-=ONE_CHUNK; + clock.advanceBySample(ONE_CHUNK/(bytePerSample*hdr->channels)); + } + odmlIndex current; + current.offset=start; + current.size=size; + current.dts=clock.getTimeUs();; + myIndex.append(current); + clock.advanceBySample(size/(bytePerSample*hdr->channels)); } - odmlIndex current; - current.offset=start; - current.size=size; - current.dts=ADM_NO_PTS; - myIndex.append(current); - } + } }else { // Duplicate index as is
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp
Changed
@@ -39,7 +39,7 @@ #endif #define DEPACK_VERBOSE -#define MAX_VOP 10 +#define MAX_VOP 200 /* Static ones */
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_demuxers/Pictures/ADM_picPlugin.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_demuxers/Pictures/ADM_picPlugin.cpp
Changed
@@ -38,6 +38,18 @@ printf (" \n PNG file detected...\n"); return 100; } + if(magic==0xe0ffd8ff) + { + + printf (" \n JPG file detected...\n"); + return 100; + } + if((magic & 0xffff)==0x4d42) + { + + printf (" \n BMP file detected...\n"); + return 100; + } printf (" [picHeader] Cannot open that\n"); return 0;
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/ADM_pyAvidemux.h -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/ADM_pyAvidemux.h
Changed
@@ -13,15 +13,16 @@ * * ***************************************************************************/ -#ifndef ADM_PYAVIDEMUX_H -#define ADM_PYAVIDEMUX_H - -#include "IEditor.h" +#ifndef ADM_PYAVIDEMUX_H +#define ADM_PYAVIDEMUX_H + +#include "IEditor.h" /* Audio */ -int pyGetAudioChannels(IEditor *editor,int dex); -int pyGetAudioFrequency(IEditor *editor,int dex); -int pyGetAudioEncoding(IEditor *editor,int dex); +int pyGetAudioBitrate(IEditor *editor,int dex); +int pyGetAudioChannels(IEditor *editor,int dex); +int pyGetAudioFrequency(IEditor *editor,int dex); +int pyGetAudioEncoding(IEditor *editor,int dex); int pyAddAudioTrack(IEditor *editor, int poolindex); int pyAddExternal(IEditor *editor, const char *fileName); int pyClearAudioTracks(IEditor *editor); @@ -32,41 +33,41 @@ int pyGetDrc(IEditor *editor,int track); int pySetDrc(IEditor *editor,int track, int onoff); int pyGetResample(IEditor *editor,int track); -int pySetResample(IEditor *editor,int track,int fq); -int32_t pyGetPal2Film(IEditor *editor); -int32_t pyGetFilm2Pal(IEditor *editor); -void pySetPal2Film(IEditor *editor, int32_t rate); -void pySetFilm2Pal(IEditor *editor, int32_t rate); -int pyGetNormalizeMode(IEditor *editor); -int pyGetNormalizeValue(IEditor *editor); -void pySetNormalizeMode(IEditor *editor, int mode); -void pySetNormalizeValue(IEditor *editor, int value); +int pySetResample(IEditor *editor,int track,int fq); +int32_t pyGetPal2Film(IEditor *editor); +int32_t pyGetFilm2Pal(IEditor *editor); +void pySetPal2Film(IEditor *editor, int32_t rate); +void pySetFilm2Pal(IEditor *editor, int32_t rate); +int pyGetNormalizeMode(IEditor *editor); +int pyGetNormalizeValue(IEditor *editor); +void pySetNormalizeMode(IEditor *editor, int mode); +void pySetNormalizeValue(IEditor *editor, int value); int pySetFilm2Pal(IEditor *,int track,int onoff); int pySetPal2Film(IEditor *,int track,int onoff); int pySetNormalize(IEditor *,int track,int mode,int gain100); -/* Info */ -int pyGetFps1000(IEditor *editor); -int pyGetWidth(IEditor *editor); +/* Info */ +int pyGetFps1000(IEditor *editor); +int pyGetWidth(IEditor *editor); int pyGetHeight(IEditor *editor); -/* Detail info (debug) */ -bool pyHexDumpFrame(IEditor *editor, int framenumber); -int pyPrintTiming(IEditor *editor, int framenumber); -double pyGetPts(IEditor *editor, int frameNum); +/* Detail info (debug) */ +bool pyHexDumpFrame(IEditor *editor, int framenumber); +int pyPrintTiming(IEditor *editor, int framenumber); +double pyGetPts(IEditor *editor, int frameNum); double pyGetDts(IEditor *editor, int frameNum); -/* File operation */ -char *pyFileSelWrite(IEditor *editor, const char *title); -char *pyFileSelRead(IEditor *editor, const char *title); +/* File operation */ +char *pyFileSelWrite(IEditor *editor, const char *title); +char *pyFileSelRead(IEditor *editor, const char *title); char *pyDirSelect(IEditor *editor, const char *title); -/* Display */ -void pyDisplayError(IEditor *editor, const char *one, const char *two); +/* Display */ +void pyDisplayError(IEditor *editor, const char *one, const char *two); void pyDisplayInfo(IEditor *editor, const char *one, const char *two); -/* Misc */ -int pyTestCrash(void); -int pyTestAssert(void); - -#endif +/* Misc */ +int pyTestCrash(void); +int pyTestAssert(void); + +#endif // EOF
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/ADM_pyAvidemuxAudio.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/ADM_pyAvidemuxAudio.cpp
Changed
@@ -13,18 +13,18 @@ * * ***************************************************************************/ -#include "ADM_pyAvidemux.h" -#include "ADM_audiodef.h" -#include "ADM_vidMisc.h" -#include "fourcc.h" -#include "DIA_fileSel.h" -#include "DIA_coreToolkit.h" - +#include "ADM_pyAvidemux.h" +#include "ADM_audiodef.h" +#include "ADM_vidMisc.h" +#include "fourcc.h" +#include "DIA_fileSel.h" +#include "DIA_coreToolkit.h" + /** \fn audioProlog -*/ -static bool audioProlog(IEditor *editor, int dex,WAVHeader &info) -{ +*/ +static bool audioProlog(IEditor *editor, int dex,WAVHeader &info) +{ ADM_audioStream *s=editor->getAudioStreamAt(dex); if(!s) { @@ -38,213 +38,221 @@ return false; } info=*h; - return true; -} + return true; +} /** \fn \brief -*/ -int pyChangeAudioStream(IEditor *editor, int track) -{ +*/ +int pyChangeAudioStream(IEditor *editor, int track) +{ // editor->changeAudioStream(0, track); - return 0; -} + return 0; +} + +int pyGetAudioBitrate(IEditor *editor,int dex) +{ + WAVHeader h; + if(!audioProlog(editor,dex,h)) return 0; + return ((h.byterate)*8)/1000; +} + /** \fn pyGetAudioChannels \brief -*/ - -int pyGetAudioChannels(IEditor *editor,int dex) +*/ + +int pyGetAudioChannels(IEditor *editor,int dex) { WAVHeader h; - if(!audioProlog(editor,dex,h)) return 0; - return h.channels; -} + if(!audioProlog(editor,dex,h)) return 0; + return h.channels; +} /** \fn pyGetAudioChannels \brief -*/ - -int pyGetNumberOfAudioTracks(IEditor *editor) +*/ + +int pyGetNumberOfAudioTracks(IEditor *editor) { return editor->getNumberOfActiveAudioTracks(); -} +} /** \fn \brief -*/ - -int pyGetAudioFrequency(IEditor *editor,int dex) -{ +*/ + +int pyGetAudioFrequency(IEditor *editor,int dex) +{ WAVHeader h; - if(!audioProlog(editor,dex,h)) return 0; - return h.frequency; - -} + if(!audioProlog(editor,dex,h)) return 0; + return h.frequency; + +} /** \fn \brief -*/ - -int pyGetAudioEncoding(IEditor *editor,int dex) -{ +*/ + +int pyGetAudioEncoding(IEditor *editor,int dex) +{ WAVHeader h; - if(!audioProlog(editor,dex,h)) return 0; - return h.encoding; -} + if(!audioProlog(editor,dex,h)) return 0; + return h.encoding; +} /** \fn \brief -*/ - -int32_t pyGetPal2Film(IEditor *editor,int dex) -{ - if (editor->getAudioFilterFrameRate(dex) == FILMCONV_PAL2FILM) - { - return 1; - } - - return 0; -} +*/ + +int32_t pyGetPal2Film(IEditor *editor,int dex) +{ + if (editor->getAudioFilterFrameRate(dex) == FILMCONV_PAL2FILM) + { + return 1; + } + + return 0; +} /** \fn \brief -*/ - -int32_t pyGetFilm2Pal(IEditor *editor,int dex) -{ - if (editor->getAudioFilterFrameRate(dex) == FILMCONV_FILM2PAL) - { - return 1; - } - - return 0; -} +*/ + +int32_t pyGetFilm2Pal(IEditor *editor,int dex) +{ + if (editor->getAudioFilterFrameRate(dex) == FILMCONV_FILM2PAL) + { + return 1; + } + + return 0; +} /** \fn \brief -*/ - -int pySetPal2Film(IEditor *editor, int dex,int onoff) -{ - if (onoff) - { - editor->setAudioFilterFrameRate(dex,FILMCONV_PAL2FILM); - } - else if (pyGetPal2Film(editor,dex)) - { - editor->setAudioFilterFrameRate(dex,FILMCONV_NONE); +*/ + +int pySetPal2Film(IEditor *editor, int dex,int onoff) +{ + if (onoff) + { + editor->setAudioFilterFrameRate(dex,FILMCONV_PAL2FILM);
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/adm_gen.cpp -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/adm_gen.cpp
Changed
@@ -103,6 +103,20 @@ int r = editor->changeVideoParam(p0,p1); return tp_number(r); } +// audioBitrate -> int pyGetAudioBitrate (IEditor int ) +static tp_obj zzpy_audioBitrate(TP) + { + tp_obj self = tp_getraw(tp); + IScriptEngine *engine = (IScriptEngine*)tp_get(tp, tp->builtins, tp_string("userdata")).data.val; + IEditor *editor = engine->editor(); + TinyParams pm(tp); + void *me = (void *)pm.asThis(&self, ADM_PYID_AVIDEMUX); + + IEditor *p0 = editor; + int p1 = pm.asInt(); + int r = pyGetAudioBitrate(p0,p1); + return tp_number(r); +} // audioClearTracks -> int pyClearAudioTracks (IEditor ) static tp_obj zzpy_audioClearTracks(TP) { @@ -592,6 +606,10 @@ { return tp_method(vm, self, zzpy_videoCodecChangeParam); } + if (!strcmp(key, "audioBitrate")) + { + return tp_method(vm, self, zzpy_audioBitrate); + } if (!strcmp(key, "audioClearTracks")) { return tp_method(vm, self, zzpy_audioClearTracks); @@ -767,6 +785,7 @@ engine->callEventHandlers(IScriptEngine::Information, NULL, -1, "audioResetFilter(int)\n"); engine->callEventHandlers(IScriptEngine::Information, NULL, -1, "save(str)\n"); engine->callEventHandlers(IScriptEngine::Information, NULL, -1, "videoCodecChangeParam(str, couples)\n"); + engine->callEventHandlers(IScriptEngine::Information, NULL, -1, "audioBitrate(IEditor, int)\n"); engine->callEventHandlers(IScriptEngine::Information, NULL, -1, "audioClearTracks(IEditor)\n"); engine->callEventHandlers(IScriptEngine::Information, NULL, -1, "getFps1000(IEditor)\n"); engine->callEventHandlers(IScriptEngine::Information, NULL, -1, "saveAudio(int,str)\n");
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/binding/adm.admPyClass -> avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/binding/adm.admPyClass
Changed
@@ -37,11 +37,13 @@ /* METHOD */ int pyGetAudioFrequency:audioFrequency( int) /* METHOD */ int pyGetAudioChannels:audioChannels( int) /* METHOD */ int pyGetAudioEncoding:audioEncoding( int) +/* METHOD */ int pyGetAudioBitrate:audioBitrate( int) # # # cname:pyname # Codec, container /* METHOD */ int editor->setVideoCodec:videoCodec(str, couples) +#/* METHOD */ int editor->videoCodecGui:videoCodecGui(str,couples) # couples is OUT ! /* METHOD */ int editor->changeVideoParam:videoCodecChangeParam(str, couples) /* METHOD */ int editor->setVideoCodecProfile:videoCodecSetProfile(str, str) /* METHOD */ int editor->setAudioCodec:audioCodec(int,str, couples)
View file
avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_videoEncoder/x264/patch
Added
+(directory)
View file
avidemux_2.6.7.tar.gz/avidemux_plugins/ADM_videoEncoder/x264/patch/crude_hack_to_add_utf8_filename.patch
Added
@@ -0,0 +1,267 @@ +diff --git a/common/common.c b/common/common.c +index d03201d..7701100 100644 +--- a/common/common.c ++++ b/common/common.c +@@ -1217,7 +1217,7 @@ char *x264_slurp_file( const char *filename ) + int b_error = 0; + size_t i_size; + char *buf; +- FILE *fh = fopen( filename, "rb" ); ++ FILE *fh = openf( filename, "rb" ); + if( !fh ) + return NULL; + b_error |= fseek( fh, 0, SEEK_END ) < 0; +@@ -1368,4 +1368,96 @@ char *x264_param2string( x264_param_t *p, int b_res ) + + return buf; + } ++// ++// Convert UTF-8 string to wide char ++int utf8StringToWideChar(const char *utf8String, int utf8StringLength, wchar_t *wideCharString) ++{ ++ int wideCharStringLength = MultiByteToWideChar(CP_UTF8, 0, utf8String, utf8StringLength, NULL, 0); ++ ++ if (wideCharString) ++ MultiByteToWideChar(CP_UTF8, 0, utf8String, utf8StringLength, wideCharString, wideCharStringLength); ++ ++ return wideCharStringLength; ++} ++ ++/** ++ \fn ADM_fopen ++ \brief utf8 aware fopen, so that we can use utf8 string even on win32 ++*/ ++FILE *openf(const char *file, const char *mode) ++{ ++ // Override fopen to handle Unicode filenames and to ensure exclusive access when initially writing to a file. ++ int fileNameLength = utf8StringToWideChar(file, -1, NULL); ++ wchar_t *wcFile = (wchar_t *)malloc(fileNameLength*sizeof(wchar_t)); ++ int creation = 0, access = 0; ++ HANDLE hFile; ++ ++ utf8StringToWideChar(file, -1, wcFile); ++ ++ while (1) ++ { ++ if (strchr(mode, 'w')) ++ { ++ creation = CREATE_ALWAYS; ++ access = GENERIC_WRITE; ++ ++ if (strchr(mode, '+')) ++ access |= GENERIC_READ; ++ } ++ else if (strchr(mode, 'r')) ++ { ++ creation = OPEN_EXISTING; ++ access = GENERIC_READ; ++ ++ if (strchr(mode, '+')) ++ access = GENERIC_WRITE; ++ } ++ else if (strchr(mode, 'a')) ++ { ++ creation = OPEN_ALWAYS; ++ access = GENERIC_WRITE; ++ ++ if (strchr(mode, '+')) ++ access |= GENERIC_READ; ++ } ++ ++ if (creation & GENERIC_WRITE) ++ { ++ hFile = CreateFileW(wcFile, access, 0, NULL, creation, 0, NULL); ++ ++ if (hFile == INVALID_HANDLE_VALUE) ++ break; ++ else ++ CloseHandle(hFile); ++ } ++ ++ hFile = CreateFileW(wcFile, access, FILE_SHARE_READ, NULL, creation, 0, NULL); ++ break; ++ } ++ ++ free( wcFile); ++ ++ if (hFile == INVALID_HANDLE_VALUE) ++ return NULL; ++ else ++ return _fdopen(_open_osfhandle((intptr_t)hFile, 0), mode); ++ } ++ ++BOOL ADM_rename(const char *src, const char *dst) ++{ ++ int fileNameLength; ++ BOOL r; ++ fileNameLength = utf8StringToWideChar(src, -1, NULL); ++ wchar_t *wcFileSrc = (wchar_t *)malloc(fileNameLength*sizeof(wchar_t)); ++ utf8StringToWideChar(src, -1, wcFileSrc); ++ ++ fileNameLength = utf8StringToWideChar(dst, -1, NULL); ++ wchar_t *wcFileDst = (wchar_t *)malloc(fileNameLength*sizeof(wchar_t)); ++ utf8StringToWideChar(dst, -1, wcFileDst); + ++ r= MoveFileW(wcFileSrc,wcFileDst); ++ free(wcFileSrc); ++ free(wcFileDst); ++ return r; ++ ++} +diff --git a/common/osdep.h b/common/osdep.h +index f7cad57..5b4c439 100644 +--- a/common/osdep.h ++++ b/common/osdep.h +@@ -43,6 +43,10 @@ + #ifdef _WIN32 + #include <io.h> // _setmode() + #include <fcntl.h> // _O_BINARY ++#include <stdarg.h> ++#include <wchar.h> ++#include <windef.h> // MoveFileW ++#include <winbase.h> // MoveFileW + #endif + + #ifdef __ICL +@@ -68,7 +72,8 @@ + #define isfinite finite + #endif + #ifdef _WIN32 +-#define rename(src,dst) (unlink(dst), rename(src,dst)) // POSIX says that rename() removes the destination, but win32 doesn't. ++extern BOOL ADM_rename(const char *src, const char *dst); ++#define rename(src,dst) (unlink(dst), ADM_rename(src,dst)) // POSIX says that rename() removes the destination, but win32 doesn't. + #ifndef strtok_r + #define strtok_r(str,delim,save) strtok(str,delim) + #endif +diff --git a/configure b/configure +index d527e8f..007d5a6 100755 +--- a/configure ++++ b/configure +@@ -273,7 +273,7 @@ bit_depth="8" + chroma_format="all" + compiler="GNU" + +-CFLAGS="$CFLAGS -Wall -I. -I\$(SRCPATH)" ++CFLAGS="$CFLAGS -Wall -I. -I\$(SRCPATH) -include openf.h" + LDFLAGS="$LDFLAGS" + LDFLAGSCLI="$LDFLAGSCLI" + ASFLAGS="$ASFLAGS" +diff --git a/encoder/encoder.c b/encoder/encoder.c +index e9ea971..f618b73 100644 +--- a/encoder/encoder.c ++++ b/encoder/encoder.c +@@ -82,7 +82,7 @@ static int x264_threadpool_wait_all( x264_t *h ) + + static void x264_frame_dump( x264_t *h ) + { +- FILE *f = fopen( h->param.psz_dump_yuv, "r+b" ); ++ FILE *f = openf( h->param.psz_dump_yuv, "r+b" ); + if( !f ) + return; + +@@ -1323,7 +1323,7 @@ x264_t *x264_encoder_open( x264_param_t *param ) + if( h->param.psz_dump_yuv ) + { + /* create or truncate the reconstructed video file */ +- FILE *f = fopen( h->param.psz_dump_yuv, "w" ); ++ FILE *f = openf( h->param.psz_dump_yuv, "w" ); + if( !f ) + { + x264_log( h, X264_LOG_ERROR, "dump_yuv: can't write to %s\n", h->param.psz_dump_yuv ); +diff --git a/encoder/ratecontrol.c b/encoder/ratecontrol.c +index 0437fbd..b7098b2 100644 +--- a/encoder/ratecontrol.c ++++ b/encoder/ratecontrol.c +@@ -728,7 +728,7 @@ int x264_ratecontrol_new( x264_t *h ) + char *mbtree_stats_in = x264_strcat_filename( h->param.rc.psz_stat_in, ".mbtree" ); + if( !mbtree_stats_in ) + return -1; +- rc->p_mbtree_stat_file_in = fopen( mbtree_stats_in, "rb" ); ++ rc->p_mbtree_stat_file_in = openf( mbtree_stats_in, "rb" ); + x264_free( mbtree_stats_in ); + if( !rc->p_mbtree_stat_file_in ) + { +@@ -993,7 +993,7 @@ parse_error: + if( !rc->psz_stat_file_tmpname ) + return -1; + +- rc->p_stat_file_out = fopen( rc->psz_stat_file_tmpname, "wb" ); ++ rc->p_stat_file_out = openf( rc->psz_stat_file_tmpname, "wb" ); + if( rc->p_stat_file_out == NULL ) + { + x264_log( h, X264_LOG_ERROR, "ratecontrol_init: can't open stats file\n" ); +@@ -1011,7 +1011,7 @@ parse_error: + if( !rc->psz_mbtree_stat_file_tmpname || !rc->psz_mbtree_stat_file_name ) + return -1; + +- rc->p_mbtree_stat_file_out = fopen( rc->psz_mbtree_stat_file_tmpname, "wb" ); ++ rc->p_mbtree_stat_file_out = openf( rc->psz_mbtree_stat_file_tmpname, "wb" ); + if( rc->p_mbtree_stat_file_out == NULL )
View file
avidemux_2.6.6.tar.gz/avidemux_plugins/pluginsPackageRpm.cmake -> avidemux_2.6.7.tar.gz/avidemux_plugins/pluginsPackageRpm.cmake
Changed
@@ -11,16 +11,21 @@ SET(CPACK_RPM_PACKAGE_ARCHITECTURE "i386") ENDIF (X86_64_SUPPORTED) # Mandatory +SET(CPACK_RPM_PACKAGE_VERSION "${AVIDEMUX_VERSION}") +SET(CPACK_RPM_PACKAGE_RELEASE "1.r${ADM_SUBVERSION}.bootstrap") +SET(CPACK_RPM_PACKAGE_LICENSE "GPLv2+") +SET(CPACK_RPM_PACKAGE_GROUP "System Environment/Libraries") SET(CPACK_RPM_PACKAGE_VENDOR "mean") -SET(CPACK_RPM_PACKAGE_DESCRIPTION "Simple video editor, plugins ") +SET(CPACK_RPM_PACKAGE_DESCRIPTION "This package contains the runtime libraries for avidemux.") # SET(CPACK_RPM_PACKAGE_SECTION "extra") SET(CPACK_RPM_PACKAGE_PRIORITY "optional") # Some more infos # -SET(CPACK_PACKAGE_NAME "avidemux3-plugins-${PLUGIN_UI}") +SET(CPACK_RPM_PACKAGE_SUMMARY "Libraries for avidemux") +SET(CPACK_RPM_PACKAGE_REQUIRES "avidemux3-core%{?_isa} >= ${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}") # -SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") +SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}") include(CPack)
View file
avidemux_2.6.6.tar.gz/bootStrap.bash -> avidemux_2.6.7.tar.gz/bootStrap.bash
Changed
@@ -93,7 +93,7 @@ CMAKE_VERSION=`cmake --version | sed "s/^.* 2\.\([0-9]*\.[0-9]*\).*/2\.\1/g"` echo "CMAKE Version : $CMAKE_VERSION" case "$CMAKE_VERSION" in - 2.8.8|2.8.7|2.8.9|2.8.10|2.8.11) + 2.8.8|2.8.7|2.8.9|2.8.10|2.8.11|2.8.12|2.8.13) echo "Cmake version >=2.8.7 doesnt need fakeroot" export FAKEROOT_COMMAND="" ;;
View file
avidemux_2.6.6.tar.gz/cmake/FindBourne.cmake -> avidemux_2.6.7.tar.gz/cmake/FindBourne.cmake
Changed
@@ -3,7 +3,7 @@ message(STATUS "*************************") find_program(BASH_EXECUTABLE - sh + bash ${BASH_DIR} /bin /usr/bin
View file
avidemux_2.6.6.tar.gz/cmake/avidemuxVersion.cmake -> avidemux_2.6.7.tar.gz/cmake/avidemuxVersion.cmake
Changed
@@ -1,7 +1,7 @@ -SET(RELEASE) +SET(RELEASE 1) SET(CPACK_PACKAGE_VERSION_MAJOR "2") SET(CPACK_PACKAGE_VERSION_MINOR "6") -SET(CPACK_PACKAGE_VERSION_PATCH "6") +SET(CPACK_PACKAGE_VERSION_PATCH "7") SET(AVIDEMUX_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") IF(NOT RELEASE) SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}-${ADM_SUBVERSION}")
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.