Grayscale compression with libx264
In a video analysis software we are using the Up Board based on the Intel Z8350. The primary task is real-time analysis and there is no need for video recording but during testing it would be useful to integrate such feature. Unfortunately, this chipset is not Intel Quick Sync capable meaning that it is not offering hardware video encoding, a feature that is easily found in cheaper boards such as RPi. The sensor is natively grayscale in Full HD and I was looking for a good compressor capable of working directly in grayscale. I looked into libx264, the fastest compressor around, but it is not natively offering mono input. This means that the solution is to provide a planar YUV with zero-ed U and V. This is clearly a waste of memory transfer and processing. The h.264 specification supports this case as chroma format 4:0:0 but libx264 is not implementing it. For this reason I have patched it for supporting this capability, updating also the testing tool provided with libx264. The ou...