-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Contain 2 program : - yc2cvbs : combine Y/C video file to CVBS - yuv2ycbcr : scale Y'UV source to YCbCr (based on .tbc file)
- Loading branch information
Showing
11 changed files
with
2,417 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
# Copyright 2023 vrunk-toolkit Project | ||
# | ||
# This file is part of vrunk-toolkit | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, either version 2 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
|
||
######################################################################## | ||
# Project setup | ||
######################################################################## | ||
cmake_minimum_required(VERSION 2.6) | ||
project(vrunk11-toolkit C) | ||
|
||
include(GNUInstallDirs) | ||
|
||
# CMP0075 Include file check macros honor CMAKE_REQUIRED_LIBRARIES | ||
if(POLICY CMP0075) | ||
cmake_policy(SET CMP0075 NEW) | ||
endif() | ||
|
||
#select the release build type by default to get optimization flags | ||
if(NOT CMAKE_BUILD_TYPE) | ||
set(CMAKE_BUILD_TYPE "Release") | ||
message(STATUS "Build type not specified: defaulting to Release.") | ||
endif(NOT CMAKE_BUILD_TYPE) | ||
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "") | ||
|
||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) | ||
|
||
if(NOT LIB_INSTALL_DIR) | ||
set(LIB_INSTALL_DIR lib) | ||
endif() | ||
|
||
# Set the version information here | ||
set(VERSION_INFO_MAJOR_VERSION 0) # increment major on api compatibility changes | ||
set(VERSION_INFO_MINOR_VERSION 1) # increment minor on feature-level changes | ||
set(VERSION_INFO_PATCH_VERSION git) # increment patch for bug fixes and docs | ||
include(Version) # setup version info | ||
|
||
######################################################################## | ||
# Compiler specific setup | ||
######################################################################## | ||
if(CMAKE_COMPILER_IS_GNUCC AND NOT WIN32) | ||
ADD_DEFINITIONS(-Wall) | ||
ADD_DEFINITIONS(-Wextra) | ||
ADD_DEFINITIONS(-Wno-unused-parameter) | ||
ADD_DEFINITIONS(-Wno-unused) | ||
ADD_DEFINITIONS(-Wsign-compare) | ||
ADD_DEFINITIONS(-Wdeclaration-after-statement) | ||
#http://gcc.gnu.org/wiki/Visibility | ||
add_definitions(-fvisibility=hidden) | ||
endif() | ||
|
||
######################################################################## | ||
# Find build dependencies | ||
######################################################################## | ||
find_package(PkgConfig) | ||
if(WIN32 AND NOT MINGW) | ||
set(THREADS_USE_PTHREADS_WIN32 true) | ||
endif() | ||
|
||
find_package(Threads) | ||
if(NOT THREADS_FOUND) | ||
message(FATAL_ERROR "pthreads(-win32) required to compile libosmo-fl2k") | ||
endif() | ||
######################################################################## | ||
# Setup the include and linker paths | ||
######################################################################## | ||
include_directories( | ||
${CMAKE_SOURCE_DIR}/include | ||
${THREADS_PTHREADS_INCLUDE_DIR} | ||
) | ||
|
||
#link_directories( | ||
# ... | ||
#) | ||
|
||
# Set component parameters | ||
#set(INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE) | ||
|
||
######################################################################## | ||
# Add subdirectories | ||
######################################################################## | ||
add_subdirectory(include) | ||
add_subdirectory(src) | ||
|
||
######################################################################## | ||
# Create Pkg Config File | ||
######################################################################## | ||
|
||
set(prefix ${CMAKE_INSTALL_PREFIX}) | ||
set(exec_prefix \${prefix}) | ||
set(libdir \${exec_prefix}/${LIB_INSTALL_DIR}) | ||
set(includedir \${prefix}/include) | ||
|
||
######################################################################## | ||
# Print Summary | ||
######################################################################## | ||
MESSAGE(STATUS "Building for version: ${VERSION} / ${LIBVER}") | ||
MESSAGE(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
if(NOT LIBUSB_FOUND) | ||
pkg_check_modules (LIBUSB_PKG libusb-1.0) | ||
find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h | ||
PATHS | ||
${LIBUSB_PKG_INCLUDE_DIRS} | ||
/usr/include/libusb-1.0 | ||
/usr/include | ||
/usr/local/include | ||
) | ||
|
||
#standard library name for libusb-1.0 | ||
set(libusb1_library_names usb-1.0) | ||
|
||
#libusb-1.0 compatible library on freebsd | ||
if((CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") OR (CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD")) | ||
list(APPEND libusb1_library_names usb) | ||
endif() | ||
|
||
find_library(LIBUSB_LIBRARIES | ||
NAMES ${libusb1_library_names} | ||
PATHS | ||
${LIBUSB_PKG_LIBRARY_DIRS} | ||
/usr/lib | ||
/usr/local/lib | ||
) | ||
|
||
include(CheckFunctionExists) | ||
if(LIBUSB_INCLUDE_DIRS) | ||
set(CMAKE_REQUIRED_INCLUDES ${LIBUSB_INCLUDE_DIRS}) | ||
endif() | ||
if(LIBUSB_LIBRARIES) | ||
set(CMAKE_REQUIRED_LIBRARIES ${LIBUSB_LIBRARIES}) | ||
endif() | ||
|
||
CHECK_FUNCTION_EXISTS("libusb_handle_events_timeout_completed" HAVE_LIBUSB_HANDLE_EVENTS_TIMEOUT_COMPLETED) | ||
if(HAVE_LIBUSB_HANDLE_EVENTS_TIMEOUT_COMPLETED) | ||
add_definitions(-DHAVE_LIBUSB_HANDLE_EVENTS_TIMEOUT_COMPLETED=1) | ||
endif(HAVE_LIBUSB_HANDLE_EVENTS_TIMEOUT_COMPLETED) | ||
|
||
CHECK_FUNCTION_EXISTS("libusb_error_name" HAVE_LIBUSB_ERROR_NAME) | ||
if(HAVE_LIBUSB_ERROR_NAME) | ||
add_definitions(-DHAVE_LIBUSB_ERROR_NAME=1) | ||
endif(HAVE_LIBUSB_ERROR_NAME) | ||
|
||
if(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES) | ||
set(LIBUSB_FOUND TRUE CACHE INTERNAL "libusb-1.0 found") | ||
message(STATUS "Found libusb-1.0: ${LIBUSB_INCLUDE_DIR}, ${LIBUSB_LIBRARIES}") | ||
else(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES) | ||
set(LIBUSB_FOUND FALSE CACHE INTERNAL "libusb-1.0 found") | ||
message(STATUS "libusb-1.0 not found.") | ||
endif(LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES) | ||
|
||
mark_as_advanced(LIBUSB_INCLUDE_DIR LIBUSB_LIBRARIES) | ||
|
||
endif(NOT LIBUSB_FOUND) |
Oops, something went wrong.