Hàm truy cập dữ liệu phân bổ RenderScript

Tổng quan

Bạn có thể sử dụng các hàm dưới đây để lấy và đặt các ô bao gồm hoạt động phân bổ.

  • Bạn có thể truy cập vào các ô riêng lẻ bằng các hàm rsGetElementAt* và rsSetElementAt.
  • Bạn có thể sao chép nhiều ô bằng các hàm rsAllocationCopy* và rsAllocationV*.
  • Để nhận các giá trị thông qua trình lấy mẫu, hãy sử dụng rsSample.
Các hàm rsGetElementAt và rsSetElement* có phần bị sai tên. Các lớp này không nhận hoặc đặt các phần tử (gần giống với các loại dữ liệu) mà nhận hoặc đặt các ô. Hãy coi các mã đó là rsGetCellAt và rsSetCellAt.

Tóm tắt

Hàm
rsAllocationCopy1DRange Sao chép các ô liên tiếp giữa các lần phân bổ
rsAllocationCopy2DRange Sao chép một vùng ô hình chữ nhật giữa các lần phân bổ
rsAllocationVLoadX Lấy vectơ từ phép phân bổ các đại lượng vô hướng
rsAllocationVStoreX Lưu trữ vectơ vào phương thức phân bổ các đại lượng vô hướng
rsGetElementAt Trả về một ô từ một lượt phân bổ
rsGetElementAtYuv_uchar_U Lấy thành phần U của lượt phân bổ YUV
rsGetElementAtYuv_uchar_V Lấy thành phần V của lượt phân bổ YUV
rsGetElementAtYuv_uchar_Y Lấy thành phần Y của lượt phân bổ YUV
rsSample Lấy mẫu một giá trị từ hoạt động phân bổ kết cấu
rsSetElementAt Đặt một ô của một mức phân bổ

Hàm

rsAllocationCopy1DRange : Sao chép các ô liên tiếp giữa các lần phân bổ

void rsAllocationCopy1DRange(rs_allocation dstAlloc, uint32_t dstOff, uint32_t dstMip, uint32_t count, rs_allocation srcAlloc, uint32_t srcTắt, uint32_tip); Đã thêm vào API cấp 14
Tham số
dstAllocPhân bổ để sao chép các ô vào.
dstTắtĐộ lệch trong đích đến của ô đầu tiên được sao chép vào.
dstMipCấp Mip trong quá trình phân bổ đích đến. 0 nếu không sử dụng bản đồ mip.
số lượngSố ô cần sao chép.
srcAllocPhân bổ nguồn.
TắtĐộ lệch trong nguồn của ô đầu tiên được sao chép.
srcMipCấp Mip trong quá trình phân bổ nguồn. 0 nếu không sử dụng bản đồ mip.

Sao chép số lượng ô được chỉ định từ lần phân bổ này sang lần phân bổ khác.

Hai cơ cấu phân bổ phải khác nhau. Việc sử dụng hàm này để sao chép trong cùng một quy trình phân bổ sẽ dẫn đến kết quả không xác định.

Hàm không xác thực liệu số cộng bù trừ có vượt quá kích thước của một trong hai mức phân bổ hay không. Hãy cẩn trọng!

Hàm này chỉ được gọi giữa các lượt phân bổ 1D. Không xác định được việc gọi hàm này trên các lượt phân bổ khác.

Bạn không được gọi hàm này từ bên trong một hạt nhân hoặc từ bất kỳ hàm nào có thể được gọi trực tiếp hoặc gián tiếp từ một hạt nhân. Làm như vậy sẽ gây ra lỗi thời gian chạy.

rsAllocationCopy2DRange : Sao chép một vùng ô hình chữ nhật giữa các lần phân bổ

void rsAllocationCopy2DRange(rs_allocation dstAlloc, uint32_t dstXoff, uint32_t dstYoff, uint32_t dstMip, rs_allocation_CUmap_face dstFace}10}uint32_t{/12_location} của uint32_t chiều rộng uint32_t Đã thêm vào API cấp 14
Tham số
dstAllocPhân bổ để sao chép các ô vào.
dstXoffĐộ lệch X trong đích đến của khu vực được đặt.
tắtĐộ lệch Y trong đích đến của khu vực sẽ được đặt.
dstMipCấp Mip trong quá trình phân bổ đích đến. 0 nếu không sử dụng bản đồ mip.
MặtMặt lập bản đồ của quá trình phân bổ đích đến. Bỏ qua đối với các lượt phân bổ không phải là sơ đồ khối.
chiều rộngChiều rộng của khu vực đến cần cập nhật.
chiều caoChiều cao của khu vực sắp đến để cập nhật.
srcAllocPhân bổ nguồn.
srcXoffĐộ lệch X trong nguồn.
TắtĐộ lệch Y ở nguồn.
srcMipCấp Mip trong quá trình phân bổ nguồn. 0 nếu không sử dụng bản đồ mip.
srcFaceGiao diện lập bản đồ của quá trình phân bổ nguồn. Bỏ qua đối với các lượt phân bổ không phải là sơ đồ khối.

Sao chép một vùng hình chữ nhật của ô từ lần phân bổ này sang lần phân bổ khác. Các ô (chiều rộng * chiều cao) đã được sao chép.

Hai cơ cấu phân bổ phải khác nhau. Việc sử dụng hàm này để sao chép trong cùng một quy trình phân bổ sẽ dẫn đến kết quả không xác định.

Hàm này không xác thực liệu khu vực nguồn hoặc khu vực đích có vượt quá kích thước của mức phân bổ tương ứng hay không. Hãy cẩn trọng!

Hàm này chỉ được gọi giữa các lần phân bổ 2D. Không xác định được việc gọi hàm này trên các lượt phân bổ khác.

Bạn không được gọi hàm này từ bên trong một hạt nhân hoặc từ bất kỳ hàm nào có thể được gọi trực tiếp hoặc gián tiếp từ một hạt nhân. Làm như vậy sẽ gây ra lỗi thời gian chạy.

rsAllocationVLoadX : Lấy vectơ từ quá trình phân bổ các đại lượng vô hướng

char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
Double2 rsAllocationVLoadX_Double2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
Double2 rsAllocationVLoadX_Double2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
Double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
Double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
Double3 rsAllocationVLoadX_Double3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
Double3 rsAllocationVLoadX_Double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
Double4 rsAllocationVLoadX_Double4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
double4 rsAllocationVLoadX_Double4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
Double4 rsAllocationVLoadX_Double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 22
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
Tham số
aPhân bổ để lấy dữ liệu.
lầnĐộ lệch X trong quá trình phân bổ ô đầu tiên được sao chép.
yĐộ lệch Y trong hoạt động phân bổ của ô đầu tiên được sao chép.
zĐộ lệch Z trong quá trình phân bổ ô đầu tiên được sao chép.

Hàm này trả về một vectơ bao gồm các ô liên tiếp của lượt phân bổ. Phương pháp này giả định rằng phép phân bổ chứa các đại lượng vô hướng.

"X" trong tên cho biết các giá trị kế tiếp được trích xuất bằng cách tăng chỉ mục X. Hiện không có hàm nào để nhận các giá trị liên tiếp làm tăng các phương diện khác. Thay vào đó, hãy sử dụng nhiều lệnh gọi đến rsGetElementAt().

Ví dụ: khi gọi rsAllocationVLoadX_int4(a, 20, 30), một int4 bao gồm a[20, 30], a[21, 30], a[22, 30] và a[23, 30] sẽ được trả về.

Khi truy xuất từ mô hình phân bổ ba chiều, hãy sử dụng biến thể x, y, z. Tương tự, hãy sử dụng biến thể x, y cho phương thức phân bổ 2 phương diện và x cho phương thức phân bổ đơn phương diện.

Để tăng tính hiệu quả, hàm này không xác thực các dữ liệu đầu vào. Việc cố gắng bao bọc chỉ mục X, vượt quá kích thước của nội dung phân bổ hoặc sử dụng các chỉ mục không tương thích với chiều của quá trình phân bổ sẽ dẫn đến các kết quả không xác định.

Hãy xem thêm rsAllocationVStoreX().

rsAllocationVStoreX : Lưu trữ vectơ vào bảng phân bổ các đại lượng vô hướng

void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_Double2(rs_allocation a, double2 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_Double2(rs_allocation a, double2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_double2(rs_allocation a, Double2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_Double3(rs_allocation a, double3 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_Double3(rs_allocation a, double3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_Double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_Double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_Double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_int2(rs_allocation a, val int2, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_int3(rs_allocation a, val int3, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 22
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 22
Tham số
aPhân bổ để lưu trữ dữ liệu.
valGiá trị sẽ được lưu trữ.
lầnĐộ lệch X trong quy trình phân bổ của ô đầu tiên được sao chép vào.
yĐộ lệch Y trong quá trình phân bổ của ô đầu tiên được sao chép vào.
zĐộ lệch Z trong quá trình phân bổ ô đầu tiên được sao chép vào.

Hàm này lưu trữ các mục nhập của một vectơ vào các ô liên tiếp của một lượt phân bổ. Phương pháp này giả định rằng phép phân bổ chứa các đại lượng vô hướng.

"X" trong tên cho biết các giá trị kế tiếp được lưu trữ bằng cách tăng chỉ mục X. Hiện không có hàm nào để lưu trữ giá trị liên tiếp tăng lên theo các phương diện khác. Thay vào đó, hãy sử dụng nhiều lệnh gọi đến rsSetElementAt().

Ví dụ: khi gọi rsAllocationVStoreX_int3(a, v, 20, 30), v.x được lưu trữ tại a[20, 30], v.y tại a[21, 30] và v.z tại a[22, 30].

Khi lưu trữ vào mô hình phân bổ ba chiều, hãy sử dụng biến thể x, y, z. Tương tự, hãy sử dụng biến thể x, y cho phương thức phân bổ 2 phương diện và x cho phương thức phân bổ đơn phương diện.

Để tăng tính hiệu quả, hàm này không xác thực các dữ liệu đầu vào. Việc cố gắng gói chỉ mục X, vượt quá kích thước của quy trình phân bổ hoặc sử dụng các chỉ mục không tương thích với kích thước của kết quả không xác định trong giá trị yiel phân bổ.

Xem thêm rsAllocationVLoadX().

rsGetElementAt : Trả về ô từ một mức phân bổ

char rsGetElementAt_char(rs_allocation a, uint32_t x);
char rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y);
char rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
char2 rsGetElementAt_char2(rs_allocation a, uint32_t x);
char2 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y);
char2 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
char3 rsGetElementAt_char3(rs_allocation a, uint32_t x);
char3 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y);
char3 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
char4 rsGetElementAt_char4(rs_allocation a, uint32_t x);
char4 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y);
char4 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
const void* rsGetElementAt(rs_allocation a, uint32_t x);
const void* rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y);
const void* rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
double rsGetElementAt_double(rs_allocation a, uint32_t x);
double rsGetElementAt_Double(rs_allocation a, uint32_t x, uint32_t y);
double rsGetElementAt_Double(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
Double2 rsGetElementAt_Double2(rs_allocation a, uint32_t x);
double2 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y);
double2 rsGetElementAt_Double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
Double3 rsGetElementAt_ double3(rs_allocation a, uint32_t x);
Double3 rsGetElementAt_Double3(rs_allocation a, uint32_t x, uint32_t y);
Double3 rsGetElementAt_Double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
Double4 rsGetElementAt_double4(rs_allocation a, uint32_t x);
Double4 rsGetElementAt_ double4(rs_allocation a, uint32_t x, uint32_t y);
Double4 rsGetElementAt_Double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
float rsGetElementAt_float(rs_allocation a, uint32_t x);
float rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y);
float rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
float2 rsGetElementAt_float2(rs_allocation a, uint32_t x);
float2 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y);
float2 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
float3 rsGetElementAt_float3(rs_allocation a, uint32_t x);
float3 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y);
float3 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
float4 rsGetElementAt_float4(rs_allocation a, uint32_t x);
float4 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y);
float4 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
half rsGetElementAt_half(rs_allocation a, uint32_t x); Đã thêm vào API cấp 23
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 23
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 23
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x); Đã thêm vào API cấp 23
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 23
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 23
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x); Đã thêm vào API cấp 23
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 23
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 23
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x); Đã thêm vào API cấp 23
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 23
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 23
int rsGetElementAt_int(rs_allocation a, uint32_t x);
int rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y);
int rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
int2 rsGetElementAt_int2(rs_allocation a, uint32_t x);
int2 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y);
int2 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
int3 rsGetElementAt_int3(rs_allocation a, uint32_t x);
int3 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y);
int3 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
int4 rsGetElementAt_int4(rs_allocation a, uint32_t x);
int4 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y);
int4 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
long rsGetElementAt_long(rs_allocation a, uint32_t x);
long rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y);
long rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
long2 rsGetElementAt_long2(rs_allocation a, uint32_t x);
long2 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y);
long2 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
long3 rsGetElementAt_long3(rs_allocation a, uint32_t x);
long3 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y);
long3 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
long4 rsGetElementAt_long4(rs_allocation a, uint32_t x);
long4 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y);
long4 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
short rsGetElementAt_short(rs_allocation a, uint32_t x);
short rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y);
short rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
short2 rsGetElementAt_short2(rs_allocation a, uint32_t x);
short2 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y);
short2 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
short3 rsGetElementAt_short3(rs_allocation a, uint32_t x);
short3 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y);
short3 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
short4 rsGetElementAt_short4(rs_allocation a, uint32_t x);
short4 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y);
short4 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uchar rsGetElementAt_uchar(rs_allocation a, uint32_t x);
uchar rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y);
uchar rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uchar2 rsGetElementAt_uchar2(rs_allocation a, uint32_t x);
uchar2 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y);
uchar2 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uchar3 rsGetElementAt_uchar3(rs_allocation a, uint32_t x);
uchar3 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y);
uchar3 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uchar4 rsGetElementAt_uchar4(rs_allocation a, uint32_t x);
uchar4 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y);
uchar4 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uint rsGetElementAt_uint(rs_allocation a, uint32_t x);
uint rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y);
uint rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uint2 rsGetElementAt_uint2(rs_allocation a, uint32_t x);
uint2 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y);
uint2 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uint3 rsGetElementAt_uint3(rs_allocation a, uint32_t x);
uint3 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y);
uint3 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uint4 rsGetElementAt_uint4(rs_allocation a, uint32_t x);
uint4 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y);
uint4 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ulong rsGetElementAt_ulong(rs_allocation a, uint32_t x);
ulong rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y);
ulong rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ulong2 rsGetElementAt_ulong2(rs_allocation a, uint32_t x);
ulong2 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y);
ulong2 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ulong3 rsGetElementAt_ulong3(rs_allocation a, uint32_t x);
ulong3 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y);
ulong3 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ulong4 rsGetElementAt_ulong4(rs_allocation a, uint32_t x);
ulong4 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y);
ulong4 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ushort rsGetElementAt_ushort(rs_allocation a, uint32_t x);
ushort rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y);
ushort rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ushort2 rsGetElementAt_ushort2(rs_allocation a, uint32_t x);
ushort2 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y);
ushort2 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ushort3 rsGetElementAt_ushort3(rs_allocation a, uint32_t x);
ushort3 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y);
ushort3 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ushort4 rsGetElementAt_ushort4(rs_allocation a, uint32_t x);
ushort4 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y);
ushort4 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);

Hàm này trích xuất một ô duy nhất từ mô hình phân bổ.

Khi truy xuất từ mô hình phân bổ ba chiều, hãy sử dụng biến thể x, y, z. Tương tự, hãy sử dụng biến thể x, y cho phương thức phân bổ 2 phương diện và x cho phương thức phân bổ đơn phương diện.

Hàm này có hai kiểu. Một kiểu trả về địa chỉ của giá trị bằng cách sử dụng void*, loại còn lại trả về giá trị thực tế, ví dụ: rsGetElementAt() so với rsGetElementAt_int4(). Đối với loại gốc, hãy luôn sử dụng loại thứ hai vì nó hiệu quả hơn.

rsGetElementAtYuv_uchar_U : Lấy thành phần U của lượt phân bổ YUV

uchar rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 18

Trích xuất thành phần U của một giá trị YUV duy nhất từ hoạt động phân bổ 2D của YUV.

Bên trong một mô hình phân bổ, các thành phần Y, U và V có thể được lưu trữ nếu các mặt phẳng và độ phân giải khác nhau. Các toạ độ x, y được cung cấp ở đây là kích thước của mặt phẳng Y.

Hãy xem rsGetElementAtYuv_uchar_Y().

rsGetElementAtYuv_uchar_V : Lấy thành phần V của lượt phân bổ YUV

uchar rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 18

Trích xuất thành phần V của một giá trị YUV duy nhất từ hoạt động phân bổ 2D của YUV.

Bên trong một mô hình phân bổ, các thành phần Y, U và V có thể được lưu trữ nếu các mặt phẳng và độ phân giải khác nhau. Các toạ độ x, y được cung cấp ở đây là kích thước của mặt phẳng Y.

Hãy xem rsGetElementAtYuv_uchar_Y().

rsGetElementAtYuv_uchar_Y : Lấy thành phần Y của lượt phân bổ YUV

uchar rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y); Đã thêm vào API cấp 18

Trích xuất thành phần Y của một giá trị YUV duy nhất từ hoạt động phân bổ 2D của YUV.

Bên trong một mô hình phân bổ, các thành phần Y, U và V có thể được lưu trữ nếu các mặt phẳng và độ phân giải khác nhau. Các toạ độ x, y được cung cấp ở đây là kích thước của mặt phẳng Y.

Hãy xem rsGetElementAtYuv_uchar_U() và rsGetElementAtYuv_uchar_V().

rsSample : Lấy mẫu một giá trị từ quá trình phân bổ kết cấu

float4 rsSample(rs_allocation a, rs_sampler s, float location); Đã thêm vào API cấp 16
float4 rsSample(rs_allocation a, rs_sampler s, float location, float lod); Đã thêm vào API cấp 16
float4 rsSample(rs_allocation a, rs_sampler s, float2 location); Đã thêm vào API cấp 16
float4 rsSample(rs_allocation a, rs_sampler s, vị trí float2, float lod); Đã thêm vào API cấp 16
Tham số
aPhân bổ để lấy mẫu.
giâyTrạng thái của bộ lấy mẫu.
vị tríĐịa điểm để lấy mẫu.
nghỉCấp Mip cần lấy mẫu, đối với các giá trị phân số, thì cấp mip sẽ được nội suy nếu sử dụng RS_SAMPLER_LINEAR_MIP_LINEAR.

Tìm nạp một giá trị từ quá trình phân bổ kết cấu theo cách mà trình lấy mẫu mô tả.

Nếu mức phân bổ của bạn là 1D, hãy sử dụng biến thể có số thực cho vị trí. Đối với 2D, hãy sử dụng biến thể float2.

Hãy xem android.renderscript.Sampler để biết thêm thông tin chi tiết.

rsSetElementAt : Đặt một ô của một mức phân bổ

void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_Double(rs_allocation a, double val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_Double2(rs_allocation a, double2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ double2(rs_allocation a, Double2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_Double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_Double3(rs_allocation a, double3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ đúp3(rs_allocation a, double3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_Double4(rs_allocation a, double4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_float(rs_allocation a, val động, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_float(rs_allocation a, số thực dấu phẩy động, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x); Đã thêm vào API cấp 23
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y); Đã thêm vào API cấp 23
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 23
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x); Đã thêm vào API cấp 23
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 23
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 23
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x); Đã thêm vào API cấp 23
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 23
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 23
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x); Đã thêm vào API cấp 23
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 23
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 23
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_long(rs_allocation a, val dài, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_long(rs_allocation a, val dài, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_short(rs_allocation a, val ngắn, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_short(rs_allocation a, val ngắn, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_short(rs_allocation a, val ngắn, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x); Đã thêm vào API cấp 18
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); Đã thêm vào API cấp 18
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); Đã thêm vào API cấp 18

Hàm này lưu trữ giá trị vào một ô duy nhất của lượt phân bổ.

Khi lưu trữ vào mô hình phân bổ ba chiều, hãy sử dụng biến thể x, y, z. Tương tự, hãy sử dụng biến thể x, y cho phương thức phân bổ 2 phương diện và x cho phương thức phân bổ đơn phương.

Hàm này có hai kiểu. Một giá trị sẽ được lưu trữ bằng cách sử dụng khoảng trống*, giá trị còn lại có giá trị thực tế làm đối số, ví dụ: rsSetElementAt() so với rsSetElementAt_int4(). Đối với các loại nguyên gốc, hãy luôn sử dụng giá trị thứ hai vì nó hiệu quả hơn.

Xem thêm rsGetElementAt().