Playing a mp4 file actually works, although I had to decrease the linux ram to 38MB because mono tries to reserve memory in dram0, dram1 seems to be completely empty.
/ $ mono -nogui cavity_flow_movie.mp4
[dcc.c:41] dccOpen (RUA @ 0x0044e008 DCC @0x0044f038
[dcc.c:558] dccInitMicroCodeEx DCC @ 0x0044f038
[dcc.c:821] dcc_init_demux_microcode DCC @ 0x0044f038
[dcc.c:866] demux ucode doesn't need DRAM
[dcc.c:604] dcc_init_video_microcode DCC @ 0x0044f038
[dcc.c:671] video ucode cached addr: 0x13B808AC, size 0x0007C86A, end: 0x13BFD116
[dcc.c:724] dcc_init_audio_microcode DCC @ 0x0044f038
[dcc.c:788] audio ucode cached addr: 0x139FB23C, size 0x00185664, end: 0x13B808A0
[dcc.c:131] dccInitChainEx DCC @ 0x0044f038
[dcc.c:142] Display already configured and initDisplay=FALSE. Do not reconfigure it!
[dcc_display.c:247] Applying DoubleRate(FALSE)
Commands: (press enter to validate a command)
q: Quit
s,z - Stop, p - Play, <space> - Pause, n - Next picture (after PAUSE only)
+ increase speed, - decrease speed, = set speed
] Forward I-frame 1x, [ Backward I-frame 1x (if supported, adjust speed with +/-)
f: seek (if supported)
v: decrease volume - V: increase volume - _: mute
E: toggle between dual modes (Stereo->LeftMono->RightMono->Mono)
<, >: decrease/increase playback speed by 1 ppm
[dcc_video.c:776] Number of video engines: 2
[dcc_video.c:795] Number of video decoders: 32
[dcc_video.c:815] MpegEngine: 0x00000019
[dcc_video.c:822] VideoDecoder: 0x0000001A
[dcc_video.c:847] ALLOCATING 0_DRAM SCHEDULER MEMORY addr: 0x139FB13C, size 0x000000F4
[dcc_video.c:951] video UnprotectedAddress: 0x1297200C, size 0x01089124, end: 0x139FB130
[dcc_video.c:1079] DCCXSetVideoDecoderSourceCodec codec = 2
[dcc_video.c:50] current VIDEO state = Uninit
[dcc_video.c:52] send command = Uninit
[dcc_video.c:75] Now VIDEO state = Uninit
[dcc_video.c:50] current VIDEO state = Uninit
[dcc_video.c:52] send command = Init
[dcc_video.c:75] Now VIDEO state = Stop
Starting MMAP
End MMAP 0x0x2b952000
duration 41 secs
[mono.c:48] got stream info!
[dcc_stc.c:83] **********************DCCSTC SetTimeResolution, stc res: 600
[dcc_stc.c:83] **********************DCCSTC SetTimeResolution, video res: 600
[dcc_stc.c:83] **********************DCCSTC SetTimeResolution, audio res: 0
[dcc_stc.c:175] **********************DCCSTC SetTime, time: 0 res: 600
[dcc_stc.c:216] **********************DCCSTC SetSpeed, N: 1 M: 1
[dcc_video.c:50] current VIDEO state = Stop
[dcc_video.c:52] send command = PlayFwd
[dcc_video.c:75] Now VIDEO state = PlayFwd
[dcc_stc.c:305] **********************DCCSTC Stop
[mono.c:40] got dcc info @ 0x7fb414d8
[dcc_stc.c:175] **********************DCCSTC SetTime, time: 0 res: 600
*****************************
STC = 0 (0 secs)
Video :
Data 1a: st=138f2000 sz=1048576 wr=308415 rd=740160 --> f : 70.59
XFER 1a: st=139f431c sz=1025 wr=1024 rd=0 er=0 --> f : 0.00
XFER 1a: 0
*****************************
now playing
[dcc_stc.c:299] **********************DCCSTC Play
[dcc_video.c:50] current VIDEO state = PlayFwd
[dcc_video.c:52] send command = PlayFwd
[dcc_video.c:75] Now VIDEO state = PlayFwd
File ready 1 times, waiting for EOS
wait 2 events [0x3 = 0x00020000] [0x1a = 0x00000008]
8< 8< 8< snip ... repeated a few hundred times>8 >8 >8
wait 2 events [0x3 = 0x00020000] [0x1a = 0x00000008]
get 0x1a = 0x00000008
inband_event 0x1a with tag=20010
WaitForEOS 0x1a OK
inband_event 0x1a without tag - hwlib already process it
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
wait 1 events [0x3 = 0x00020000]
get 0x3 = 0x00020000
display_inband_event with tag=20010
WaitForEOS display OK
inband_event display without tag - hwlib already process it
EOS_InbandCmd after 8220849 us
[mono.c:96] RMEOSCallback() called, awaiting a command
[mono.c:97] reset remote state to playing
[get_key.c:445] RMremoteResetState()
[dcc_stc.c:305] **********************DCCSTC Stop
[dcc_video.c:50] current VIDEO state = PlayFwd
[dcc_video.c:52] send command = Stop
[dcc_video.c:75] Now VIDEO state = Stop
[dcc_stc.c:305] **********************DCCSTC Stop
[dcc_video.c:50] current VIDEO state = Stop
[dcc_video.c:52] send command = Stop
[dcc_video.c:75] Now VIDEO state = Stop
[dcc_video.c:334] DCCCloseVideoSource()
[dcc_video.c:388] >>>closing video decoder
[dcc_video.c:466] FREE 0_DRAM SCHEDULER MEMORY addr=0x139fb13c size=0xf4!
[dcc.c:53] dccClose (DCC @ 0x0044f038
[dcc.c:56] DCCClose TANGO2 just stops the riscs, it doesn't reset them !