OpenGL Expert needed for Mac OSX prototype work

Closed Posted Feb 10, 2011 Paid on delivery
Closed Paid on delivery

Needed an Expert OpenGL (preferably with Qt+ObjectiveC experience) programmer for fixing attached prototype application. The prototype application compiles fine and runs with a window which embeds a QGLWidget. The application's task is to actually embed a MPLayer's video. And your task is to **render the video correctly into opengl widget (i.e. QGLWidget)**.

## Deliverables

Needed an Expert OpenGL (preferably with Qt+ObjectiveC experience) programmer for fixing attached prototype application. The application is attached with the this post. The test application compiles fine and runs with a window which embeds a QGLWidget. The application's task is to actually embed a MPLayer's video. The command-line for running mplayer is

mplayer -vo corevideo:buffer_name=mpos [url removed, login to view]

[url removed, login to view] is the sample

Through NSConnection, our test application talks to the running instance of mplayer.

@protocol MPlayerOSXVOProto

- (int) startWithWidth: (bycopy int)width

withHeight: (bycopy int)height

withBytes: (bycopy int)bytes

withAspect: (bycopy int)aspect;

- (void) stop;

- (void) render;

- (void) toggleFullscreen;

- (void) ontop;

@end

Above is the protocol of the class, whose functions mplayer calls. When mplayer starts, it calls startWithWidth: and when it renders frames, it calls render: .

mplayer renders the video frames into a shared memory which is indicated with buffer_name parameter in command line. In our case, we have kept the name "mpos".

We map this memory in startWithWidth: function and render the mapped memory through opengl in render: function.

Now the real problem. Our QGLWidget only shows a black widget and doesn't show the video. If we give openGL commands in render: function, that is rendered properly in GL widget. So, the real problem looks like in either preparing the opengl for rendering the video frames or accessing the memory correctly. However, we didn't encounter any problem in accesing memory and we can print the memory content to output easily.

So, the task is to **render the video correctly into opengl widget (i.e. QGLWidget)**. QGLWidget probably doesn't support YUV frames directly in its api. However, we need to render YUV frames, because MPlayer outputs YUV frames. Keep in mind that conversion to RGB formats are to be avoided.

You can download "mplayer osx extended" from internet and extract mplayer binary from its package. mplayer binary doesn't require any external file or shared library.

C Programming Cocoa Engineering Mac OS Project Management Software Architecture Software Testing Windows Desktop

Project ID: #3093196

About the project

1 proposal Remote project Active Mar 4, 2011

1 freelancer is bidding on average $255 for this job

zartheenumerator

See private message.

$255 USD in 14 days
(8 Reviews)
4.4