8#ifndef META_OCEAN_MEDIA_MF_VIDEO_DECODER_H
9#define META_OCEAN_MEDIA_MF_VIDEO_DECODER_H
22namespace MediaFoundation
113 bool initialize(
const std::string& mime,
const unsigned int width,
const unsigned int height,
const void* codecConfigData =
nullptr,
const size_t codecConfigSize = 0);
139 bool pushSample(
const void* data,
const size_t size,
const uint64_t presentationTime);
188 static bool convertAvccToAnnexB(
const void* avccData,
const size_t avccSize, std::vector<uint8_t>& annexBData,
const bool isCodecConfig =
false,
const std::string& mime =
"video/avc");
205 static bool isAvcc(
const void* data,
const size_t size,
const bool isCodecConfig =
false);
263 *
this = std::move(videoDecoder);
284 if (
this != &videoDecoder)
288 decoder_ = std::move(videoDecoder.decoder_);
290 width_ = videoDecoder.width_;
291 videoDecoder.width_ = 0u;
293 height_ = videoDecoder.height_;
294 videoDecoder.height_ = 0u;
296 isStarted_ = videoDecoder.isStarted_;
297 videoDecoder.isStarted_ =
false;
299 mfStarted_ = videoDecoder.mfStarted_;
300 videoDecoder.mfStarted_ =
false;
302 mftProvidesOutputSamples_ = videoDecoder.mftProvidesOutputSamples_;
303 videoDecoder.mftProvidesOutputSamples_ =
false;
305 outputBufferSize_ = videoDecoder.outputBufferSize_;
306 videoDecoder.outputBufferSize_ = 0u;
This class implements Ocean's image class.
Definition Frame.h:1879
This class implements a recursive lock object.
Definition Lock.h:31
This class implements a scoped lock object for recursive lock objects.
Definition Lock.h:147
This class wraps an unmanaged object (or reference) which needs to be released after usage.
Definition ScopedObject.h:166
bool isValid() const
Returns whether this scoped object holds a valid object.
Definition ScopedObject.h:460
The namespace covering the entire Ocean framework.
Definition Accessor.h:15