duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

hwcontext_cuda.h (1843B)


      1 /*
      2  * This file is part of FFmpeg.
      3  *
      4  * FFmpeg is free software; you can redistribute it and/or
      5  * modify it under the terms of the GNU Lesser General Public
      6  * License as published by the Free Software Foundation; either
      7  * version 2.1 of the License, or (at your option) any later version.
      8  *
      9  * FFmpeg is distributed in the hope that it will be useful,
     10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     12  * Lesser General Public License for more details.
     13  *
     14  * You should have received a copy of the GNU Lesser General Public
     15  * License along with FFmpeg; if not, write to the Free Software
     16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
     17  */
     18 
     19 
     20 #ifndef AVUTIL_HWCONTEXT_CUDA_H
     21 #define AVUTIL_HWCONTEXT_CUDA_H
     22 
     23 #ifndef CUDA_VERSION
     24 #include <cuda.h>
     25 #endif
     26 
     27 #include "pixfmt.h"
     28 
     29 /**
     30  * @file
     31  * An API-specific header for AV_HWDEVICE_TYPE_CUDA.
     32  *
     33  * This API supports dynamic frame pools. AVHWFramesContext.pool must return
     34  * AVBufferRefs whose data pointer is a CUdeviceptr.
     35  */
     36 
     37 typedef struct AVCUDADeviceContextInternal AVCUDADeviceContextInternal;
     38 
     39 /**
     40  * This struct is allocated as AVHWDeviceContext.hwctx
     41  */
     42 typedef struct AVCUDADeviceContext {
     43     CUcontext cuda_ctx;
     44     CUstream stream;
     45     AVCUDADeviceContextInternal *internal;
     46 } AVCUDADeviceContext;
     47 
     48 /**
     49  * AVHWFramesContext.hwctx is currently not used
     50  */
     51 
     52 /**
     53  * @defgroup hwcontext_cuda Device context creation flags
     54  *
     55  * Flags for av_hwdevice_ctx_create.
     56  *
     57  * @{
     58  */
     59 
     60 /**
     61  * Use primary device context instead of creating a new one.
     62  */
     63 #define AV_CUDA_USE_PRIMARY_CONTEXT (1 << 0)
     64 
     65 /**
     66  * Use current device context instead of creating a new one.
     67  */
     68 #define AV_CUDA_USE_CURRENT_CONTEXT (1 << 1)
     69 
     70 /**
     71  * @}
     72  */
     73 
     74 #endif /* AVUTIL_HWCONTEXT_CUDA_H */