MCPcopy Create free account
hub / github.com/BabitMF/bmf / c_vframe_to_python_vframe

Method c_vframe_to_python_vframe

bmf/modules/c_module.py:160–185  ·  view source on GitHub ↗
(self, c_frame)

Source from the content-addressed store, hash-verified

158 return c_pkt
159
160 def c_vframe_to_python_vframe(self, c_frame):
161 buf_pointers = []
162 line_size = []
163 last_plane_size = 0
164
165 # prepare buffer pointer and line size
166 for c_plane in c_frame.py_get_planes():
167 buf_pointers.append(c_frame.py_get_buffer() + last_plane_size)
168 last_plane_size += c_plane.get_size()
169 line_size.append(c_plane.get_stride())
170
171 # create av frame with external buffer
172 py_frame = VideoFrame(c_frame.get_width(), c_frame.get_height(),
173 c_frame.get_format(), buf_pointers, line_size)
174
175 # set pts
176 py_frame.pts = c_frame.get_pts()
177
178 # set time base
179 py_frame.time_base = Fraction(c_frame.get_time_base().num,
180 c_frame.get_time_base().den)
181
182 # transfer the buffer owner to av.frame
183 c_frame.release()
184
185 return py_frame
186
187 def c_aframe_to_python_aframe(self, c_frame):
188 buf_pointers = []

Callers 1

Calls 7

VideoFrameFunction · 0.90
FractionClass · 0.85
get_sizeMethod · 0.45
get_widthMethod · 0.45
get_heightMethod · 0.45
get_formatMethod · 0.45
releaseMethod · 0.45

Tested by

no test coverage detected