AJA: initial support for SDK 12.4

This commit is contained in:
Martin Pulec
2016-03-29 12:33:37 +02:00
parent 370998b34b
commit 4c4d05f50c
2 changed files with 28 additions and 6 deletions

View File

@@ -449,6 +449,7 @@ AC_ARG_VAR([DVS_DIRECTORY], [Path to DVS installation.])
AC_ARG_VAR([DELTACAST_DIRECTORY], [Placement of VideoMasterHD directory (Deltacast).])
AC_ARG_VAR([BLUE_LATEST_SDK], [Placement of Bluefish444 SDK.])
AC_ARG_VAR([NTV2_ROOT], [Directory to AJA NTV2 SDK (ends with ntv2projects).])
AC_ARG_VAR([AJA_DIRECTORY], [Directory to AJA NTV2 SDK.])
# -------------------------------------------------------------------------------------------------
# X Window System
@@ -885,7 +886,14 @@ AC_ARG_ENABLE(aja,
[aja_req=$enableval],
[aja_req=auto]
)
AJA_PATH=$NTV2_ROOT
if test -n "$NTV2_ROOT"; then
AJA_PATH=$NTV2_ROOT/..
fi
if test -n "$AJA_DIRECTORY"; then
AJA_PATH=$AJA_DIRECTORY
fi
AC_ARG_WITH(aja,
[ --with-aja=DIR specify location of NTV2],
@@ -894,15 +902,15 @@ AC_ARG_WITH(aja,
if test -n "$AJA_PATH"
then
AC_CHECK_FILES(${AJA_PATH}/../lib/libaja.a ${AJA_PATH}/../lib/libajastuff.a, FOUND_LIBAJA=yes, FOUND_LIBAJA=no)
AC_CHECK_FILES(${AJA_PATH}/lib/libaja.a ${AJA_PATH}/lib/libajastuff.a, FOUND_LIBAJA=yes, FOUND_LIBAJA=no)
fi
if test "$aja_req" != no -a "$FOUND_LIBAJA" = yes
then
aja=yes
AJA_CXXFLAGS="-DAJALinux -DAJA_LINUX"
AJA_INC="$AJA_INC -I${AJA_PATH}/classes -I${AJA_PATH}/../ajaapi -I${AJA_PATH}/includes -I${AJA_PATH}/democlasses"
AJA_LIB="${AJA_PATH}/../lib/libaja.a ${AJA_PATH}/../lib/libajastuff.a"
AJA_INC="$AJA_INC -I${AJA_PATH}/ntv2projects/classes -I${AJA_PATH}/ajaapi -I${AJA_PATH}/ntv2projects/includes -I${AJA_PATH}/ntv2projects/democlasses"
AJA_LIB="${AJA_PATH}/lib/libaja.a ${AJA_PATH}/lib/libajastuff.a"
AJA_CAP_OBJ="src/video_capture/aja.o"
AC_DEFINE([HAVE_AJA], [1], [Build with AJA support])

View File

@@ -52,7 +52,7 @@
#include "video_capture.h"
#include "ajatypes.h"
#include "ntv2boardscan.h"
#include "ntv2devicescanner.h"
#include "ntv2democommon.h"
#include "ntv2capture.h"
#include "ajastuff/common/videotypes.h"
@@ -62,7 +62,7 @@
#include "ajastuff/system/thread.h"
#include "ntv2utils.h"
#include "ntv2boardfeatures.h"
#include "ntv2devicefeatures.h"
#define NTV2_AUDIOSIZE_MAX (401 * 1024)
@@ -369,7 +369,11 @@ AJAStatus vidcap_state_aja::SetupVideo()
mInputChannel = ::NTV2InputSourceToChannel (mInputSource);
if (NTV2_INPUT_SOURCE_IS_SDI (mInputSource))
#if AJA_NTV2_SDK_VERSION_BEFORE(12,4)
mTimeCodeSource = ::NTV2ChannelToTimecodeSource (mInputChannel);
#else
mTimeCodeSource = ::NTV2InputSourceToTimecodeIndex(mInputSource);
#endif
else if (NTV2_INPUT_SOURCE_IS_ANALOG (mInputSource))
mTimeCodeSource = NTV2_TCSOURCE_LTC1;
else
@@ -469,7 +473,17 @@ AJAStatus vidcap_state_aja::SetupVideo()
AJAStatus vidcap_state_aja::SetupAudio (void)
{
// Have the audio system capture audio from the designated device input...
#if AJA_NTV2_SDK_VERSION_BEFORE(12,4)
mDevice.SetAudioSystemInputSource (mAudioSystem, mInputSource);
#else
NTV2AudioSource audioSource (NTV2_AUDIO_EMBEDDED);
if (NTV2_INPUT_SOURCE_IS_HDMI (mInputSource))
audioSource = NTV2_AUDIO_HDMI;
else if (NTV2_INPUT_SOURCE_IS_ANALOG (mInputSource))
audioSource = NTV2_AUDIO_ANALOG;
mDevice.SetAudioSystemInputSource (mAudioSystem, audioSource, ::NTV2ChannelToEmbeddedAudioInput(mInputChannel));
#endif
mMaxAudioChannels = ::NTV2BoardGetMaxAudioChannels (mDeviceID);
mDevice.SetNumberAudioChannels (mMaxAudioChannels, NTV2InputSourceToAudioSystem(mInputSource));