I am trying to understand the multimedia subsystem on android phones. I have just begun and have some fundamental doubts. This is mainly about the video processing. I am trying to capture the video frames by connecting the phone over HDMI interface to a PC. I am using MHL to HDMI and slimport to HDMI connectors to do so. My goal is to process the captured 1080p files played at 30/60fps
I have just found out that the capture card has to be tuned to the refresh rates of the device and the device refresh rates are hardcoded/hardwired. I think it makes sense for the OEM manufacturers to tie the refresh rates to a particular rate based on the LCD display used. Do you guys happen to know if I could tune it in the kernel if it was only hardcoded somewhere?
Assuming that the refresh rate cant be altered I am guessing the device will not attempt to tune itself to settings on the other side (TV/ HDMI card) but would rather prefer to send the frames at the rate it is designed for (Device LCD refresh rate). And the onus lies on me to tune my capture card based on the device connected. Could you guys validate this understanding?
This apart, it would be really great if you guys could point me towards the place in the source code where core of the video processing takes place. In the sense, picking up of the video frames, adding the overlays and placing the resulting frames on the LCD buffers to facilitate rendering.