openframeworks / openframeworks/openFrameworks

ofxAndroidVideoGrabber improve

Open
#1,510 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

addon android feature
Dominant language
C++
Stars
10.4k
Forks
2.6k
Avg merge
1d 21h
Merged PRs (30d)
9

Description

on Android we get raw Camera stream in YUV format where first width*height values (Y plane) is grayscale representation of the frame. now the implementation doesnt allow to access this raw stream data it just converts it to the specified pixel output format (RGB by default) which u need for rendering.

i think it not very efficient way of working with camera data. imagine we are doing some CV stuff in most cases such tasks require Grayscale representation of image and in our case we need to convert again (not fast on mobiles). probably it would be a nice addition to store Y plane of incoming YUV frame. and return it on request. it will save quite significant amount of computations in some scenarios. of course it is Android only feature but still reasonable one.

let me know what u think.

also i looked at YUV2RGB conversion routines and was wondering why not to implement NEON optimised one since u have an option to compile lib with neon support enabled. of course compiler will try to do it for u but in most cases manually done methods works way faster then auto generated by compiler.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating ofxAndroidVideoGrabber and the YUV2RGB conversion routines, then determine how the incoming Y plane is represented and exposed. Define the Android-only scope and performance criteria for raw grayscale access and the proposed NEON path; done requires an agreed implementation scope and validation of the intended benefit.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, cpp
Domain
computer-vision, mobile-dev, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.