From 18123eacb54ca56e5cc96214425dc7999ab371da Mon Sep 17 00:00:00 2001 From: Selim Mustafaev Date: Wed, 9 Nov 2016 22:35:56 +0300 Subject: [PATCH] project divided into two parts: static library ffcpp (which is the main part) and a set of examples (currently only one - ffConv) --- .gitignore | 2 ++ CMakeLists.txt | 15 ++++++------- examples/CMakeLists.txt | 5 +++++ main.cpp => examples/ffConv.cpp | 0 {ffcpp => include/ffcpp}/Codec.h | 0 {ffcpp => include/ffcpp}/FifoQueue.h | 0 {ffcpp => include/ffcpp}/Frame.h | 0 {ffcpp => include/ffcpp}/MediaFile.h | 0 {ffcpp => include/ffcpp}/Packet.h | 0 {ffcpp => include/ffcpp}/Resampler.h | 0 {ffcpp => include/ffcpp}/Scaler.h | 0 {ffcpp => include/ffcpp}/Stream.h | 0 {ffcpp => include/ffcpp}/ffcpp.h | 0 src/CMakeLists.txt | 32 ++++++++++++++++++++++++++++ {ffcpp => src}/Codec.cpp | 4 ++-- {ffcpp => src}/FifoQueue.cpp | 4 ++-- {ffcpp => src}/Frame.cpp | 4 ++-- {ffcpp => src}/MediaFile.cpp | 4 ++-- {ffcpp => src}/Packet.cpp | 2 +- {ffcpp => src}/Resampler.cpp | 4 ++-- {ffcpp => src}/Scaler.cpp | 2 +- {ffcpp => src}/Stream.cpp | 2 +- {ffcpp => src}/ffcpp.cpp | 2 +- 23 files changed, 60 insertions(+), 22 deletions(-) create mode 100644 examples/CMakeLists.txt rename main.cpp => examples/ffConv.cpp (100%) rename {ffcpp => include/ffcpp}/Codec.h (100%) rename {ffcpp => include/ffcpp}/FifoQueue.h (100%) rename {ffcpp => include/ffcpp}/Frame.h (100%) rename {ffcpp => include/ffcpp}/MediaFile.h (100%) rename {ffcpp => include/ffcpp}/Packet.h (100%) rename {ffcpp => include/ffcpp}/Resampler.h (100%) rename {ffcpp => include/ffcpp}/Scaler.h (100%) rename {ffcpp => include/ffcpp}/Stream.h (100%) rename {ffcpp => include/ffcpp}/ffcpp.h (100%) create mode 100644 src/CMakeLists.txt rename {ffcpp => src}/Codec.cpp (98%) rename {ffcpp => src}/FifoQueue.cpp (95%) rename {ffcpp => src}/Frame.cpp (97%) rename {ffcpp => src}/MediaFile.cpp (98%) rename {ffcpp => src}/Packet.cpp (97%) rename {ffcpp => src}/Resampler.cpp (97%) rename {ffcpp => src}/Scaler.cpp (98%) rename {ffcpp => src}/Stream.cpp (96%) rename {ffcpp => src}/ffcpp.cpp (93%) diff --git a/.gitignore b/.gitignore index 13bbe5b..1bd8f2e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .idea/ +lib/ +bin/ diff --git a/CMakeLists.txt b/CMakeLists.txt index fea8ae0..34161c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,15 @@ cmake_minimum_required(VERSION 3.5) -project(ffConv) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -ggdb -O2") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -std=c++14 -ggdb -O0") -find_package(FFMPEG REQUIRED) -include_directories(${FFMPEG_INCLUDE_DIR}) -link_directories(${FFMPEG_LIBRARY_DIRS}) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) -#message(FATAL_ERROR ${FFMPEG_INCLUDE_DIR}) +include_directories(include) +link_directories(lib) -set(SOURCE_FILES main.cpp ffcpp/MediaFile.cpp ffcpp/MediaFile.h ffcpp/ffcpp.cpp ffcpp/ffcpp.h ffcpp/Stream.cpp ffcpp/Stream.h ffcpp/Codec.cpp ffcpp/Codec.h ffcpp/Packet.cpp ffcpp/Packet.h ffcpp/Frame.cpp ffcpp/Frame.h ffcpp/FifoQueue.cpp ffcpp/FifoQueue.h ffcpp/Scaler.cpp ffcpp/Scaler.h ffcpp/Resampler.cpp ffcpp/Resampler.h) -add_executable(ffConv ${SOURCE_FILES}) -target_link_libraries(ffConv ${FFMPEG_LIBRARIES}) \ No newline at end of file +add_subdirectory(src) +add_subdirectory(examples) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 0000000..cf7db79 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1,5 @@ +project(ffConv) + +add_executable(ffConv ffConv.cpp) +add_dependencies(ffConv ffcpp) +target_link_libraries(ffConv ffcpp) \ No newline at end of file diff --git a/main.cpp b/examples/ffConv.cpp similarity index 100% rename from main.cpp rename to examples/ffConv.cpp diff --git a/ffcpp/Codec.h b/include/ffcpp/Codec.h similarity index 100% rename from ffcpp/Codec.h rename to include/ffcpp/Codec.h diff --git a/ffcpp/FifoQueue.h b/include/ffcpp/FifoQueue.h similarity index 100% rename from ffcpp/FifoQueue.h rename to include/ffcpp/FifoQueue.h diff --git a/ffcpp/Frame.h b/include/ffcpp/Frame.h similarity index 100% rename from ffcpp/Frame.h rename to include/ffcpp/Frame.h diff --git a/ffcpp/MediaFile.h b/include/ffcpp/MediaFile.h similarity index 100% rename from ffcpp/MediaFile.h rename to include/ffcpp/MediaFile.h diff --git a/ffcpp/Packet.h b/include/ffcpp/Packet.h similarity index 100% rename from ffcpp/Packet.h rename to include/ffcpp/Packet.h diff --git a/ffcpp/Resampler.h b/include/ffcpp/Resampler.h similarity index 100% rename from ffcpp/Resampler.h rename to include/ffcpp/Resampler.h diff --git a/ffcpp/Scaler.h b/include/ffcpp/Scaler.h similarity index 100% rename from ffcpp/Scaler.h rename to include/ffcpp/Scaler.h diff --git a/ffcpp/Stream.h b/include/ffcpp/Stream.h similarity index 100% rename from ffcpp/Stream.h rename to include/ffcpp/Stream.h diff --git a/ffcpp/ffcpp.h b/include/ffcpp/ffcpp.h similarity index 100% rename from ffcpp/ffcpp.h rename to include/ffcpp/ffcpp.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..b8d4415 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,32 @@ +project(ffcpp) + +find_package(FFMPEG REQUIRED) +include_directories(${FFMPEG_INCLUDE_DIR}) +link_directories(${FFMPEG_LIBRARY_DIRS}) + +if(NOT FFMPEG_FOUND) + message(FATAL_ERROR "FFMpeg not found") +endif() + +set(SOURCE_FILES MediaFile.cpp + ../include/ffcpp/MediaFile.h + ffcpp.cpp + ../include/ffcpp/ffcpp.h + Stream.cpp + ../include/ffcpp/Stream.h + Codec.cpp + ../include/ffcpp/Codec.h + Packet.cpp + ../include/ffcpp/Packet.h + Frame.cpp + ../include/ffcpp/Frame.h + FifoQueue.cpp + ../include/ffcpp/FifoQueue.h + Scaler.cpp + ../include/ffcpp/Scaler.h + Resampler.cpp + ../include/ffcpp/Resampler.h) + +add_library(ffcpp ${SOURCE_FILES}) +target_link_libraries(ffcpp ${FFMPEG_LIBRARIES}) + diff --git a/ffcpp/Codec.cpp b/src/Codec.cpp similarity index 98% rename from ffcpp/Codec.cpp rename to src/Codec.cpp index 4c59790..06f6429 100644 --- a/ffcpp/Codec.cpp +++ b/src/Codec.cpp @@ -1,5 +1,5 @@ -#include "Codec.h" -#include "ffcpp.h" +#include "ffcpp/Codec.h" +#include "ffcpp/ffcpp.h" #include namespace ffcpp { diff --git a/ffcpp/FifoQueue.cpp b/src/FifoQueue.cpp similarity index 95% rename from ffcpp/FifoQueue.cpp rename to src/FifoQueue.cpp index 18327e1..e47d264 100644 --- a/ffcpp/FifoQueue.cpp +++ b/src/FifoQueue.cpp @@ -1,5 +1,5 @@ -#include "FifoQueue.h" -#include "ffcpp.h" +#include "ffcpp/FifoQueue.h" +#include "ffcpp/ffcpp.h" #include namespace ffcpp { diff --git a/ffcpp/Frame.cpp b/src/Frame.cpp similarity index 97% rename from ffcpp/Frame.cpp rename to src/Frame.cpp index bdcbcbd..6035ba6 100644 --- a/ffcpp/Frame.cpp +++ b/src/Frame.cpp @@ -1,5 +1,5 @@ -#include "ffcpp.h" -#include "Frame.h" +#include "ffcpp/ffcpp.h" +#include "ffcpp/Frame.h" #include namespace ffcpp { diff --git a/ffcpp/MediaFile.cpp b/src/MediaFile.cpp similarity index 98% rename from ffcpp/MediaFile.cpp rename to src/MediaFile.cpp index 2991101..a2cd172 100644 --- a/ffcpp/MediaFile.cpp +++ b/src/MediaFile.cpp @@ -1,5 +1,5 @@ -#include "MediaFile.h" -#include "ffcpp.h" +#include "ffcpp/MediaFile.h" +#include "ffcpp/ffcpp.h" #include namespace ffcpp { diff --git a/ffcpp/Packet.cpp b/src/Packet.cpp similarity index 97% rename from ffcpp/Packet.cpp rename to src/Packet.cpp index 3120e74..5d9f50d 100644 --- a/ffcpp/Packet.cpp +++ b/src/Packet.cpp @@ -1,4 +1,4 @@ -#include "Packet.h" +#include "ffcpp/Packet.h" #include namespace ffcpp { diff --git a/ffcpp/Resampler.cpp b/src/Resampler.cpp similarity index 97% rename from ffcpp/Resampler.cpp rename to src/Resampler.cpp index 53c7025..f5f35a1 100644 --- a/ffcpp/Resampler.cpp +++ b/src/Resampler.cpp @@ -1,5 +1,5 @@ -#include "Resampler.h" -#include "ffcpp.h" +#include "ffcpp/Resampler.h" +#include "ffcpp/ffcpp.h" #include #include diff --git a/ffcpp/Scaler.cpp b/src/Scaler.cpp similarity index 98% rename from ffcpp/Scaler.cpp rename to src/Scaler.cpp index 3f6a230..b11c360 100644 --- a/ffcpp/Scaler.cpp +++ b/src/Scaler.cpp @@ -1,4 +1,4 @@ -#include "Scaler.h" +#include "ffcpp/Scaler.h" #include namespace ffcpp { diff --git a/ffcpp/Stream.cpp b/src/Stream.cpp similarity index 96% rename from ffcpp/Stream.cpp rename to src/Stream.cpp index 6c95d0e..20699e0 100644 --- a/ffcpp/Stream.cpp +++ b/src/Stream.cpp @@ -1,4 +1,4 @@ -#include "Stream.h" +#include "ffcpp/Stream.h" #include namespace ffcpp { diff --git a/ffcpp/ffcpp.cpp b/src/ffcpp.cpp similarity index 93% rename from ffcpp/ffcpp.cpp rename to src/ffcpp.cpp index 5845f72..d2668b1 100644 --- a/ffcpp/ffcpp.cpp +++ b/src/ffcpp.cpp @@ -1,4 +1,4 @@ -#include "ffcpp.h" +#include "ffcpp/ffcpp.h" #include extern "C" {