xbmc
RenderBufferSysMem.h
1 /*
2  * Copyright (C) 2017-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "cores/RetroPlayer/buffers/BaseRenderBuffer.h"
12 
13 #include <stdint.h>
14 #include <vector>
15 
16 extern "C"
17 {
18 #include <libavutil/pixfmt.h>
19 }
20 
21 namespace KODI
22 {
23 namespace RETRO
24 {
26 {
27 public:
28  CRenderBufferSysMem() = default;
29  ~CRenderBufferSysMem() override = default;
30 
31  // implementation of IRenderBuffer
32  bool Allocate(AVPixelFormat format, unsigned int width, unsigned int height) override;
33  size_t GetFrameSize() const override;
34  uint8_t* GetMemory() override;
35  DataAccess GetMemoryAccess() const override { return DataAccess::READ_WRITE; }
36 
37  // Utility functions
38  static size_t GetBufferSize(AVPixelFormat format, unsigned int width, unsigned int height);
39 
40 protected:
41  std::vector<uint8_t> m_data;
42 };
43 
44 } // namespace RETRO
45 } // namespace KODI
Definition: RenderBufferSysMem.h:25
Controller configuration window.
Definition: AudioDecoder.h:18
size_t GetFrameSize() const override
Definition: RenderBufferSysMem.cpp:35
Definition: BaseRenderBuffer.h:20