⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umc_video_render.h

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 H
字号:
/*////                  INTEL CORPORATION PROPRIETARY INFORMATION//     This software is supplied under the terms of a license agreement or//     nondisclosure agreement with Intel Corporation and may not be copied//     or disclosed except in accordance with the terms of that agreement.//       Copyright(c) 2003-2005 Intel Corporation. All Rights Reserved.//*/#ifndef ___UMC_VIDEO_RENDER_H___#define ___UMC_VIDEO_RENDER_H___#include <memory.h>#include "vm_debug.h"#include "umc_media_receiver.h"#include "vm_semaphore.h"#include "umc_structures.h"#include "umc_dynamic_cast.h"#include "umc_module_context.h"namespace UMC{#if defined(_WIN32) || defined(_WIN32_WCE)void UMCRect2Rect(UMC::RECT& umcRect, ::RECT& rect);void Rect2UMCRect(::RECT& rect, UMC::RECT& umcRect);#endif // defined(_WIN32) || defined(_WIN32_WCE)class VideoRenderParams: public MediaReceiverParams{    DYNAMIC_CAST_DECL(VideoRenderParams, MediaReceiverParams)public:    // Default constructor    VideoRenderParams();    ColorFormat color_format;                                   // (ColorFormat) working color format    ClipInfo info;                                              // (ClipInfo) video size    UMC::RECT disp;                                             // (UMC::RECT) display position    UMC::RECT range;                                            // (UMC::RECT) range of source video to display    vm_var32 lFlags;                                            // (vm_var32) video render flag(s)};class VideoRender: public MediaReceiver{    DYNAMIC_CAST_DECL(VideoRender, MediaReceiver)public:    // Destructor    virtual ~VideoRender()    {        Close();    }    struct sCaps    {        double min_stretch;        double max_stretch;        bool   overlay_support;        bool   colorkey_support;    };    // Outdated functions - don't use it, use MediaReceiver interface instead    // Reserve a frame buffer for decoding the current frame    virtual int ReserveBuffer(vm_byte **ppucVidMem) = 0;    // Buffer the decoded frame    virtual Status BufferReserved(double frame_time, FrameType frame_type) = 0;    virtual void BufferEndOfClip() = 0;    // VideoRender interface extension above MediaReceiver    // Peek presentation of next frame, return presentation time    virtual double GetRenderFrame() = 0;    // Rendering the current frame    virtual Status RenderFrame() = 0;    // Show the last rendered frame    virtual Status ShowLastFrame() = 0;    // Set/Reset full screen playback    virtual Status SetFullScreen(ModuleContext& rContext, bool full) = 0;    // Resize the display rectangular    virtual Status ResizeDisplay(UMC::RECT &disp, UMC::RECT &range) = 0;    // Show/Hide Surface    virtual void ShowSurface() = 0;    virtual void HideSurface() = 0;protected:    virtual int LockSurface(vm_byte **vidmem) = 0;    virtual int UnlockSurface(vm_byte**vidmem) = 0;};} // namespace UMC#endif // ___UMC_VIDEO_RENDER_H___

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -