Remap Y-values of YUV NV21 byte array into bitmap
I have a NV21 byte array (that I get from the camera), and I need to convert it to a black and white bitmap (so I only need the Y-values from the byte array). I tried doing it in Java, but that was VERY slow. So I did some research and I found Renderscript, but I do not know how to use it since the input-Allocation is not the same dimension as the output-Allocation. Does someone have suggestions to do it in Renderscript or does someone have another idea? Thanks in advance.
add a comment |
I have a NV21 byte array (that I get from the camera), and I need to convert it to a black and white bitmap (so I only need the Y-values from the byte array). I tried doing it in Java, but that was VERY slow. So I did some research and I found Renderscript, but I do not know how to use it since the input-Allocation is not the same dimension as the output-Allocation. Does someone have suggestions to do it in Renderscript or does someone have another idea? Thanks in advance.
add a comment |
I have a NV21 byte array (that I get from the camera), and I need to convert it to a black and white bitmap (so I only need the Y-values from the byte array). I tried doing it in Java, but that was VERY slow. So I did some research and I found Renderscript, but I do not know how to use it since the input-Allocation is not the same dimension as the output-Allocation. Does someone have suggestions to do it in Renderscript or does someone have another idea? Thanks in advance.
I have a NV21 byte array (that I get from the camera), and I need to convert it to a black and white bitmap (so I only need the Y-values from the byte array). I tried doing it in Java, but that was VERY slow. So I did some research and I found Renderscript, but I do not know how to use it since the input-Allocation is not the same dimension as the output-Allocation. Does someone have suggestions to do it in Renderscript or does someone have another idea? Thanks in advance.
asked Dec 28 '18 at 14:07
AntonAnton
166
166
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I solved the problem of allocations of different sizes by binding only the output allocation and setting the input allocation from the Java code.
I found the solution in an answer on Stackoverflow, but I can't find the link now. But I posted a question few hours ago with a script with a similar structure.
Coding functions across multiple renderscripts to avoid duplications
The input allocation is defined as a property in the script
rs_allocation inputImg
It is set from java either by setting the surface to a buffer and calling:
inputAllocation.ioReceive()
Or by calling:
yourScript.setAllocationName(inputImage);
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53959806%2fremap-y-values-of-yuv-nv21-byte-array-into-bitmap%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I solved the problem of allocations of different sizes by binding only the output allocation and setting the input allocation from the Java code.
I found the solution in an answer on Stackoverflow, but I can't find the link now. But I posted a question few hours ago with a script with a similar structure.
Coding functions across multiple renderscripts to avoid duplications
The input allocation is defined as a property in the script
rs_allocation inputImg
It is set from java either by setting the surface to a buffer and calling:
inputAllocation.ioReceive()
Or by calling:
yourScript.setAllocationName(inputImage);
add a comment |
I solved the problem of allocations of different sizes by binding only the output allocation and setting the input allocation from the Java code.
I found the solution in an answer on Stackoverflow, but I can't find the link now. But I posted a question few hours ago with a script with a similar structure.
Coding functions across multiple renderscripts to avoid duplications
The input allocation is defined as a property in the script
rs_allocation inputImg
It is set from java either by setting the surface to a buffer and calling:
inputAllocation.ioReceive()
Or by calling:
yourScript.setAllocationName(inputImage);
add a comment |
I solved the problem of allocations of different sizes by binding only the output allocation and setting the input allocation from the Java code.
I found the solution in an answer on Stackoverflow, but I can't find the link now. But I posted a question few hours ago with a script with a similar structure.
Coding functions across multiple renderscripts to avoid duplications
The input allocation is defined as a property in the script
rs_allocation inputImg
It is set from java either by setting the surface to a buffer and calling:
inputAllocation.ioReceive()
Or by calling:
yourScript.setAllocationName(inputImage);
I solved the problem of allocations of different sizes by binding only the output allocation and setting the input allocation from the Java code.
I found the solution in an answer on Stackoverflow, but I can't find the link now. But I posted a question few hours ago with a script with a similar structure.
Coding functions across multiple renderscripts to avoid duplications
The input allocation is defined as a property in the script
rs_allocation inputImg
It is set from java either by setting the surface to a buffer and calling:
inputAllocation.ioReceive()
Or by calling:
yourScript.setAllocationName(inputImage);
answered Jan 3 at 1:40
FluidCodeFluidCode
385
385
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53959806%2fremap-y-values-of-yuv-nv21-byte-array-into-bitmap%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown