[vlc-devel] resons for removing vout module
Julian Scheel
julian at jusst.de
Thu Aug 8 17:05:21 CEST 2013
Hi,
I am at investigating the omxil module and the possibilities to allow a
direct rendering path for it.
As of now I am at the point that I understand that, when b_direct is set
for omxil.c out port and vout.c in port it tries to enable direct
rendering. Due to the default buffer count in at least the Broadcom OMX
implementation being 3, the picture pool allocated by the vout will
contain only 3 pictures. This leads to vout_InitWrapper() in
vout_wrapper.c deciding that it's not enough (for my test stream, mpeg 2
ts, a minimum of 14 would be required) and creates some intermediate
buffer in system memory.
To avoid this and actually allow direct rendering I modified vout.c to
increase nBufferCountActual to at least 14. This works well and 14
buffers are allocated properly then. The vout_wrapper will not fail
anymore, but then something strange happens. When the decoder detects
the actual resolution of the video and does a port reconfigure, the
omxil_vout module is removed from the chain:
[0x975d20] omxil decoder debug: OmxEventHandler
(OMX_EventPortSettingsChanged, 131, 0)
[0x975d20] omxil decoder debug: OmxEventHandler (OMX_EventCmdComplete,
OMX_CommandPortDisable, 131)
[0x975d20] omxil decoder debug: OmxEventHandler (OMX_EventCmdComplete,
OMX_CommandPortEnable, 131)
[0x975d20] omxil decoder debug: -> input 130 (0 streams) (20:1:81920
buffers) (0,16) enabled
[0x975d20] omxil decoder debug: -> video MPEG-1/2 Video 0x0 at 0.00 (2,0)
(0,0) (0,0,0,0)
[0x975d20] omxil decoder debug: -> output 131 (0 streams) (1:1:635904
buffers) (0,16) enabled
[0x975d20] omxil decoder debug: -> video Planar 4:2:0 YUV
720x576 at 25.00 (0,20) (736,576) (0,0,720,576)
[0xbad778] main vout display debug: removing module "omxil_vout"
So far I am unable to understand why this would happen. And as it does
not happen if direct rendering is disabled, why it would not happen in
this case.
Could someone with a deeper knowledge of the VLC internal vout system
give me a hint?
Attached are the minimal changes required to trigger this issue on a
raspberry pi.
Thanks,
Julian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dr-testing.diff
Type: text/x-patch
Size: 2036 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20130808/72f0bba6/attachment.bin>
More information about the vlc-devel
mailing list