diff --git a/include/ChunkReader.h b/include/ChunkReader.h index c944508b..32179f4d 100644 --- a/include/ChunkReader.h +++ b/include/ChunkReader.h @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/include/ChunkWriter.h b/include/ChunkWriter.h index 836d5f7d..d70cf186 100644 --- a/include/ChunkWriter.h +++ b/include/ChunkWriter.h @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/include/Qt/videoplayer.h b/include/Qt/videoplayer.h index d1fbc95a..bef004ff 100644 --- a/include/Qt/videoplayer.h +++ b/include/Qt/videoplayer.h @@ -41,8 +41,11 @@ #ifndef VIDEOPLAYER_H #define VIDEOPLAYER_H - #include - #include +#include +#include + +// #include +// #include class QAbstractButton; class QAbstractVideoSurface; diff --git a/include/Qt/videowidget.h b/include/Qt/videowidget.h index 26a9f5e7..e069a412 100644 --- a/include/Qt/videowidget.h +++ b/include/Qt/videowidget.h @@ -43,7 +43,8 @@ #include "videowidgetsurface.h" - #include + //#include +#include class QAbstractVideoSurface; diff --git a/include/Qt/videowidgetsurface.h b/include/Qt/videowidgetsurface.h index 0568d3b9..75d3cb15 100644 --- a/include/Qt/videowidgetsurface.h +++ b/include/Qt/videowidgetsurface.h @@ -41,10 +41,16 @@ #ifndef VIDEOWIDGETSURFACE_H #define VIDEOWIDGETSURFACE_H - #include - #include - #include - #include +#include +#include +#include +#include + + + //#include + //#include + //#include + //#include #include using namespace std; diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c90c2e62..993ff4cb 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -54,33 +54,39 @@ FIND_PACKAGE(SDL REQUIRED) # Include SDL headers (needed for compile) include_directories(${SDL_INCLUDE_DIR}) -################# QT4 ################### -find_program(QT_EXECUTABLE qmake-qt4 - PATHS /usr/bin - $ENV{QTDIR} ) +################# QT5 ################### +set(CMAKE_AUTOMOC ON) -# Check for the qmake-qt4 executable (and use it, if it's found) -IF (QT_EXECUTABLE) - SET(QT_QMAKE_EXECUTABLE ${QT_EXECUTABLE}) # DEBUB, WORK-AROUND: Force the use of QT4 (when multiple versions are installed) -ENDIF (QT_EXECUTABLE) - -# Find QT4 libraries -FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtMultimedia REQUIRED) +# Find QT5 libraries +find_package(Qt5Widgets) +find_package(Qt5Core) +find_package(Qt5Gui) +find_package(Qt5Multimedia) # Include Qt headers (needed for compile) -include(${QT_USE_FILE}) -include_directories(${QT_INCLUDES}) -add_definitions(${QT_DEFINITIONS}) +include_directories(${Qt5Widgets_INCLUDE_DIRS}) +include_directories(${Qt5Core_INCLUDE_DIRS}) +include_directories(${Qt5Gui_INCLUDE_DIRS}) +include_directories(${Qt5Multimedia_INCLUDE_DIRS}) + +add_definitions(${Qt5Widgets_DEFINITIONS}) +add_definitions(${Qt5Core_DEFINITIONS}) +add_definitions(${Qt5Gui_DEFINITIONS}) +add_definitions(${Qt5Multimedia_DEFINITIONS}) # Add Multimedia library -SET(QT_LIBRARIES ${QT_LIBRARIES} ${QT_QTMULTIMEDIA_LIBRARY}) - -# Moc all Qt headers -FILE(GLOB QT_HEADERS "/home/jonathan/apps/libopenshot/include/Qt/*.h") -qt4_wrap_cpp (QT_MOC_FILES ${QT_HEADERS}) -message('${QT_MOC_FILES}') - +SET(QT_LIBRARIES ${Qt5Widgets_LIBRARIES} + ${Qt5Core_LIBRARIES} + ${Qt5Gui_LIBRARIES} + ${Qt5Multimedia_LIBRARIES}) + +# Set compiler flags for Qt +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS} ") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS} ") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Gui_EXECUTABLE_COMPILE_FLAGS} ") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Multimedia_EXECUTABLE_COMPILE_FLAGS} ") + ################# BLACKMAGIC DECKLINK ################### # Find BlackMagic DeckLinkAPI libraries FIND_PACKAGE(BlackMagic) @@ -143,10 +149,10 @@ SET ( OPENSHOT_SOURCE_FILES Timeline.cpp # Qt Video Player - ${QT_MOC_FILES} - Qt/videoplayer.cpp - Qt/videowidget.cpp - Qt/videowidgetsurface.cpp + #${QT_MOC_FILES} + #Qt/videoplayer.cpp + #Qt/videowidget.cpp + #Qt/videowidgetsurface.cpp # Third Party JSON Parser ../thirdparty/jsoncpp/src/lib_json/json_reader.cpp diff --git a/src/Main.cpp b/src/Main.cpp index 38b76a82..67c54163 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -33,10 +33,7 @@ #include "../include/OpenShot.h" #include "../include/Json.h" #include -#include -#include -#include -#include + using namespace openshot; using namespace tr1; @@ -44,78 +41,6 @@ using namespace tr1; int main(int argc, char* argv[]) { - // Start Qt Application - QApplication app(argc, argv);\ - - // Init video player widget - VideoPlayer player; - player.showMaximized(); - - // Prepare video surface - VideoWidgetSurface * videoWidget = new VideoWidgetSurface(&player); - QSize videoSize(1280, 720); // supplement with your video dimensions - - // look at VideoWidgetSurface::supportedPixelFormats for supported formats - QVideoSurfaceFormat format( videoSize, QVideoFrame::Format_ARGB32); - - - - // Get test frame - FFmpegReader r2("/home/jonathan/Videos/sintel_trailer-720p.mp4"); - r2.Open(); - tr1::shared_ptr frame = r2.GetFrame(600); - - // Get image - tr1::shared_ptr image = r2.GetFrame(300)->GetImage(); - - // Create Qt Video Frame - QVideoFrame aFrame(32 * image->size().width() * image->size().height(), QSize(image->size().width(), image->size().height()), 32 * image->size().width(), QVideoFrame::Format_ARGB32); - - // Get a reference to the internal videoframe buffer - aFrame.map(QAbstractVideoBuffer::WriteOnly); - uchar *pixels = aFrame.bits(); - - // Copy pixel data from ImageMagick to Qt - Magick::Blob my_blob_1; - image->write(&my_blob_1); // or PNG img1.write(&my_blob_1); const QByteArray imageData1((char*)(my_blob_1.data()),my_blob_1.length()); - - pixels = (uchar*)(my_blob_1.data()),my_blob_1.length(); - //memcpy(pixels, my_blob_1.data(), my_blob_1.length()); - - // Get a list of pixels from source image -// const Magick::PixelPacket *pixel_packets = frame->GetPixels(); -// -// // Fill the AVFrame with RGB image data -// int source_total_pixels = image->size().width() * image->size().height(); -// for (int packet = 0, row = 0; packet < source_total_pixels; packet++, row+=4) -// { -// // Update buffer (which is already linked to the AVFrame: pFrameRGB) -// // Each color needs to be 8 bit (so I'm bit shifting the 16 bit ints) -// pixels[row] = 255; -// pixels[row+1] = 255; -// pixels[row+2] = pixel_packets[packet].green >> 8; -// pixels[row+3] = pixel_packets[packet].blue >> 8; -// //pixels[row] = qRgb(pixel_packets[packet].red, pixel_packets[packet].green, pixel_packets[packet].blue); -// } - aFrame.unmap(); - - // Start video player (which sets format's size) - videoWidget->start(format); - - // Display frame - videoWidget->present(aFrame); - - - - // Start Qt App - return app.exec(); - - - - - - - // FFmpegReader r2("/home/jonathan/Videos/sintel_trailer-720p.mp4"); // r2.Open(); diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 12ac7d92..580da0a4 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -60,23 +60,37 @@ FIND_PACKAGE(SDL REQUIRED) # Include SDL headers (needed for compile) include_directories(${SDL_INCLUDE_DIR}) -################# QT4 ################### -find_program(QT_EXECUTABLE qmake-qt4 - PATHS /usr/bin - $ENV{QTDIR} ) +################# QT5 ################### +set(CMAKE_AUTOMOC ON) -# Check for the qmake-qt4 executable (and use it, if it's found) -IF (QT_EXECUTABLE) - SET(QT_QMAKE_EXECUTABLE ${QT_EXECUTABLE}) # DEBUB, WORK-AROUND: Force the use of QT4 (when multiple versions are installed) -ENDIF (QT_EXECUTABLE) - -# Find QT4 libraries -FIND_PACKAGE(Qt4 REQUIRED) +# Find QT5 libraries +find_package(Qt5Widgets) +find_package(Qt5Core) +find_package(Qt5Gui) +find_package(Qt5Multimedia) # Include Qt headers (needed for compile) -include(${QT_USE_FILE}) -include_directories(${QT_INCLUDES}) -add_definitions(${QT_DEFINITIONS}) +include_directories(${Qt5Widgets_INCLUDE_DIRS}) +include_directories(${Qt5Core_INCLUDE_DIRS}) +include_directories(${Qt5Gui_INCLUDE_DIRS}) +include_directories(${Qt5Multimedia_INCLUDE_DIRS}) + +add_definitions(${Qt5Widgets_DEFINITIONS}) +add_definitions(${Qt5Core_DEFINITIONS}) +add_definitions(${Qt5Gui_DEFINITIONS}) +add_definitions(${Qt5Multimedia_DEFINITIONS}) + +# Add Multimedia library +SET(QT_LIBRARIES ${Qt5Widgets_LIBRARIES} + ${Qt5Core_LIBRARIES} + ${Qt5Gui_LIBRARIES} + ${Qt5Multimedia_LIBRARIES}) + +# Set compiler flags for Qt +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS} ") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS} ") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Gui_EXECUTABLE_COMPILE_FLAGS} ") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Multimedia_EXECUTABLE_COMPILE_FLAGS} ") ################# BLACKMAGIC DECKLINK ################### # Find BlackMagic DeckLinkAPI libraries