Tôi đang cố gắng thực hiện mã hóa phần cứng (avc) của luồng NV12 bằng API Android MediaCodec.Bắt các bộ mã hóa QualComm hoạt động qua API MediaCodec
Khi sử dụng OMX.qcom.video.encoder.avc, độ phân giải 1280x720 và 640x480 hoạt động tốt, trong khi các sản phẩm khác (tức là 640x360, 320x240, 800x480) sản xuất thành phần chroma dường như bị thay đổi (vui lòng xem snapshot).
Tôi đã kiểm tra kỹ xem hình ảnh đầu vào có đúng không bằng cách lưu nó vào tệp jpeg. Sự cố này chỉ xảy ra trên các thiết bị QualComm (ví dụ: Samsung Galaxy S4).
Bất kỳ ai có hoạt động này đúng cách? Bất kỳ thiết lập/quirks bổ sung cần thiết?
Android 4.3 đã thêm một số tính năng mới hữu ích và cũng đã thêm các thử nghiệm CTS cung cấp dữ liệu YUV vào 'MediaCodec'. Các thử nghiệm buffer-to-buffer và buffer-to-surface trong http://bigflake.com/mediacodec/#EncodeDecodeTest có thể mang tính thông tin. – fadden
BTW, có thảo luận trong nhóm Google nền tảng Android đề cập đến bộ mã hóa QualComm: https://groups.google.com/d/msg/android-platform/awaNwgb6EbY/a-YiIOwaL0QJ Một trong những người nhận xét cho biết rằng máy bay chroma phải được căn chỉnh bởi ranh giới 2048 byte, nhưng điều đó chỉ hoạt động một phần cho tôi. Một số độ phân giải vẫn còn lỗi, ví dụ 176x144. –