|
||||
File indexing completed on 2025-01-18 10:04:15
0001 // Created by: Kirill GAVRILOV 0002 // Copyright (c) 2019 OPEN CASCADE SAS 0003 // 0004 // This file is part of Open CASCADE Technology software library. 0005 // 0006 // This library is free software; you can redistribute it and/or modify it under 0007 // the terms of the GNU Lesser General Public License version 2.1 as published 0008 // by the Free Software Foundation, with special exception defined in the file 0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0010 // distribution for complete text of the license and disclaimer of any warranty. 0011 // 0012 // Alternatively, this file may be used under the terms of Open CASCADE 0013 // commercial license or contractual agreement. 0014 0015 #ifndef _Media_Scaler_HeaderFile 0016 #define _Media_Scaler_HeaderFile 0017 0018 #include <Media_Frame.hxx> 0019 0020 #include <Standard_Transient.hxx> 0021 #include <Standard_Type.hxx> 0022 #include <Graphic3d_Vec2.hxx> 0023 0024 struct SwsContext; 0025 0026 //! SwsContext wrapper - tool performing image scaling and pixel format conversion. 0027 class Media_Scaler : public Standard_Transient 0028 { 0029 DEFINE_STANDARD_RTTIEXT(Media_Scaler, Standard_Transient) 0030 public: 0031 0032 //! Empty constructor. 0033 Standard_EXPORT Media_Scaler(); 0034 0035 //! Destructor. 0036 Standard_EXPORT virtual ~Media_Scaler(); 0037 0038 //! sws_freeContext() wrapper. 0039 Standard_EXPORT void Release(); 0040 0041 //! sws_getContext() wrapper - creates conversion context. 0042 //! @param theSrcDims dimensions of input frame 0043 //! @param theSrcFormat pixel format (AVPixelFormat) of input frame 0044 //! @param theResDims dimensions of destination frame 0045 //! @param theResFormat pixel format (AVPixelFormat) of destination frame 0046 Standard_EXPORT bool Init (const Graphic3d_Vec2i& theSrcDims, 0047 int theSrcFormat, 0048 const Graphic3d_Vec2i& theResDims, 0049 int theResFormat); 0050 0051 //! Convert one frame to another. 0052 Standard_EXPORT bool Convert (const Handle(Media_Frame)& theSrc, 0053 const Handle(Media_Frame)& theRes); 0054 0055 //! Return TRUE if context was initialized. 0056 bool IsValid() const { return mySwsContext != NULL; } 0057 0058 protected: 0059 0060 SwsContext* mySwsContext; //!< conversion context 0061 Graphic3d_Vec2i mySrcDims; //!< dimensions of input frame 0062 int mySrcFormat; //!< pixel format (AVPixelFormat) of input frame 0063 Graphic3d_Vec2i myResDims; //!< dimensions of destination frame 0064 int myResFormat; //!< pixel format (AVPixelFormat) of destination frame 0065 0066 }; 0067 0068 #endif // _Media_Scaler_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |