2020#include < stdexcept>
2121#include < string>
2222
23- #include " api/video/yuv_helper .h"
23+ #include " third_party/libyuv/include/libyuv .h"
2424#include " webrtc-sys/src/yuv_helper.rs.h"
2525
2626namespace livekit_ffi {
@@ -40,7 +40,7 @@ static void i420_to_argb(const uint8_t* src_y,
4040 int dst_stride_argb,
4141 int width,
4242 int height) {
43- THROW_ON_ERROR (webrtc ::I420ToARGB (src_y, src_stride_y, src_u, src_stride_u,
43+ THROW_ON_ERROR (libyuv ::I420ToARGB (src_y, src_stride_y, src_u, src_stride_u,
4444 src_v, src_stride_v, dst_argb,
4545 dst_stride_argb, width, height));
4646}
@@ -55,7 +55,7 @@ static void i420_to_bgra(const uint8_t* src_y,
5555 int dst_stride_bgra,
5656 int width,
5757 int height) {
58- THROW_ON_ERROR (webrtc ::I420ToBGRA (src_y, src_stride_y, src_u, src_stride_u,
58+ THROW_ON_ERROR (libyuv ::I420ToBGRA (src_y, src_stride_y, src_u, src_stride_u,
5959 src_v, src_stride_v, dst_bgra,
6060 dst_stride_bgra, width, height));
6161}
@@ -70,7 +70,7 @@ static void i420_to_abgr(const uint8_t* src_y,
7070 int dst_stride_abgr,
7171 int width,
7272 int height) {
73- THROW_ON_ERROR (webrtc ::I420ToABGR (src_y, src_stride_y, src_u, src_stride_u,
73+ THROW_ON_ERROR (libyuv ::I420ToABGR (src_y, src_stride_y, src_u, src_stride_u,
7474 src_v, src_stride_v, dst_abgr,
7575 dst_stride_abgr, width, height));
7676}
@@ -85,7 +85,7 @@ static void i420_to_rgba(const uint8_t* src_y,
8585 int dst_stride_rgba,
8686 int width,
8787 int height) {
88- THROW_ON_ERROR (webrtc ::I420ToRGBA (src_y, src_stride_y, src_u, src_stride_u,
88+ THROW_ON_ERROR (libyuv ::I420ToRGBA (src_y, src_stride_y, src_u, src_stride_u,
8989 src_v, src_stride_v, dst_rgba,
9090 dst_stride_rgba, width, height));
9191}
@@ -100,7 +100,7 @@ static void argb_to_i420(const uint8_t* src_argb,
100100 int dst_stride_v,
101101 int width,
102102 int height) {
103- THROW_ON_ERROR (webrtc ::ARGBToI420 (src_argb, src_stride_argb, dst_y,
103+ THROW_ON_ERROR (libyuv ::ARGBToI420 (src_argb, src_stride_argb, dst_y,
104104 dst_stride_y, dst_u, dst_stride_u, dst_v,
105105 dst_stride_v, width, height));
106106}
@@ -115,7 +115,7 @@ static void abgr_to_i420(const uint8_t* src_abgr,
115115 int dst_stride_v,
116116 int width,
117117 int height) {
118- THROW_ON_ERROR (webrtc ::ABGRToI420 (src_abgr, src_stride_abgr, dst_y,
118+ THROW_ON_ERROR (libyuv ::ABGRToI420 (src_abgr, src_stride_abgr, dst_y,
119119 dst_stride_y, dst_u, dst_stride_u, dst_v,
120120 dst_stride_v, width, height));
121121}
@@ -126,7 +126,7 @@ static void argb_to_rgb24(const uint8_t* src_argb,
126126 int dst_stride_rgb24,
127127 int width,
128128 int height) {
129- THROW_ON_ERROR (webrtc ::ARGBToRGB24 (src_argb, src_stride_argb, dst_rgb24,
129+ THROW_ON_ERROR (libyuv ::ARGBToRGB24 (src_argb, src_stride_argb, dst_rgb24,
130130 dst_stride_rgb24, width, height));
131131}
132132
@@ -142,7 +142,7 @@ static void i420_to_nv12(const uint8_t* src_y,
142142 int dst_stride_uv,
143143 int width,
144144 int height) {
145- THROW_ON_ERROR (webrtc ::I420ToNV12 (src_y, src_stride_y, src_u, src_stride_u,
145+ THROW_ON_ERROR (libyuv ::I420ToNV12 (src_y, src_stride_y, src_u, src_stride_u,
146146 src_v, src_stride_v, dst_y, dst_stride_y,
147147 dst_uv, dst_stride_uv, width, height));
148148}
@@ -159,28 +159,11 @@ static void nv12_to_i420(const uint8_t* src_y,
159159 int dst_stride_v,
160160 int width,
161161 int height) {
162- THROW_ON_ERROR (webrtc ::NV12ToI420 (src_y, src_stride_y, src_uv, src_stride_uv,
162+ THROW_ON_ERROR (libyuv ::NV12ToI420 (src_y, src_stride_y, src_uv, src_stride_uv,
163163 dst_y, dst_stride_y, dst_u, dst_stride_u,
164164 dst_v, dst_stride_v, width, height));
165165}
166166
167- static void i420_to_nv12 (const uint8_t * src_y,
168- int src_stride_y,
169- const uint8_t * src_u,
170- int src_stride_u,
171- uint8_t * src_v,
172- int src_stride_v,
173- uint8_t * dst_y,
174- int dst_stride_y,
175- uint8_t * dst_uv,
176- int dst_stride_uv,
177- int width,
178- int height) {
179- THROW_ON_ERROR (webrtc::NV12ToI420 (src_y, src_stride_y, src_u, src_stride_u,
180- src_v, src_stride_v, dst_y, dst_stride_y,
181- dst_uv, dst_stride_uv, width, height));
182- }
183-
184167static void i444_to_i420 (const uint8_t * src_y,
185168 int src_stride_y,
186169 const uint8_t * src_u,
@@ -195,7 +178,7 @@ static void i444_to_i420(const uint8_t* src_y,
195178 int dst_stride_v,
196179 int width,
197180 int height) {
198- THROW_ON_ERROR (webrtc ::I444ToI420 (
181+ THROW_ON_ERROR (libyuv ::I444ToI420 (
199182 src_y, src_stride_y, src_u, src_stride_u, src_v, src_stride_v, dst_y,
200183 dst_stride_y, dst_u, dst_stride_u, dst_v, dst_stride_v, width, height));
201184}
@@ -214,7 +197,7 @@ static void i422_to_i420(const uint8_t* src_y,
214197 int dst_stride_v,
215198 int width,
216199 int height) {
217- THROW_ON_ERROR (webrtc ::I422ToI420 (
200+ THROW_ON_ERROR (libyuv ::I422ToI420 (
218201 src_y, src_stride_y, src_u, src_stride_u, src_v, src_stride_v, dst_y,
219202 dst_stride_y, dst_u, dst_stride_u, dst_v, dst_stride_v, width, height));
220203}
@@ -233,7 +216,7 @@ static void i010_to_i420(const uint16_t* src_y,
233216 int dst_stride_v,
234217 int width,
235218 int height) {
236- THROW_ON_ERROR (webrtc ::I010ToI420 (
219+ THROW_ON_ERROR (libyuv ::I010ToI420 (
237220 src_y, src_stride_y, src_u, src_stride_u, src_v, src_stride_v, dst_y,
238221 dst_stride_y, dst_u, dst_stride_u, dst_v, dst_stride_v, width, height));
239222}
@@ -246,7 +229,7 @@ static void nv12_to_argb(const uint8_t* src_y,
246229 int dst_stride_argb,
247230 int width,
248231 int height) {
249- THROW_ON_ERROR (webrtc ::NV12ToARGB (src_y, src_stride_y, src_uv, src_stride_uv,
232+ THROW_ON_ERROR (libyuv ::NV12ToARGB (src_y, src_stride_y, src_uv, src_stride_uv,
250233 dst_argb, dst_stride_argb, width, height));
251234}
252235
@@ -258,7 +241,7 @@ static void nv12_to_abgr(const uint8_t* src_y,
258241 int dst_stride_abgr,
259242 int width,
260243 int height) {
261- THROW_ON_ERROR (webrtc ::NV12ToABGR (src_y, src_stride_y, src_uv, src_stride_uv,
244+ THROW_ON_ERROR (libyuv ::NV12ToABGR (src_y, src_stride_y, src_uv, src_stride_uv,
262245 dst_abgr, dst_stride_abgr, width, height));
263246}
264247
@@ -272,7 +255,7 @@ static void i444_to_argb(const uint8_t* src_y,
272255 int dst_stride_abgr,
273256 int width,
274257 int height) {
275- THROW_ON_ERROR (webrtc ::I444ToARGB (src_y, src_stride_y, src_u, src_stride_u,
258+ THROW_ON_ERROR (libyuv ::I444ToARGB (src_y, src_stride_y, src_u, src_stride_u,
276259 src_v, src_stride_v, dst_abgr,
277260 dst_stride_abgr, width, height));
278261}
@@ -287,7 +270,7 @@ static void i444_to_abgr(const uint8_t* src_y,
287270 int dst_stride_abgr,
288271 int width,
289272 int height) {
290- THROW_ON_ERROR (webrtc ::I444ToABGR (src_y, src_stride_y, src_u, src_stride_u,
273+ THROW_ON_ERROR (libyuv ::I444ToABGR (src_y, src_stride_y, src_u, src_stride_u,
291274 src_v, src_stride_v, dst_abgr,
292275 dst_stride_abgr, width, height));
293276}
@@ -302,7 +285,7 @@ static void i422_to_argb(const uint8_t* src_y,
302285 int dst_stride_argb,
303286 int width,
304287 int height) {
305- THROW_ON_ERROR (webrtc ::I422ToARGB (src_y, src_stride_y, src_u, src_stride_u,
288+ THROW_ON_ERROR (libyuv ::I422ToARGB (src_y, src_stride_y, src_u, src_stride_u,
306289 src_v, src_stride_v, dst_argb,
307290 dst_stride_argb, width, height));
308291}
@@ -317,7 +300,7 @@ static void i422_to_abgr(const uint8_t* src_y,
317300 int dst_stride_abgr,
318301 int width,
319302 int height) {
320- THROW_ON_ERROR (webrtc ::I422ToABGR (src_y, src_stride_y, src_u, src_stride_u,
303+ THROW_ON_ERROR (libyuv ::I422ToABGR (src_y, src_stride_y, src_u, src_stride_u,
321304 src_v, src_stride_v, dst_abgr,
322305 dst_stride_abgr, width, height));
323306}
@@ -332,7 +315,7 @@ static void i010_to_argb(const uint16_t* src_y,
332315 int dst_stride_argb,
333316 int width,
334317 int height) {
335- THROW_ON_ERROR (webrtc ::I010ToARGB (src_y, src_stride_y, src_u, src_stride_u,
318+ THROW_ON_ERROR (libyuv ::I010ToARGB (src_y, src_stride_y, src_u, src_stride_u,
336319 src_v, src_stride_v, dst_argb,
337320 dst_stride_argb, width, height));
338321}
@@ -347,7 +330,7 @@ static void i010_to_abgr(const uint16_t* src_y,
347330 int dst_stride_abgr,
348331 int width,
349332 int height) {
350- THROW_ON_ERROR (webrtc ::I010ToABGR (src_y, src_stride_y, src_u, src_stride_u,
333+ THROW_ON_ERROR (libyuv ::I010ToABGR (src_y, src_stride_y, src_u, src_stride_u,
351334 src_v, src_stride_v, dst_abgr,
352335 dst_stride_abgr, width, height));
353336}
@@ -360,7 +343,7 @@ static void abgr_to_nv12(const uint8_t* src_abgr,
360343 int dst_stride_uv,
361344 int width,
362345 int height) {
363- THROW_ON_ERROR (webrtc ::ABGRToNV12 (src_abgr, src_stride_abgr, dst_y,
346+ THROW_ON_ERROR (libyuv ::ABGRToNV12 (src_abgr, src_stride_abgr, dst_y,
364347 dst_stride_y, dst_uv, dst_stride_uv, width,
365348 height));
366349}
@@ -373,7 +356,7 @@ static void argb_to_nv12(const uint8_t* src_argb,
373356 int dst_stride_uv,
374357 int width,
375358 int height) {
376- THROW_ON_ERROR (webrtc ::ARGBToNV12 (src_argb, src_stride_argb, dst_y,
359+ THROW_ON_ERROR (libyuv ::ARGBToNV12 (src_argb, src_stride_argb, dst_y,
377360 dst_stride_y, dst_uv, dst_stride_uv, width,
378361 height));
379362}
0 commit comments