X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fffmpeg%2Fproducer%2Fvideo%2Fvideo_decoder.h;h=e77a16f3f47d2dd3b9a785643629b13797bb4248;hb=8c61df76c4b35ab58316f35b6a09a3f977efd596;hp=4c53e9b1c0c2067bf5d167f9b4cd6f20575e96da;hpb=68ffc456932845e2c9e293d313add41e3034195c;p=casparcg diff --git a/modules/ffmpeg/producer/video/video_decoder.h b/modules/ffmpeg/producer/video/video_decoder.h index 4c53e9b1c..e77a16f3f 100644 --- a/modules/ffmpeg/producer/video/video_decoder.h +++ b/modules/ffmpeg/producer/video/video_decoder.h @@ -1,67 +1,67 @@ -/* -* Copyright (c) 2011 Sveriges Television AB -* -* This file is part of CasparCG (www.casparcg.com). -* -* CasparCG 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. -* -* CasparCG 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 CasparCG. If not, see . -* -* Author: Robert Nagy, ronag89@gmail.com -*/ - -#pragma once - -#include -#include - -#include - -#include - -struct AVFormatContext; -struct AVFrame; -struct AVPacket; - -namespace caspar { namespace ffmpeg { - -class video_decoder : public monitor::observable - , boost::noncopyable -{ -public: - explicit video_decoder(class input& input); - - video_decoder(video_decoder&& other); - video_decoder& operator=(video_decoder&& other); - - std::shared_ptr operator()(); - - int width() const; - int height() const; - bool is_progressive() const; - uint32_t file_frame_number() const; - - uint32_t nb_frames() const; - - std::wstring print() const; - - // monitor::observable - - void subscribe(const monitor::observable::observer_ptr& o) override; - void unsubscribe(const monitor::observable::observer_ptr& o) override; - -private: - struct impl; - spl::shared_ptr impl_; -}; - +/* +* Copyright (c) 2011 Sveriges Television AB +* +* This file is part of CasparCG (www.casparcg.com). +* +* CasparCG 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. +* +* CasparCG 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 CasparCG. If not, see . +* +* Author: Robert Nagy, ronag89@gmail.com +*/ + +#pragma once + +#include +#include + +#include + +#include + +struct AVFormatContext; +struct AVFrame; +struct AVPacket; + +namespace caspar { namespace ffmpeg { + +class video_decoder : public monitor::observable + , boost::noncopyable +{ +public: + explicit video_decoder(class input& input); + + video_decoder(video_decoder&& other); + video_decoder& operator=(video_decoder&& other); + + std::shared_ptr operator()(); + + int width() const; + int height() const; + bool is_progressive() const; + uint32_t file_frame_number() const; + + uint32_t nb_frames() const; + + std::wstring print() const; + + // monitor::observable + + void subscribe(const monitor::observable::observer_ptr& o) override; + void unsubscribe(const monitor::observable::observer_ptr& o) override; + +private: + struct impl; + spl::shared_ptr impl_; +}; + }} \ No newline at end of file