Please carefully read the below requirements before bidding.
The goal of this project is implementing the required C# code for decoding&rendering [url removed, login to view] encoded elementary video stream from from a network source.
The implemented code must satisfy the following requirements and constraints:
1. The implemented code must fully take advantage of Intel Media SDK 2013 R2 (and of course DirectX, DirectShow and Windows Media Foundation libraries) I can provide some sample elementary streams which are working with Intel Media SDK sample decoder projects.
2. The code must run (and will be tested) on Windows 7, Windows 8, Windows Server 2008 and Windows Server 2012 (the required DLLs will be copied together with the executable file)
3. The code must NOT rely on libraries which are not part of standard Intel Media SDK or Microsoft Windows software libraries including VLC, FFMpeg or any other video decoder software (DivX etc)
4. The implemented code must have small memory and CPU footprint. For instance for a 800x600 15fps video stream, it should not consume more than 5% of CPU time on a quad core i7 laptop.
5. Renderer part of code should be designed as Windows UserControl (But also can be used within WPF controls)
6. A Windows form can contain more than one Decoder User Control, there shouldn't be any obstacle for this.
6. The code must NOT have any memory leaks. We are planning to test this by running decoder for 48 hours uninterrupted.
Implementation will be based on the following C# classes:
public class Image
public int Width = 0, Height = 0;
public byte data = null;
public int row_stride = 0;
public class H264DecoderControl : UserControl
//Any initialization required
// Deinits decoder and releases any resource used
// feeds decoder with next frame data (I fram/P frame/SPS/PPS etc.)
//This function should decode&render feeded frame and should return decoded image and Graphichs object (to be able draw text etc. on image surface)
DecodeStatus FeedNextFrame(byte  frameData,out Image, out Graphics );
// other private methods and attributes
We require the solution to be completed within 14 days after awarding the project. If you do not have experience with video decoding please do NOT bid on this project.
The time for completion and delivery of the milestones is not negotiable, and cannot be extended. Hence no milestone is created and paid in advance prior to completion of the project.
Deliverables from the day project awarded:
1. Day 6: Freelancer will provide fully working source code with instruction for usage
2. Day 8: We provide feedback on enhancements or corrections if applicable
3. Day 12: Freelancer provides corrected code, fully tested against the original spec and the provided feedback
4. Day 14: We test the code and pay the bid amount if all requirement passed.
While we value Freelancers’ work, it is expected the above iterations do not take too much of our time for reporting bugs and issues back to the Freelancer. So, please be mindful and consider all of the requirements before bidding on this project.