# Configuration information for video process test case.
#    This application will firstly load yuv frames to one type of surface(NV12/RBGP)
#  you require. After GPU HW copy, the processed content (NV12/RGBP surface)
#  will be stored to frames.
#    Supported features include intput/ouput internal surface and external(usrptr surface) copy. 
#  you can modify this configuration file to set the corresponding parameters.

#1.Source YUV(RGB) file information
SRC_FILE_NAME: ./src_480x320.nv12
SRC_FRAME_WIDTH: 480
SRC_FRAME_HEIGHT: 320
SRC_FRAME_FORMAT: NV12

#Note .nv12 files are in NV12 format
SRC_FILE_FORMAT: NV12

# source surface memory type
# supported type: (CPU, VA), default: VA
SRC_SURFACE_MEMORY_TYPE: VA

#if use usrptr CPU memory type, can support customization align size
SRC_SURFACE_CPU_ALIGN_SIZE: 1

#2.Destination YUV(RGB) file information
DST_FILE_NAME:    ./dst_480x320.nv12
DST_FRAME_WIDTH:  480
DST_FRAME_HEIGHT: 320
DST_FRAME_FORMAT: NV12

#Note .nv12 files are in NV12 format
DST_FILE_FORMAT: NV12

# destination surface memory type
# supported type: (CPU, VA), default: VA
DST_SURFACE_MEMORY_TYPE: VA

#if use usrptr CPU memory type, can support customization align size
DST_SURFACE_CPU_ALIGN_SIZE: 128

FRAME_SUM: 1

# hw engine select, 0:balance 1:perf, 2 powersaving
COPY_METHOD: 1
