@@ -4,27 +4,27 @@ from cython.parallel import prange
4
4
import numpy as np
5
5
cimport numpy as cnp
6
6
# from scipy.ndimage import zoom
7
- from pylibde265 cimport pyde265
7
+ from pylibde265 cimport de265
8
8
9
9
def get_version ():
10
- return pyde265 .de265_get_version().decode(' ascii' )
10
+ return de265 .de265_get_version().decode(' ascii' )
11
11
12
12
cdef class decoder(object ):
13
13
cdef int threads
14
14
cdef int buffer_size
15
- cdef pyde265 .de265_decoder_context* ctx
15
+ cdef de265 .de265_decoder_context* ctx
16
16
cdef readonly int w,h,chroma,bps,pts,ttd_max,ttd
17
17
cdef readonly int wC,hC
18
18
19
19
def __cinit__ (self ,int threads ,int buffer_size = 102400 ):
20
- self .ctx = pyde265 .de265_new_decoder()
21
- pyde265 .de265_start_worker_threads(self .ctx,threads)
20
+ self .ctx = de265 .de265_new_decoder()
21
+ de265 .de265_start_worker_threads(self .ctx,threads)
22
22
23
23
def __init__ (self ,int threads ,int buffer_size = 102400 ):
24
24
self .buffer_size = buffer_size
25
25
26
26
def __dealloc__ (self ):
27
- pyde265 .de265_free_decoder(self .ctx)
27
+ de265 .de265_free_decoder(self .ctx)
28
28
29
29
def load (self ,str vedio_path ):
30
30
buffer = bytearray(self .buffer_size)
@@ -37,12 +37,12 @@ cdef class decoder(object):
37
37
bytes_read = data.readinto(buffer )
38
38
39
39
while bytes_read > 0 :
40
- dec_error = pyde265 .de265_push_data(self .ctx, ba, bytes_read, pts, & user_data)
40
+ dec_error = de265 .de265_push_data(self .ctx, ba, bytes_read, pts, & user_data)
41
41
# print([dec_error,bytes_read])
42
42
pts += bytes_read
43
43
bytes_read = data.readinto(buffer )
44
44
45
- dec_error = pyde265 .de265_flush_data(self .ctx)
45
+ dec_error = de265 .de265_flush_data(self .ctx)
46
46
data.close()
47
47
48
48
return dec_error
@@ -61,22 +61,22 @@ cdef class decoder(object):
61
61
more = 0
62
62
63
63
with nogil:
64
- dec_error = pyde265 .de265_decode(self .ctx, & more)
64
+ dec_error = de265 .de265_decode(self .ctx, & more)
65
65
# print(f'decode:{dec_error},more?{more}')
66
- image_ptr = pyde265 .de265_get_next_picture(self .ctx)
66
+ image_ptr = de265 .de265_get_next_picture(self .ctx)
67
67
68
68
if image_ptr == NULL :
69
69
# print("Image pointer is null -> not yielding any image")
70
70
continue
71
71
72
72
# print('get image')
73
- self .w = pyde265 .de265_get_image_width(image_ptr,0 )
74
- self .h = pyde265 .de265_get_image_height(image_ptr,0 )
75
- self .chroma = pyde265 .de265_get_chroma_format(image_ptr)
76
- self .bps = pyde265 .de265_get_bits_per_pixel(image_ptr,0 )
77
- self .pts = pyde265 .de265_get_image_PTS(image_ptr)
78
- self .ttd_max = pyde265 .de265_get_highest_TID(self .ctx)
79
- self .ttd = pyde265 .de265_get_current_TID(self .ctx)
73
+ self .w = de265 .de265_get_image_width(image_ptr,0 )
74
+ self .h = de265 .de265_get_image_height(image_ptr,0 )
75
+ self .chroma = de265 .de265_get_chroma_format(image_ptr)
76
+ self .bps = de265 .de265_get_bits_per_pixel(image_ptr,0 )
77
+ self .pts = de265 .de265_get_image_PTS(image_ptr)
78
+ self .ttd_max = de265 .de265_get_highest_TID(self .ctx)
79
+ self .ttd = de265 .de265_get_current_TID(self .ctx)
80
80
81
81
if self .chroma == 1 : # 4:2:0
82
82
self .wC = self .w // 2
@@ -90,9 +90,9 @@ cdef class decoder(object):
90
90
else : # chroma==0
91
91
raise ValueError (f" unsupport chroma format:{self.chroma}" )
92
92
93
- bufferY = pyde265 .de265_get_image_plane(image_ptr,0 ,& ystride)
94
- bufferCb = pyde265 .de265_get_image_plane(image_ptr,1 ,& cstride)
95
- bufferCr = pyde265 .de265_get_image_plane(image_ptr,2 ,& cstride)
93
+ bufferY = de265 .de265_get_image_plane(image_ptr,0 ,& ystride)
94
+ bufferCb = de265 .de265_get_image_plane(image_ptr,1 ,& cstride)
95
+ bufferCr = de265 .de265_get_image_plane(image_ptr,2 ,& cstride)
96
96
97
97
image = np.empty((self .h, self .w, 3 ), dtype = np.uint8)
98
98
@@ -122,5 +122,5 @@ cdef class decoder(object):
122
122
self .free_image()
123
123
124
124
def free_image (self ):
125
- pyde265 .de265_release_next_picture(self .ctx)
125
+ de265 .de265_release_next_picture(self .ctx)
126
126
0 commit comments