Datenzugriffsfunktionen der RenderScript-Zuweisung

Übersicht

Mit den folgenden Funktionen können Sie die Zellen einer Zuweisung abrufen und festlegen.

  • Der Zugriff auf einzelne Zellen wird mit den Funktionen rsGetElementAt* und rsSetElementAt durchgeführt.
  • Mit den Funktionen rsAllocationCopy* und rsAllocationV* können Sie mehrere Zellen kopieren.
  • Verwenden Sie rsSample, um Werte über einen Sampler abzurufen.
Die Funktionen rsGetElementAt und rsSetElement* sind etwas falsch benannt. Sie können keine Elemente abrufen oder festlegen, die Datentypen ähneln. Sie erhalten oder legen Zellen fest. Stellen Sie sich diese als rsGetCellAt und rsSetCellAt vor.

Zusammenfassung

Funktionen
rsAllocationCopy1DRange Aufeinanderfolgende Zellen zwischen Zuweisungen kopieren
rsAllocationCopy2DRange Rechteckigen Bereich von Zellen zwischen Zuweisungen kopieren
rsAllocationVLoadX Einen Vektor aus einer Zuweisung von Skalaren abrufen
rsAllocationVStoreX Einen Vektor in einer Zuordnung von Skalaren speichern
rsGetElementAt Zelle aus einer Zuweisung zurückgeben
rsGetElementAtYuv_uchar_U U-Komponente einer Zuweisung von YUVs abrufen
rsGetElementAtYuv_uchar_V V-Komponente einer Zuweisung von YUVs abrufen
rsGetElementAtYuv_uchar_Y Y-Komponente einer Zuweisung von YUVs abrufen
RSSample Wert aus einer Texturzuordnung abfragen
rsSetElementAt Zelle einer Zuweisung festlegen

Funktionen

rsAllocationCopy1DRange : Aufeinanderfolgende Zellen zwischen Zuweisungen kopieren

void rsAllocationCopy1DRange(rs_allocation dstAlloc, uint32_t dstOff, uint32_t dstMip, uint32_t count, rs_allocation srcAlloc, uint32_t srcOff, uint32_t); In API-Level 14 hinzugefügt
Parameter
dstAllocZuweisung, in die Zellen kopiert werden sollen.
dstOffOffset am Ziel der ersten Zelle, in die kopiert werden soll.
dstMipMip-Ebene in der Zielzuweisung. 0, wenn die MIP-Zuordnung nicht verwendet wird.
AnzahlAnzahl der Zellen, die kopiert werden sollen.
srcAllocQuellenzuweisung.
srcAusOffset in der Quelle der ersten Zelle, die kopiert werden soll.
srcMipMip-Ebene in der Quellzuweisung. 0, wenn die MIP-Zuordnung nicht verwendet wird.

Kopiert die angegebene Anzahl von Zellen von einer Zuweisung in eine andere.

Die Zuweisungen müssen sich unterscheiden. Wenn Sie diese Funktion zum Kopieren innerhalb derselben Zuweisung verwenden, erhalten Sie undefinierte Ergebnisse.

Die Funktion prüft nicht, ob das Offset plus die Anzahl die Größe einer der beiden Zuweisungen überschreitet. Achtung:

Diese Funktion sollte nur zwischen Zuweisungen vom Typ „1D“ aufgerufen werden. Ein Aufruf für andere Zuweisungen ist nicht definiert.

Diese Funktion sollte nicht innerhalb eines Kernels oder über eine Funktion aufgerufen werden, die direkt oder indirekt von einem Kernel aufgerufen werden kann. Dies würde zu einem Laufzeitfehler führen.

rsAllocationCopy2DRange : Einen rechteckigen Zellenbereich zwischen Zuweisungen kopieren

rsAllocationCopy2DRange(rs_allocation dstAlloc, uint32_t dstXoff, uint32_t dstYoff, uint32_t dstMip, rs_allocation_cubemap_face dstFace{/t16, uint32_t{/112, uint32_t{/112, uint32_t width In API-Level 14 hinzugefügt
Parameter
dstAllocZuweisung, in die Zellen kopiert werden sollen.
dstXoffX-Offset am Zielort der festzulegenden Region.
dstYoffY-Offset am Zielort der festzulegenden Region.
dstMipMip-Ebene in der Zielzuweisung. 0, wenn die MIP-Zuordnung nicht verwendet wird.
dstFaceCubemap-Fläche der Zielzuweisung. Wird für Zuweisungen ignoriert, die keine Cubemaps sind.
BreiteBreite der eingehenden Region, die aktualisiert werden soll.
GrößeHöhe der eingehenden Region, die aktualisiert werden soll.
srcAllocQuellenzuweisung.
srcXoffX-Offset in der Quelle.
srcYoffY-Offset in der Quelle.
srcMipMip-Ebene in der Quellzuweisung. 0, wenn die MIP-Zuordnung nicht verwendet wird.
srcFaceCubemap-Fläche der Quellzuweisung. Wird für Zuweisungen ignoriert, die keine Cubemaps sind.

Kopiert einen rechteckigen Bereich von Zellen von einer Zuweisung in eine andere. (Breite * Höhe) werden kopiert.

Die Zuweisungen müssen sich unterscheiden. Wenn Sie diese Funktion zum Kopieren innerhalb derselben Zuweisung verwenden, erhalten Sie undefinierte Ergebnisse.

Die Funktion prüft nicht, ob die Quell- oder Zielregion die Größe der entsprechenden Zuweisung überschreitet. Achtung:

Diese Funktion sollte nur zwischen 2D-Zuweisungen aufgerufen werden. Ein Aufruf für andere Zuweisungen ist nicht definiert.

Diese Funktion sollte nicht innerhalb eines Kernels oder über eine Funktion aufgerufen werden, die direkt oder indirekt von einem Kernel aufgerufen werden kann. Dies würde zu einem Laufzeitfehler führen.

rsAllocationVLoadX : Vektor aus einer Zuweisung von Skalaren abrufen

char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
double4 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
double4 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
double4 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x); In API-Level 22 hinzugefügt
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
Parameter
aDie Zuweisung, aus der die Daten abgerufen werden sollen.
xX-Offset in der Zuweisung der ersten Zelle, aus der kopiert werden soll.
yY-Offset in der Zuweisung der ersten Zelle, aus der kopiert werden soll.
zZ-Versatz in der Zuweisung der ersten Zelle, aus der kopiert werden soll.

Diese Funktion gibt einen Vektor zurück, der aus aufeinanderfolgenden Zellen der Zuordnung besteht. Es wird davon ausgegangen, dass die Zuordnung Skalare enthält.

Das "X" im Namen zeigt an, dass aufeinanderfolgende Werte durch Erhöhung des X-Index extrahiert werden. Derzeit gibt es keine Funktionen zum Abrufen aufeinanderfolgender Werte, die andere Dimensionen erhöhen. Verwenden Sie stattdessen mehrere Aufrufe von rsGetElementAt().

Wenn Sie beispielsweise rsAllocationVLoadX_int4(a, 20, 30) aufrufen, wird eine Ganzzahl zurückgegeben, die aus a[20, 30], a[21, 30], a[22, 30] und a[23, 30] besteht.

Verwenden Sie beim Abrufen aus dreidimensionalen Zuweisungen die Variante x, y und z. Verwenden Sie in ähnlicher Weise die Variante x und y für zweidimensionale Zuweisungen und x für monodimensionale Zuweisungen.

Aus Gründen der Effizienz validiert diese Funktion die Eingaben nicht. Wenn Sie versuchen, den X-Index zu kapseln, die Größe der Zuweisung überschreiten oder Indexe verwenden, die nicht mit der Dimensionalität der Zuordnung kompatibel sind, erhalten Sie undefinierte Ergebnisse.

Siehe auch rsAllocationVStoreX().

rsAllocationVStoreX : Speichern eines Vektors in einer Zuweisung von Skalaren

void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); In API-Level 22 hinzugefügt
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 22 hinzugefügt
Parameter
aZuordnung, in der die Daten gespeichert werden sollen.
ValZu speichernder Wert.
xX-Offset in der Zuweisung der ersten Zelle, in die kopiert werden soll.
yY-Versatz in der Zuweisung der ersten Zelle, in die kopiert werden soll.
zZ-Versatz in der Zuweisung der ersten Zelle, in die kopiert werden soll.

Diese Funktion speichert die Einträge eines Vektors in aufeinanderfolgenden Zellen einer Zuordnung. Es wird davon ausgegangen, dass die Zuordnung Skalare enthält.

Das "X" im Namen zeigt an, dass aufeinanderfolgende Werte durch Erhöhen des X-Index gespeichert werden. Es gibt derzeit keine Funktionen zum Speichern aufeinanderfolgender Werte, die andere Dimensionen erhöhen. Verwenden Sie stattdessen mehrere Aufrufe von rsSetElementAt().

Wenn Sie beispielsweise rsAllocationVStoreX_int3(a, v, 20, 30) aufrufen, wird v.x unter a[20, 30], v.y bei a[21, 30] und v.z unter a[22, 30] gespeichert.

Verwenden Sie beim Speichern in dreidimensionalen Zuweisungen die Variante x, y und z. Verwenden Sie in ähnlicher Weise die Variante x und y für zweidimensionale Zuweisungen und x für monodimensionale Zuweisungen.

Aus Gründen der Effizienz validiert diese Funktion die Eingaben nicht. Der Versuch, den X-Index zu kapseln, die Größe der Zuweisung überschreitet oder Indexe verwenden, die nicht mit der Dimensionalität der Zuweisungsergebnisse kompatibel sind, führt zu undefinierten Ergebnissen.

Weitere Informationen finden Sie unter rsAllocationVLoadX().

rsGetElementAt : Eine Zelle aus einer Zuweisung zurückgeben

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); In API-Level 23 hinzugefügt
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y); In API-Level 23 hinzugefügt
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 23 hinzugefügt
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x); In API-Level 23 hinzugefügt
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y); In API-Level 23 hinzugefügt
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 23 hinzugefügt
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x); In API-Level 23 hinzugefügt
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y); In API-Level 23 hinzugefügt
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 23 hinzugefügt
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x); In API-Level 23 hinzugefügt
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y); In API-Level 23 hinzugefügt
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); In API-Level 23 hinzugefügt
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);

Diese Funktion extrahiert eine einzelne Zelle aus einer Zuweisung.

Verwenden Sie beim Abrufen aus dreidimensionalen Zuweisungen die Variante x, y und z. Verwenden Sie in ähnlicher Weise die Variante x und y für zweidimensionale Zuweisungen und x für monodimensionale Zuweisungen.

Diese Funktion verfügt über zwei Stile. Der eine gibt die Adresse des Werts mit einem void*-Element zurück, der andere den tatsächlichen Wert, z. B. rsGetElementAt() im Vergleich zu rsGetElementAt_int4(). Für primitive Typen sollten Sie immer Letzteres verwenden, da es effizienter ist.

rsGetElementAtYuv_uchar_U : U-Komponente einer Zuweisung von YUVs abrufen

uchar rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt

Extrahiert die U-Komponente eines einzelnen YUV-Werts aus einer 2D-Zuordnung von YUVs.

Innerhalb einer Zuweisung können Y-, U- und V-Komponenten bei unterschiedlichen Ebenen und mit unterschiedlichen Auflösungen gespeichert werden. Die hier angegebenen x- und y-Koordinaten beziehen sich auf die Abmessungen der Y-Ebene.

Siehe rsGetElementAtYuv_uchar_Y().

rsGetElementAtYuv_uchar_V : Die V-Komponente einer Zuweisung von YUVs abrufen

uchar rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt

Extrahiert die V-Komponente eines einzelnen YUV-Werts aus einer 2D-Zuordnung von YUVs.

Innerhalb einer Zuweisung können Y-, U- und V-Komponenten bei unterschiedlichen Ebenen und mit unterschiedlichen Auflösungen gespeichert werden. Die hier angegebenen x- und y-Koordinaten beziehen sich auf die Abmessungen der Y-Ebene.

Siehe rsGetElementAtYuv_uchar_Y().

rsGetElementAtYuv_uchar_Y : Y-Komponente einer Zuweisung von YUVs abrufen

uchar rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt

Extrahiert die Y-Komponente eines einzelnen YUV-Werts aus einer 2D-Zuordnung von YUVs.

Innerhalb einer Zuweisung können Y-, U- und V-Komponenten bei unterschiedlichen Ebenen und mit unterschiedlichen Auflösungen gespeichert werden. Die hier angegebenen x- und y-Koordinaten beziehen sich auf die Abmessungen der Y-Ebene.

Siehe rsGetElementAtYuv_uchar_U() und rsGetElementAtYuv_uchar_V().

rsSample : Sampling eines Werts aus einer Texturzuordnung

float4 rsSample(rs_allocation a, rs_sampler s, float location); In API-Level 16 hinzugefügt
float4 rsSample(rs_allocation a, rs_sampler s, float location, float lod); In API-Level 16 hinzugefügt
float4 rsSample(rs_allocation a, rs_sampler s, float2 location); In API-Level 16 hinzugefügt
float4 rsSample(rs_allocation a, rs_sampler s, float2 location, float lod); In API-Level 16 hinzugefügt
Parameter
aZuordnung, von der die Stichprobe verwendet werden soll.
sSampler-Status.
StandortStandort, von dem die Stichprobe verwendet werden soll.
LodMip-Level, aus denen Stichproben verwendet werden sollen, bei Bruchwerten werden die Mip-Level interpoliert, wenn RS_ExampleR_LINEAR_MIP_LINEAR verwendet wird.

Ruft einen Wert aus einer Texturzuordnung auf eine vom Sampler beschriebene Weise ab.

Wenn Ihre Zuweisung 1D ist, verwenden Sie die Variante mit Gleitkommazahl für den Standort. Verwenden Sie für 2D die Variante „FLOAT2“.

Weitere Informationen finden Sie unter android.renderscript.Sampler.

rsSetElementAt: Zelle einer Zuweisung festlegen

void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x); In API-Level 23 hinzugefügt
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y); In API-Level 23 hinzugefügt
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y, uint32_t z); In API-Level 23 hinzugefügt
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x); In API-Level 23 hinzugefügt
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y); In API-Level 23 hinzugefügt
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 23 hinzugefügt
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x); In API-Level 23 hinzugefügt
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y); In API-Level 23 hinzugefügt
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 23 hinzugefügt
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x); In API-Level 23 hinzugefügt
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y); In API-Level 23 hinzugefügt
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 23 hinzugefügt
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); In API-Level 18 hinzugefügt
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); In API-Level 18 hinzugefügt

Diese Funktion speichert einen Wert in einer einzelnen Zelle einer Zuweisung.

Verwenden Sie beim Speichern in dreidimensionalen Zuweisungen die Variante x, y und z. Verwenden Sie in ähnlicher Weise die Variante x und y für zweidimensionale Zuweisungen und x für monodimensionale Zuweisungen.

Diese Funktion verfügt über zwei Stile. Der eine übergibt den zu speichernden Wert mit einem void*-Element, der andere hat den tatsächlichen Wert als Argument, z. B. rsSetElementAt() im Vergleich zu rsSetElementAt_int4(). Für primitive Typen sollten Sie immer Letzteres verwenden, da es effizienter ist.

Siehe auch rsGetElementAt().