We are a small company in Virginia designing, manufacturing laptops, desktops, and servers for government and enterprises. Our current product is in the video display sector.
Here is the detailed description of the project:
“Write a program that calls a software decoder to decode an input H.264 video file and do the following statistics:
• Divide the output decoded new frame into 16x16 blocks.
• Compare each block of the new frame with the same block (co-located block) of the previous frame. If they are close enough (*), increase a counter called “unchanges”.
• The “unchanges” counter is reset for every frame.
• Draw a graph of the values of the “unchanges” counter over the entire length of the video.
(*) To determine closeness between two blocks, every color byte of every pixel of one block is subtracted by that of a co-located pixel of the other block. The subtraction result will be AND’ed with a 8-bit mask (configurable). If the final result is all 0s, the 2 blocks are considered close enough.”
Skills required: H.264, video data, video codec, video compression