Hello All
This RFC tries to address the following problems:
1. Application may request too many buffers, increasing pressure to
system's memory allocator(Thinking about running Android with 8K UHD
playback in a system with only 2 GiB memory available);
2. Application may allocate too few buffers while the codec stream
didn't follow the statement in its sequence info;
3. Application would allocate all the graphics buffers in a large size
meeting the decoding requirement, while only few alternative ref(never
display) frame requests that;
4. ioctl() G_FMT may need to reflex a format which far from the current
sequence, or we can't know the resolution change result at an early stage;
A few solutions here:
1. Extend the struct v4l2_event_src_change in struct v4l2_event with the
graphics pixel format(break uAPI)
2. Getting controls after the SRC_CHG event, struct v4l2_event need to
tell how many controls it needs to fetch.
3. struct v4l2_ext_buffer for such out-of-band data.
Sorry for making it html before
--
Hsia-Jun(Randy) Li