otio: started otio decoder for importing OpenTimelineIO

This commit is contained in:
itsmattkc
2020-09-25 16:58:07 +10:00
parent 24468e283d
commit 818f38d55a
5 changed files with 107 additions and 0 deletions
+1
View File
@@ -16,6 +16,7 @@
add_subdirectory(ffmpeg)
add_subdirectory(oiio)
add_subdirectory(otio)
set(OLIVE_SOURCES
${OLIVE_SOURCES}
+2
View File
@@ -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<DecoderPtr> 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<OTIODecoder>());
decoders.append(std::make_shared<OIIODecoder>());
decoders.append(std::make_shared<FFmpegDecoder>());
+22
View File
@@ -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 <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
codec/otio/otiodecoder.h
codec/otio/otiodecoder.cpp
PARENT_SCOPE
)
+40
View File
@@ -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 <http://www.gnu.org/licenses/>.
***/
#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
+42
View File
@@ -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 <http://www.gnu.org/licenses/>.
***/
#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