New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 895701 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 907767
Owner:
Closed: Jan 16
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

ImageProcessor: pass VideoFrame as both input and output frame to Process() input and output.

Project Member Reported by deanliao@chromium.org, Oct 16

Issue description

Right now, media::ImageProcessor's Process() has asymmetric interface:
bool Process(scoped_refptr<VideoFrame> frame,
             int output_buffer_index,
             std::vector<base::ScopedFD> output_dmabuf_fds,
             FrameReadyCB cb); 

the input frame buffer is allocated by caller; however, the output frame buffer is either allocated by caller (when output_dmabuf_fds is given) or allocated by ImageProcessor (caller just specify which buffer index is used).

The output interface has two disadvantages: 
1) it is platform dependent (only POXIS platforms define ScopedFD);
2) it is complicated.

If we can make all ImageProcessor's users to take care of output buffer allocation, then ImageProcessor::Process can be simplified as:
bool Process(scoped_refptr<VideoFrame> input_frame,
             scoped_refptr<VideoFrame> output_frame,
             FrameReadyCB cb);

 
Mergedinto: 907767
Status: Duplicate (was: Started)

Sign in to add a comment