diff --git a/app/codec/CMakeLists.txt b/app/codec/CMakeLists.txt index bce758bfd..d1a33957d 100644 --- a/app/codec/CMakeLists.txt +++ b/app/codec/CMakeLists.txt @@ -16,6 +16,7 @@ add_subdirectory(ffmpeg) add_subdirectory(oiio) +add_subdirectory(otio) set(OLIVE_SOURCES ${OLIVE_SOURCES} diff --git a/app/codec/decoder.cpp b/app/codec/decoder.cpp index 973e17e31..38b67c102 100644 --- a/app/codec/decoder.cpp +++ b/app/codec/decoder.cpp @@ -27,6 +27,7 @@ #include "codec/ffmpeg/ffmpegcommon.h" #include "codec/ffmpeg/ffmpegdecoder.h" #include "codec/oiio/oiiodecoder.h" +#include "codec/otio/otiodecoder.h" #include "codec/waveinput.h" #include "codec/waveoutput.h" #include "common/filefunctions.h" @@ -90,6 +91,7 @@ QVector ReceiveListOfAllDecoders() { // The order in which these decoders are added is their priority when probing. Hence FFmpeg should usually be last, // since it supports so many formats and we presumably want to override those formats with a more specific decoder. + decoders.append(std::make_shared()); decoders.append(std::make_shared()); decoders.append(std::make_shared()); diff --git a/app/codec/otio/CMakeLists.txt b/app/codec/otio/CMakeLists.txt new file mode 100644 index 000000000..03c1517e0 --- /dev/null +++ b/app/codec/otio/CMakeLists.txt @@ -0,0 +1,22 @@ +# Olive - Non-Linear Video Editor +# Copyright (C) 2019 Olive Team +# +# 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 3 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 . + +set(OLIVE_SOURCES + ${OLIVE_SOURCES} + codec/otio/otiodecoder.h + codec/otio/otiodecoder.cpp + PARENT_SCOPE +) diff --git a/app/codec/otio/otiodecoder.cpp b/app/codec/otio/otiodecoder.cpp new file mode 100644 index 000000000..b0754a6df --- /dev/null +++ b/app/codec/otio/otiodecoder.cpp @@ -0,0 +1,40 @@ +/*** + + Olive - Non-Linear Video Editor + Copyright (C) 2019 Olive Team + + 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 3 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 . + +***/ + +#include "otiodecoder.h" + +OLIVE_NAMESPACE_ENTER + +OTIODecoder::OTIODecoder() +{ + +} + +QString OTIODecoder::id() +{ + return QStringLiteral("otio"); +} + +bool OTIODecoder::Probe(Footage* f, const QAtomicInt* cancelled) +{ + return false; +} + +OLIVE_NAMESPACE_EXIT diff --git a/app/codec/otio/otiodecoder.h b/app/codec/otio/otiodecoder.h new file mode 100644 index 000000000..a88d9ad68 --- /dev/null +++ b/app/codec/otio/otiodecoder.h @@ -0,0 +1,42 @@ +/*** + + Olive - Non-Linear Video Editor + Copyright (C) 2019 Olive Team + + 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 3 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 . + +***/ + +#ifndef OTIODECODER_H +#define OTIODECODER_H + +#include "codec/decoder.h" + +OLIVE_NAMESPACE_ENTER + +class OTIODecoder : public Decoder +{ + Q_OBJECT +public: + OTIODecoder(); + + virtual QString id() override; + + virtual bool Probe(Footage* f, const QAtomicInt* cancelled) override; + +}; + +OLIVE_NAMESPACE_EXIT + +#endif // OTIODECODER_H