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 void cl_kernel_free (primitives_cl_kernel *kernel)
 
static primitives_cl_kernel * cl_kernel_new (const char *kernelName, const prim_size_t *roi)
 
static BOOL cl_kernel_set_sources (primitives_cl_kernel *ctx, const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3])
 
static BOOL cl_kernel_set_destination (primitives_cl_kernel *ctx, UINT32 dstStep)
 
static BOOL cl_kernel_process (primitives_cl_kernel *ctx, BYTE *pDst)
 
static pstatus_t opencl_YUVToRGB (const char *kernelName, const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, const prim_size_t *WINPR_RESTRICT roi)
 
static void cl_context_free (primitives_opencl_context *ctx)
 
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 WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi)
 
static pstatus_t opencl_YUV444ToRGB_8u_P3AC4R (const BYTE *const WINPR_RESTRICT pSrc[3], const UINT32 srcStep[3], BYTE *WINPR_RESTRICT pDst, UINT32 dstStep, UINT32 DstFormat, const prim_size_t *WINPR_RESTRICT roi)
 
BOOL primitives_init_opencl (primitives_t *prims)
 

Variables

static primitives_opencl_context openclContext = { 0 }
 
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

◆ cl_context_free()

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

◆ cl_kernel_free()

static void cl_kernel_free ( primitives_cl_kernel *  kernel)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cl_kernel_new()

static primitives_cl_kernel* cl_kernel_new ( const char *  kernelName,
const prim_size_t roi 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cl_kernel_process()

static BOOL cl_kernel_process ( primitives_cl_kernel *  ctx,
BYTE pDst 
)
static
Here is the caller graph for this function:

◆ cl_kernel_set_destination()

static BOOL cl_kernel_set_destination ( primitives_cl_kernel *  ctx,
UINT32  dstStep 
)
static
Here is the caller graph for this function:

◆ cl_kernel_set_sources()

static BOOL cl_kernel_set_sources ( primitives_cl_kernel *  ctx,
const BYTE *const WINPR_RESTRICT  pSrc[3],
const UINT32  srcStep[3] 
)
static
Here is the caller graph for this function:

◆ opencl_YUV420ToRGB_8u_P3AC4R()

static pstatus_t opencl_YUV420ToRGB_8u_P3AC4R ( const BYTE *const WINPR_RESTRICT  pSrc[3],
const UINT32  srcStep[3],
BYTE *WINPR_RESTRICT  pDst,
UINT32  dstStep,
UINT32  DstFormat,
const prim_size_t *WINPR_RESTRICT  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 WINPR_RESTRICT  pSrc[3],
const UINT32  srcStep[3],
BYTE *WINPR_RESTRICT  pDst,
UINT32  dstStep,
UINT32  DstFormat,
const prim_size_t *WINPR_RESTRICT  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 WINPR_RESTRICT  pSrc[3],
const UINT32  srcStep[3],
BYTE *WINPR_RESTRICT  pDst,
UINT32  dstStep,
const prim_size_t *WINPR_RESTRICT  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 call graph for this function:
Here is the caller graph for this function:

◆ primitives_uninit_opencl()

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

Variable Documentation

◆ openclContext

primitives_opencl_context openclContext = { 0 }
static

◆ openclProgram

const char openclProgram[] =
static