FreeRDP
prim_YUV_opencl.c File Reference
#include <freerdp/config.h>
#include <freerdp/types.h>
#include <freerdp/primitives.h>
#include "prim_internal.h"
#include <freerdp/log.h>
#include "primitives.cl"

Macros

#define TAG   FREERDP_TAG("primitives")
 

Functions

static primitives_opencl_context * primitives_get_opencl_context (void)
 
static pstatus_t opencl_YUVToRGB (const char *kernelName, const BYTE *const pSrc[3], const UINT32 srcStep[3], BYTE *pDst, UINT32 dstStep, const prim_size_t *roi)
 
static pstatus_t primitives_uninit_opencl (void)
 
static BOOL primitives_init_opencl_context (primitives_opencl_context *cl)
 
static pstatus_t opencl_YUV420ToRGB_8u_P3AC4R (const BYTE *const pSrc[3], const UINT32 srcStep[3], BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
 
static pstatus_t opencl_YUV444ToRGB_8u_P3AC4R (const BYTE *const pSrc[3], const UINT32 srcStep[3], BYTE *pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *roi)
 
BOOL primitives_init_opencl (primitives_t *prims)
 

Variables

static primitives_opencl_context openclContext
 
static const char * openclProgram =
 

Macro Definition Documentation

◆ TAG

#define TAG   FREERDP_TAG("primitives")

FreeRDP: A Remote Desktop Protocol Implementation Optimized YUV/RGB conversion operations using openCL

Copyright 2019 David Fort conta.nosp@m.ct@h.nosp@m.arden.nosp@m.ing-.nosp@m.consu.nosp@m.ltin.nosp@m.g.com Copyright 2019 Rangee Gmbh

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

◆ opencl_YUV420ToRGB_8u_P3AC4R()

static pstatus_t opencl_YUV420ToRGB_8u_P3AC4R ( const BYTE *const  pSrc[3],
const UINT32  srcStep[3],
BYTE pDst,
UINT32  dstStep,
UINT32  DstFormat,
const prim_size_t roi 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ opencl_YUV444ToRGB_8u_P3AC4R()

static pstatus_t opencl_YUV444ToRGB_8u_P3AC4R ( const BYTE *const  pSrc[3],
const UINT32  srcStep[3],
BYTE pDst,
UINT32  dstStep,
UINT32  DstFormat,
const prim_size_t roi 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ opencl_YUVToRGB()

static pstatus_t opencl_YUVToRGB ( const char *  kernelName,
const BYTE *const  pSrc[3],
const UINT32  srcStep[3],
BYTE pDst,
UINT32  dstStep,
const prim_size_t roi 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ primitives_get_opencl_context()

static primitives_opencl_context * primitives_get_opencl_context ( void  )
static
Here is the caller graph for this function:

◆ primitives_init_opencl()

BOOL primitives_init_opencl ( primitives_t prims)
Here is the call graph for this function:

◆ primitives_init_opencl_context()

static BOOL primitives_init_opencl_context ( primitives_opencl_context *  cl)
static
Here is the caller graph for this function:

◆ primitives_uninit_opencl()

static pstatus_t primitives_uninit_opencl ( void  )
static
Here is the caller graph for this function:

Variable Documentation

◆ openclContext

primitives_opencl_context openclContext
static

◆ openclProgram

const char* openclProgram =
static