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 34
View file
avidemux3.changes
Changed
@@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Sun Jan 08 13:23:21 UTC 2017 - joerg.lorenzen@ki.tng.de + +- Update to version 2.6.18 + * Fixed slider in preview mode + +- Version 2.6.17 + * Allow EAC3 in mp4 and mp4v2 (fiftyplus/euma) + * Fix behaviour of preview window when video size is ~ screen + size + +------------------------------------------------------------------- Fri Jan 06 14:24:15 UTC 2017 - joerg.lorenzen@ki.tng.de - Enabled support for fdk-aac.
View file
avidemux3.spec
Changed
@@ -25,7 +25,7 @@ Name: avidemux3 Summary: Graphical video editing and transcoding tool -Version: 2.6.16 +Version: 2.6.18 Release: 1 Url: http://avidemux.sourceforge.net/ Source0: avidemux_%{version}.tar.gz
View file
avidemux_2.6.16.tar.gz/avidemux/qt4/ADM_UIs/include/DIA_flyDialogQt4.h -> avidemux_2.6.18.tar.gz/avidemux/qt4/ADM_UIs/include/DIA_flyDialogQt4.h
Changed
@@ -81,7 +81,7 @@ ResizeMethod _resizeMethod; uint64_t lastPts; double _computedZoom; - + int _usedWidth, _usedHeight; ADM_coreVideoFilter *_in; @@ -117,7 +117,9 @@ virtual ADM_colorspace toRgbColor(void); void updateZoom(void); void EndConstructor(void); - uint8_t cleanup(void); + uint8_t cleanup(void); + bool initializeSize(); + float calcZoomToBeDisplayable(uint32_t imageWidth, uint32_t imageHeight); /* Filter dependant : you have to implement them*/ // virtual void resetScaler(void)=0; // dont bother, implemented by yuv or rgb subclass @@ -143,7 +145,11 @@ virtual void postInit(uint8_t reInit); public: virtual uint8_t sliderChanged(void); + virtual void updateSlider(void); virtual bool goToTime(uint64_t tme); + +private: + virtual bool nextImageInternal(void); public slots: virtual bool nextImage(void);
View file
avidemux_2.6.16.tar.gz/avidemux/qt4/ADM_UIs/src/DIA_flyDialog.cpp -> avidemux_2.6.18.tar.gz/avidemux/qt4/ADM_UIs/src/DIA_flyDialog.cpp
Changed
@@ -124,14 +124,18 @@ } /** - \fn sliderChanged - \brief callback to handle image changes + \fn goToTime */ bool ADM_flyDialog::goToTime(uint64_t tme) { _in->goToTime(tme); - return nextImage(); + return nextImageInternal(); } + +/** + \fn sliderChanged + \brief callback to handle image changes +*/ uint8_t ADM_flyDialog::sliderChanged(void) { uint32_t fn= sliderGet(); @@ -205,9 +209,10 @@ pushButton_back1mn->setToolTip(QApplication::translate("seekablePreviewDialog", "Back one minute", 0)); pushButton_back1mn->setText(QApplication::translate("seekablePreviewDialog", "<<", 0)); pushButton_play->setText(QApplication::translate("seekablePreviewDialog", "Play", 0)); - pushButton_next->setStatusTip(QApplication::translate("seekablePreviewDialog", "next image", 0)); + pushButton_next->setToolTip(QApplication::translate("seekablePreviewDialog", "Next image", 0)); pushButton_next->setText(QApplication::translate("seekablePreviewDialog", ">", 0)); pushButton_fwd1mn->setText(QApplication::translate("seekablePreviewDialog", ">>", 0)); + pushButton_fwd1mn->setToolTip(QApplication::translate("seekablePreviewDialog", "Forward one minute", 0)); radioButton_autoZoom->setText(QApplication::translate("seekablePreviewDialog", "A&utoZoom", 0)); QObject::connect(pushButton_next ,SIGNAL(clicked()),this,SLOT(nextImage())); @@ -232,9 +237,9 @@ return lastPts; } /** - \fn nextImage + \fn nextImageInternal */ -bool ADM_flyDialog::nextImage(void) +bool ADM_flyDialog::nextImageInternal(void) { uint32_t frameNumber; if(!_in->getNextFrame(&frameNumber,_yuvBuffer)) @@ -248,6 +253,88 @@ process(); return display(_rgbByteBufferDisplay.at(0)); } + +/** + \fn nextImage +*/ +bool ADM_flyDialog::nextImage(void) +{ + QSlider *slide=(QSlider *)_slider; + ADM_assert(slide); + bool oldState=slide->blockSignals(true); + bool r=nextImageInternal(); + if(r) + updateSlider(); + slide->blockSignals(oldState); + return r; +} + +/** + * + * @return + */ +bool ADM_flyDialog::initializeSize() +{ + _canvas->resize(1,1); + QSize qsize= _canvas->parentWidget()->parentWidget()->size(); + //_usedWidth = qsize.width(); + // Normally there is nothing interesting left and right, we can use a hardcoded value + _usedWidth=64; + _usedHeight= 32+qsize.height(); // keep a border margin + + if (_resizeMethod != RESIZE_NONE) + { + _zoom = calcZoomFactor(); + if (_zoom == 1) + { + _resizeMethod = RESIZE_NONE; + } + } + if (_resizeMethod == RESIZE_NONE) + { + _zoom = 1; + _zoomW = _w; + _zoomH = _h; + } else + { + _zoomW = uint32_t(_w * _zoom); + _zoomH = uint32_t(_h * _zoom); + } + + + ADM_info("xAutoZoom : base size= %d x %d\n",_usedWidth,_usedHeight); + return true; +} +/** + * \brief Calculate the zoom ratio required to fit the whole image on the screen. + * @param imageWidth + * @param imageHeight + * @return + */ +float ADM_flyDialog::calcZoomToBeDisplayable( uint32_t imageWidth, uint32_t imageHeight) +{ + uint32_t screenWidth, screenHeight; + QWidget *topWindow=_canvas->parentWidget()->parentWidget(); + UI_getPhysicalScreenSize(topWindow, &screenWidth, &screenHeight); + + // Usable width/height + int usableWidth =(int)screenWidth -_usedWidth; + int usableHeight=(int)screenHeight-_usedHeight; + + if(usableWidth<160) usableWidth=160; + if(usableHeight<160) usableHeight=160; + + + float widthRatio = (float)usableWidth / (float)imageWidth; + float heightRatio = (float)usableHeight / (float)imageHeight; + + ADM_info("autoZoom : Raw w=%f h=%f\n",widthRatio,heightRatio); + + float r= (widthRatio < heightRatio ? widthRatio : heightRatio); + return r; + +} + //************************************ // Implement the specific part // i.e. yuv processing or RGB processing @@ -258,6 +345,7 @@ { _yuvBufferOut=new ADMImageDefault(_w,_h); yuvToRgb=NULL; + initializeSize(); updateZoom(); postInit(false); } @@ -294,6 +382,7 @@ yuv2rgb =new ADMColorScalerSimple(_w,_h,ADM_COLOR_YV12, toRgbColor()); rgb2rgb=NULL; + initializeSize(); updateZoom(); postInit(false); @@ -335,7 +424,8 @@ return true; } -extern float UI_calcZoomToFitScreen(QWidget* window, QWidget* canvas, uint32_t imageWidth, uint32_t imageHeight); + + /** \fn FlyDialogEventFilter @@ -377,9 +467,10 @@ ADM_QCanvas *canvas, QSlider *slider, ResizeMethod resizeMethod) { ADM_assert(canvas); - - if (slider) - ADM_assert(in); + { + ADM_assert(in); + slider->setMaximum(ADM_FLY_SLIDER_MAX); + } _parent=parent; _w = width; _h = height; @@ -391,25 +482,9 @@ _resizeMethod = resizeMethod; _zoomChangeCount = 0; _yuvBuffer=new ADMImageDefault(_w,_h); + _usedWidth= _usedHeight=0; lastPts=0; - if (_resizeMethod != RESIZE_NONE) - { - _zoom = calcZoomFactor(); - if (_zoom == 1) - { - _resizeMethod = RESIZE_NONE; - } - } - if (_resizeMethod == RESIZE_NONE) - { - _zoom = 1; - _zoomW = _w; - _zoomH = _h; - } else - { - _zoomW = uint32_t(_w * _zoom); - _zoomH = uint32_t(_h * _zoom); - } +
View file
avidemux_2.6.16.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp -> avidemux_2.6.18.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp
Changed
@@ -157,12 +157,13 @@ ADM_coreVideoFilter *filter=ADM_vf_getInstance(itag); ADM_assert(filter); if (previewDialog) - previewDialog->resetVideoStream(filter); - else { - previewDialog = new Ui_seekablePreviewWindow(this, filter, 0); - connect(previewDialog, SIGNAL(accepted()), this, SLOT(closePreview())); + delete previewDialog; + previewDialog=NULL; } + previewDialog = new Ui_seekablePreviewWindow(this, filter, 0); + previewDialog->setModal(true); + connect(previewDialog, SIGNAL(accepted()), this, SLOT(closePreview())); previewDialog->show(); } /**
View file
avidemux_2.6.16.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_seekablePreview.cpp -> avidemux_2.6.18.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_seekablePreview.cpp
Changed
@@ -47,23 +47,16 @@ /** * - * @return - */ -bool Ui_seekablePreviewWindow::nextImage(void) -{ - return seekablePreview->nextImage(); -} -/** - * * @param videoStream */ void Ui_seekablePreviewWindow::resetVideoStream(ADM_coreVideoFilter *videoStream) { if (seekablePreview) delete seekablePreview; - + seekablePreview=NULL; if (canvas) delete canvas; + canvas=NULL; uint32_t canvasWidth = videoStream->getInfo()->width; uint32_t canvasHeight = videoStream->getInfo()->height; @@ -76,14 +69,6 @@ } /** * - * @param value - */ -void Ui_seekablePreviewWindow::sliderChanged(int value) -{ - seekablePreview->sliderChanged(); -} -/** - * * @return */ uint32_t Ui_seekablePreviewWindow::frameIndex() @@ -113,4 +98,13 @@ ui.label->setText(s); return true; } +/** + * + * @param value + */ +void Ui_seekablePreviewWindow::sliderChanged(int value) +{ + seekablePreview->sliderChanged(); +} + // EOF
View file
avidemux_2.6.16.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_seekablePreview.h -> avidemux_2.6.18.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_seekablePreview.h
Changed
@@ -39,8 +39,8 @@ void resetVideoStream(ADM_coreVideoFilter *videoStream); uint32_t frameIndex(); bool setTime(uint64_t timestamp); - public slots: void sliderChanged(int value); - bool nextImage(void); + + };
View file
avidemux_2.6.16.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/seekablePreview.ui -> avidemux_2.6.18.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/seekablePreview.ui
Changed
@@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>464</width> - <height>378</height> + <width>500</width> + <height>130</height> </rect> </property> <property name="sizePolicy"> @@ -26,8 +26,8 @@ <widget class="QFrame" name="frame"> <property name="minimumSize"> <size> - <width>320</width> - <height>240</height> + <width>16</width> + <height>16</height> </size> </property> <property name="frameShape">
View file
avidemux_2.6.16.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp -> avidemux_2.6.18.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp
Changed
@@ -68,9 +68,9 @@ for(int i=0;i<nbAudioTrack;i++) { uint32_t acc=a[i]->getInfo()->encoding; - if(acc!=WAV_MP2 && acc!=WAV_MP3 && acc!=WAV_AAC && acc!=WAV_AC3) + if(acc!=WAV_MP2 && acc!=WAV_MP3 && acc!=WAV_AAC && acc!=WAV_AC3 && acc!=WAV_EAC3) { - GUI_Error_HIG(QT_TRANSLATE_NOOP("mp4muxer","Unsupported"),QT_TRANSLATE_NOOP("mp4muxer","Only AAC, AC3, and mpegaudio supported for audio")); + GUI_Error_HIG(QT_TRANSLATE_NOOP("mp4muxer","Unsupported"),QT_TRANSLATE_NOOP("mp4muxer","Only AAC, AC3, E-AC3 and mpegaudio supported for audio")); return false; } }
View file
avidemux_2.6.16.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/CMakeLists.txt -> avidemux_2.6.18.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/CMakeLists.txt
Changed
@@ -6,11 +6,17 @@ muxerMp4v2Video.cpp muxerMp4v2Config.cpp ) -SUBDIRS(libmp4v2) +IF(NOT USE_EXTERNAL_MP4V2) + ADD_SUBDIRECTORY(libmp4v2) +ENDIF() ADD_LIBRARY(ADM_mx_mp4v2 SHARED ${ADM_mp4v2_SRCS}) -TARGET_LINK_LIBRARIES(ADM_mx_mp4v2 ADM_libmp4v2) +IF(USE_EXTERNAL_MP4V2) + TARGET_LINK_LIBRARIES(ADM_mx_mp4v2 ${MP4V2_LIBRARIES}) +ELSE() + TARGET_LINK_LIBRARIES(ADM_mx_mp4v2 ADM_libmp4v2) + INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/libmp4v2/include/) +ENDIF() INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/libmp4v2/include/) INIT_MUXER(ADM_mx_mp4v2) INSTALL_MUXER(ADM_mx_mp4v2)
View file
avidemux_2.6.16.tar.gz/avidemux_plugins/CMakeLists.txt -> avidemux_2.6.18.tar.gz/avidemux_plugins/CMakeLists.txt
Changed
@@ -70,6 +70,7 @@ OPTION(USE_EXTERNAL_LIBASS "Use system installed libass library." OFF) OPTION(USE_EXTERNAL_LIBMAD "Use system installed libmad library." OFF) OPTION(USE_EXTERNAL_LIBA52 "Use system installed liba52 library." OFF) +OPTION(USE_EXTERNAL_MP4V2 "Use system installed libmp4v2 library." OFF) INCLUDE(FindPkgConfig) @@ -93,6 +94,13 @@ INCLUDE_DIRECTORIES(SYSTEM ${LIBA52_INCLUDE_DIR}) ENDIF() +# libmp4v2 +IF(USE_EXTERNAL_MP4V2) + FIND_PATH(MP4V2_INCLUDE_DIR mp4v2/mp4v2.h) + FIND_LIBRARY(MP4V2_LIBRARIES mp4v2) + INCLUDE_DIRECTORIES(SYSTEM ${MP4V2_INCLUDE_DIR}) +ENDIF() + IF (FRESH_BUILD) MESSAGE("") ENDIF (FRESH_BUILD)
View file
avidemux_2.6.16.tar.gz/bootStrap.bash -> avidemux_2.6.18.tar.gz/bootStrap.bash
Changed
@@ -26,6 +26,7 @@ external_libass=0 external_liba52=0 external_libmad=0 +external_libmp4v2=0 fail() { @@ -120,6 +121,7 @@ echo " --with-system-libass : Use system libass instead of the bundled one" echo " --with-system-liba52 : Use system liba52 (a52dec) instead of the bundled one" echo " --with-system-libmad : Use system libmad instead of the bundled one" + echo " --with-system-libmp4v2: Use system libmp4v2 instead of the bundled one" echo "The end result will be in the install folder. You can then copy it to / or whatever" config @@ -239,6 +241,9 @@ --with-system-libmad) external_libmad=1 ;; + --with-system-libmp4v2) + external_libmp4v2=1 + ;; *) echo "unknown parameter $config_option" usage @@ -263,6 +268,9 @@ if [ "x$external_libmad" = "x1" ]; then export EXTRA_CMAKE_DEFS="-DUSE_EXTERNAL_LIBMAD=true $EXTRA_CMAKE_DEFS" fi +if [ "x$external_libmp4v2" = "x1" ]; then + export EXTRA_CMAKE_DEFS="-DUSE_EXTERNAL_MP4V2=true $EXTRA_CMAKE_DEFS" +fi echo "Top dir : $TOP" echo "Fake installation directory=$FAKEROOT_DIR" if [ "x$debug" = "x1" ] ; then echo
View file
avidemux_2.6.16.tar.gz/cmake/avidemuxVersion.cmake -> avidemux_2.6.18.tar.gz/cmake/avidemuxVersion.cmake
Changed
@@ -7,7 +7,7 @@ include(admTimeStamp) SET(CPACK_PACKAGE_VERSION_MAJOR "2") SET(CPACK_PACKAGE_VERSION_MINOR "6") -SET(CPACK_PACKAGE_VERSION_P "16") +SET(CPACK_PACKAGE_VERSION_P "18") SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_P}") SET(AVIDEMUX_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") SET(AVIDEMUX_API_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
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
.