2828_cuda_device_ctx_cache = {}
2929_cuda_frames_ctx_cache = {}
3030
31+
3132@cython .cfunc
3233def _consume_dlpack (obj : object , stream : object ) -> cython .pointer [DLManagedTensor ]:
3334 capsule : object
@@ -40,7 +41,9 @@ def _consume_dlpack(obj: object, stream: object) -> cython.pointer[DLManagedTens
4041
4142 if not PyCapsule_IsValid (capsule , b"dltensor" ):
4243 PyErr_Clear ()
43- raise TypeError ("expected a DLPack capsule or an object implementing __dlpack__" )
44+ raise TypeError (
45+ "expected a DLPack capsule or an object implementing __dlpack__"
46+ )
4447
4548 managed = cython .cast (
4649 cython .pointer [DLManagedTensor ],
@@ -54,6 +57,7 @@ def _consume_dlpack(obj: object, stream: object) -> cython.pointer[DLManagedTens
5457
5558 return managed
5659
60+
5761@cython .cfunc
5862@cython .nogil
5963@cython .exceptval (check = False )
@@ -67,6 +71,7 @@ def _dlpack_avbuffer_free(
6771 if managed != cython .NULL :
6872 managed .deleter (managed )
6973
74+
7075@cython .cfunc
7176def _get_cuda_device_ctx (
7277 device_id : cython .int ,
@@ -103,6 +108,7 @@ def _get_cuda_device_ctx(
103108 _cuda_device_ctx_cache [key ] = cython .cast (cython .size_t , device_ref )
104109 return device_ref
105110
111+
106112@cython .cfunc
107113def _get_cuda_frames_ctx (
108114 device_id : cython .int ,
@@ -398,7 +404,9 @@ def planes(self):
398404 frames_ctx : cython .pointer [AVHWFramesContext ] = cython .cast (
399405 cython .pointer [AVHWFramesContext ], self .ptr .hw_frames_ctx .data
400406 )
401- fmt = get_video_format (frames_ctx .sw_format , self .ptr .width , self .ptr .height )
407+ fmt = get_video_format (
408+ frames_ctx .sw_format , self .ptr .width , self .ptr .height
409+ )
402410
403411 max_plane_count : cython .int = 0
404412 for i in range (fmt .ptr .nb_components ):
@@ -1347,7 +1355,9 @@ def from_dlpack(
13471355 planes = (planes ,)
13481356
13491357 if len (planes ) != 2 :
1350- raise ValueError ("from_dlpack currently supports 2-plane formats only (nv12/p010le/p016le)" )
1358+ raise ValueError (
1359+ "from_dlpack currently supports 2-plane formats only (nv12/p010le/p016le)"
1360+ )
13511361
13521362 sw_fmt : lib .AVPixelFormat = get_pix_fmt (format )
13531363 nv12 = get_pix_fmt (b"nv12" )
@@ -1373,7 +1383,9 @@ def from_dlpack(
13731383 if dev_type0 != dev_type1 :
13741384 raise ValueError ("plane tensors must have the same device_type" )
13751385 if dev_type0 not in {kDLCUDA , kDLCPU }:
1376- raise NotImplementedError ("only CPU and CUDA DLPack tensors are supported" )
1386+ raise NotImplementedError (
1387+ "only CPU and CUDA DLPack tensors are supported"
1388+ )
13771389
13781390 dev0 = m0 .dl_tensor .device .device_id
13791391 dev1 = m1 .dl_tensor .device .device_id
@@ -1385,7 +1397,9 @@ def from_dlpack(
13851397 if device_id is None :
13861398 device_id = dev0
13871399 elif device_id != dev0 :
1388- raise ValueError ("device_id does not match the DLPack tensor device_id" )
1400+ raise ValueError (
1401+ "device_id does not match the DLPack tensor device_id"
1402+ )
13891403 else :
13901404 if device_id not in (None , 0 ):
13911405 raise ValueError ("device_id must be 0 for CPU tensors" )
@@ -1445,7 +1459,9 @@ def from_dlpack(
14451459 raise ValueError ("plane 1 must have shape (H/2, W) for 2D UV" )
14461460 if m1 .dl_tensor .strides != cython .NULL :
14471461 if m1 .dl_tensor .strides [1 ] != 1 :
1448- raise ValueError ("plane 1 must be contiguous in the last dimension" )
1462+ raise ValueError (
1463+ "plane 1 must be contiguous in the last dimension"
1464+ )
14491465 uv_pitch_elems = cython .cast (int64_t , m1 .dl_tensor .strides [0 ])
14501466 else :
14511467 uv_pitch_elems = cython .cast (int64_t , uv_w )
@@ -1457,7 +1473,9 @@ def from_dlpack(
14571473 raise ValueError ("plane 1 must have shape (H/2, W/2, 2) for 3D UV" )
14581474 if m1 .dl_tensor .strides != cython .NULL :
14591475 if m1 .dl_tensor .strides [2 ] != 1 or m1 .dl_tensor .strides [1 ] != 2 :
1460- raise ValueError ("unexpected UV plane strides for (H/2, W/2, 2)" )
1476+ raise ValueError (
1477+ "unexpected UV plane strides for (H/2, W/2, 2)"
1478+ )
14611479 uv_pitch_elems = cython .cast (int64_t , m1 .dl_tensor .strides [0 ])
14621480 else :
14631481 uv_pitch_elems = cython .cast (int64_t , width )
@@ -1477,7 +1495,9 @@ def from_dlpack(
14771495 raise TypeError ("primary_ctx must be a bool" )
14781496 primary_ctx = bool (primary_ctx )
14791497
1480- frames_ref = _get_cuda_frames_ctx (device_id , primary_ctx , sw_fmt , width , height )
1498+ frames_ref = _get_cuda_frames_ctx (
1499+ device_id , primary_ctx , sw_fmt , width , height
1500+ )
14811501
14821502 frame .ptr .format = get_pix_fmt (b"cuda" )
14831503 frame .ptr .hw_frames_ctx = lib .av_buffer_ref (frames_ref )
@@ -1486,12 +1506,12 @@ def from_dlpack(
14861506 else :
14871507 frame .ptr .format = sw_fmt
14881508
1489- y_ptr = cython .cast (cython . pointer [ uint8_t ], m0 . dl_tensor . data ) + cython . cast (
1490- cython .size_t , m0 .dl_tensor .byte_offset
1491- )
1492- uv_ptr = cython .cast (cython . pointer [ uint8_t ], m1 . dl_tensor . data ) + cython . cast (
1493- cython .size_t , m1 .dl_tensor .byte_offset
1494- )
1509+ y_ptr = cython .cast (
1510+ cython .pointer [ uint8_t ] , m0 .dl_tensor .data
1511+ ) + cython . cast ( cython . size_t , m0 . dl_tensor . byte_offset )
1512+ uv_ptr = cython .cast (
1513+ cython .pointer [ uint8_t ] , m1 .dl_tensor .data
1514+ ) + cython . cast ( cython . size_t , m1 . dl_tensor . byte_offset )
14951515
14961516 frame .ptr .buf [0 ] = lib .av_buffer_create (
14971517 y_ptr , y_size , _dlpack_avbuffer_free , cython .cast (cython .p_void , m0 ), 0
@@ -1503,7 +1523,11 @@ def from_dlpack(
15031523 m0 = cython .NULL
15041524
15051525 frame .ptr .buf [1 ] = lib .av_buffer_create (
1506- uv_ptr , uv_size , _dlpack_avbuffer_free , cython .cast (cython .p_void , m1 ), 0
1526+ uv_ptr ,
1527+ uv_size ,
1528+ _dlpack_avbuffer_free ,
1529+ cython .cast (cython .p_void , m1 ),
1530+ 0 ,
15071531 )
15081532 if frame .ptr .buf [1 ] == cython .NULL :
15091533 raise MemoryError ("av_buffer_create failed for plane 1" )
0 commit comments