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

Method python_vframe_to_c_vframe

bmf/modules/c_module.py:57–84  ·  view source on GitHub ↗
(self, py_frame)

Source from the content-addressed store, hash-verified

55
56 # convert avframe(ffmpeg frame) to bmf frame
57 def python_vframe_to_c_vframe(self, py_frame):
58 planes = []
59
60 # buffer pointer
61 buffer_pointer = py_frame.planes[0].buffer_ptr
62
63 prev_plane_size = 0
64 for i, py_plane in enumerate(py_frame.planes):
65 # copy video plane data from av frame to bmf frame
66 planes.append(
67 csdk.VideoPlane(py_plane.line_size, py_plane.width,
68 py_plane.height, py_plane.buffer_size,
69 py_plane.buffer_ptr))
70
71 # create bmf frame
72 c_frame = csdk.VideoFrame(py_frame.width, py_frame.height,
73 py_frame.format.name, 0, buffer_pointer,
74 planes)
75
76 # set pts
77 c_frame.set_pts(py_frame.pts)
78
79 # set time base
80 c_time_base = csdk.Rational(py_frame.time_base.numerator,
81 py_frame.time_base.denominator)
82 c_frame.set_time_base(c_time_base)
83
84 return c_frame
85
86 def python_aframe_to_c_aframe(self, py_frame):
87 planes = []

Callers 1

Calls 1

VideoFrameMethod · 0.45

Tested by

no test coverage detected