Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
VAAPI.cpp File Reference
#include "VAAPI.h"
#include "DVDVideoCodec.h"
#include "ServiceBroker.h"
#include "cores/VideoPlayer/DVDCodecs/DVDCodecUtils.h"
#include "cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.h"
#include "cores/VideoPlayer/Interface/TimingConstants.h"
#include "cores/VideoPlayer/Process/ProcessInfo.h"
#include "settings/AdvancedSettings.h"
#include "settings/Settings.h"
#include "settings/SettingsComponent.h"
#include "settings/lib/Setting.h"
#include "utils/MemUtils.h"
#include "utils/StringUtils.h"
#include "utils/XTimeUtils.h"
#include "utils/log.h"
#include "windowing/GraphicContext.h"
#include <array>
#include <mutex>
#include <drm_fourcc.h>
#include <va/va_drm.h>
#include <va/va_drmcommon.h>
#include <libavutil/avutil.h>
#include <libavutil/hwcontext.h>
#include <libavutil/hwcontext_vaapi.h>
#include <libavutil/opt.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
#include "system_egl.h"
#include <EGL/eglext.h>
#include <va/va_vpp.h>
#include <xf86drm.h>

Classes

class  VAAPI::CVaapiBufferPool
 

Macros

#define NUM_RENDER_PICS   7
 
#define SURFACE_USED_FOR_REFERENCE   0x01
 
#define SURFACE_USED_FOR_RENDER   0x02
 
#define CACHED_BUFFER_SIZE   4096
 

Enumerations

enum  OUTPUT_STATES {
  O_TOP = 0 , O_TOP_ERROR , O_TOP_UNCONFIGURED , O_TOP_CONFIGURED ,
  O_TOP_CONFIGURED_IDLE , O_TOP_CONFIGURED_WORK , O_TOP_CONFIGURED_STEP1 , O_TOP_CONFIGURED_STEP2 ,
  O_TOP_CONFIGURED_OUTPUT
}
 

Variables

constexpr auto SETTING_VIDEOPLAYER_USEVAAPI = "videoplayer.usevaapi"
 
constexpr auto SETTING_VIDEOPLAYER_USEVAAPIAV1 = "videoplayer.usevaapiav1"
 
constexpr auto SETTING_VIDEOPLAYER_USEVAAPIHEVC = "videoplayer.usevaapihevc"
 
constexpr auto SETTING_VIDEOPLAYER_USEVAAPIMPEG2 = "videoplayer.usevaapimpeg2"
 
constexpr auto SETTING_VIDEOPLAYER_USEVAAPIMPEG4 = "videoplayer.usevaapimpeg4"
 
constexpr auto SETTING_VIDEOPLAYER_USEVAAPIVC1 = "videoplayer.usevaapivc1"
 
constexpr auto SETTING_VIDEOPLAYER_USEVAAPIVP8 = "videoplayer.usevaapivp8"
 
constexpr auto SETTING_VIDEOPLAYER_USEVAAPIVP9 = "videoplayer.usevaapivp9"
 
constexpr auto SETTING_VIDEOPLAYER_PREFERVAAPIRENDER = "videoplayer.prefervaapirender"
 
int VAAPI_OUTPUT_parentStates []
 

Macro Definition Documentation

◆ CACHED_BUFFER_SIZE

#define CACHED_BUFFER_SIZE   4096

◆ NUM_RENDER_PICS

#define NUM_RENDER_PICS   7

◆ SURFACE_USED_FOR_REFERENCE

#define SURFACE_USED_FOR_REFERENCE   0x01

◆ SURFACE_USED_FOR_RENDER

#define SURFACE_USED_FOR_RENDER   0x02

Enumeration Type Documentation

◆ OUTPUT_STATES

Enumerator
O_TOP 
O_TOP_ERROR 
O_TOP_UNCONFIGURED 
O_TOP_CONFIGURED 
O_TOP_CONFIGURED_IDLE 
O_TOP_CONFIGURED_WORK 
O_TOP_CONFIGURED_STEP1 
O_TOP_CONFIGURED_STEP2 
O_TOP_CONFIGURED_OUTPUT 

Variable Documentation

◆ SETTING_VIDEOPLAYER_PREFERVAAPIRENDER

constexpr auto SETTING_VIDEOPLAYER_PREFERVAAPIRENDER = "videoplayer.prefervaapirender"
constexpr

◆ SETTING_VIDEOPLAYER_USEVAAPI

constexpr auto SETTING_VIDEOPLAYER_USEVAAPI = "videoplayer.usevaapi"
constexpr

◆ SETTING_VIDEOPLAYER_USEVAAPIAV1

constexpr auto SETTING_VIDEOPLAYER_USEVAAPIAV1 = "videoplayer.usevaapiav1"
constexpr

◆ SETTING_VIDEOPLAYER_USEVAAPIHEVC

constexpr auto SETTING_VIDEOPLAYER_USEVAAPIHEVC = "videoplayer.usevaapihevc"
constexpr

◆ SETTING_VIDEOPLAYER_USEVAAPIMPEG2

constexpr auto SETTING_VIDEOPLAYER_USEVAAPIMPEG2 = "videoplayer.usevaapimpeg2"
constexpr

◆ SETTING_VIDEOPLAYER_USEVAAPIMPEG4

constexpr auto SETTING_VIDEOPLAYER_USEVAAPIMPEG4 = "videoplayer.usevaapimpeg4"
constexpr

◆ SETTING_VIDEOPLAYER_USEVAAPIVC1

constexpr auto SETTING_VIDEOPLAYER_USEVAAPIVC1 = "videoplayer.usevaapivc1"
constexpr

◆ SETTING_VIDEOPLAYER_USEVAAPIVP8

constexpr auto SETTING_VIDEOPLAYER_USEVAAPIVP8 = "videoplayer.usevaapivp8"
constexpr

◆ SETTING_VIDEOPLAYER_USEVAAPIVP9

constexpr auto SETTING_VIDEOPLAYER_USEVAAPIVP9 = "videoplayer.usevaapivp9"
constexpr

◆ VAAPI_OUTPUT_parentStates

int VAAPI_OUTPUT_parentStates[]
Initial value:
= {
-1,
0,
0,
0,
3,
3,
3,
3,
3,
}