Bất cứ ai có thể giới thiệu API thực sự nhanh, lý tưởng NEON được tối ưu hóa để thực hiện chuyển đổi YUV sang RGB khi chạy trên iPhone bằng CPU? VImage của khung công tác tăng tốc không cung cấp bất kỳ thứ gì phù hợp, đáng buồn và sử dụng vDSP, chuyển đổi sang phao nổi và ngược lại dường như không tối ưu và gần như nhiều công việc khi viết NEON.YUV420P nhanh nhất để chuyển đổi RGBA trên iOS bằng cách sử dụng CPU
Tôi biết cách sử dụng GPU cho điều này thông qua trình đổ bóng và trên thực tế đã làm như vậy để hiển thị mặt phẳng video chính của tôi. Thật không may, tôi cũng cần tạo và lưu các kết cấu RGBA của các phần con của màn hình khi chạy. Hầu hết các câu trả lời hay cho câu hỏi này liên quan đến shader, nhưng tôi không muốn sử dụng GPU cho công việc bổ sung đó, bởi vì:
(1) Mặc dù tôi có thể sử dụng RenderTextures và trình đổ bóng YUV của tôi để chuyển đổi và lưu trữ vùng nhớ , Tôi không muốn thêm bất kỳ sự đồng bộ/phức tạp nào nữa vào ứng dụng. (Tôi đã vượt qua kết cấu từ một CVTextureCache để Unity3D ... Tôi đang chuyển trạng thái từ OpenGL sau lưng Unity3D trong nhiều trường hợp đã và không muốn thực hiện thêm bất kỳ lỗi nào ...)
(2) Thực tế hơn Tôi đang viết một trò chơi và không có bất kỳ GPU nào để dự phòng (vì các trò chơi thường không - tôi đã trình bày thêm về cách loại bỏ mọi thứ trong GPU trong vài năm qua so với cách đặt mọi thứ lên đó. ..)
(3) Trên iPad, tôi có một lõi dự phòng ngồi ở đó không làm gì cả.
Trong khi có nhiều thư viện ở đó sẽ chuyển YUV sang RGBA, tôi muốn tiết kiệm thời gian viết phiên bản NEON của riêng tôi. Hiện tại, tôi đang sử dụng triển khai OpenCV như sau:
cv::cvtColor(avFoundationYUVCaptureMat, BGRAInputImage, CV_YUV420sp2BGRA, 4);
đúng, nhưng cuối ngày chậm.
Nếu có ai trước đó đã xem xét các triển khai khác (CoreImage? FFMpeg?) Và có thể đề xuất một điều tôi rất biết ơn.
Cảm ơn, Alex.
Nó sẽ chỉ là không có trí tuệ nếu bạn hiểu mã NEON, mà tôi không. – Cthutu
Tôi hy vọng bài viết này và bài viết tiếp theo trong loạt bài này sẽ khai sáng cho bạn http://blogs.arm.com/software-enablement/161-coding-for-neon-part-1-load-and-stores/ – Sam