[vdr] DVB-S2 + H.264 support for VDR-1.5.10

Morfsta morfsta at gmail.com
Thu Oct 25 13:22:10 CEST 2007


Hi Reinhard,

I have downloaded and installed the latest CVS of ffmpeg and xine-lib
as well as installing the latest vdr-xine-0.8.0. I again followed the
general compilation instructions at the Open Suse DVB-S2 instructions
page.

I have just tried it on BBC HD (Astra 2 - H264/MBAFF) as well as HD2/5
(Astra 3 H264/???) and I get video jumping every 2 seconds. Here is
the [clipped] output from xine (verbose=3): -

video_out_xshm: video mode depth is 24 (32 bpp), TrueColor, not swapped,
video_out_xshm: red: 00ff0000, green: 0000ff00, blue: 000000ff
x11osd: unscaled overlay created (XShape mode).
video_out: thread created
audio_alsa_out : supported modes are 8bit 16bit 24bit mono stereo
(4-channel not enabled in xine config) (4.1-channel not enabled in
xine config) (5-channel not enabled in xine config) (5.1-channel not
enabled in xine config) (a/52 and DTS pass-through not enabled in xine
config)
audio_out: thread created
xine_stream_new
video_out: thread created
audio_out: thread created
xine_interface: unknown or deprecated stream param 10 set
xine_stream_new
xine_interface: unknown or deprecated stream param 10 set
xine_stream_new
xine_interface: unknown or deprecated stream param 10 set
video_out_xshm: aspect ratio changed to 16:9
video_out_xshm: tried to get unsupported property 2
video_out_xshm: tried to set unsupported property 2
video_out_xshm: tried to get unsupported property 2
gui_xine_open_and_play():
	mrl: 'vdr://tmp/vdr-xine/stream#demux:mpeg_pes',
	sub 'NONE',
	start_pos 0, start_time 0, av_offset 0, spu_offset 0.
xine: found input plugin  : VDR display device plugin
xine: found demuxer plugin: mpeg pes demux plugin
video discontinuity #1, type is 0, disc_off 0
waiting for audio discontinuity #1
audio discontinuity #1, type is 0, disc_off 0
waiting for in_discontinuity update #1
vpts adjusted with prebuffer to 38099
av_offset=0 pts
spu_offset=0 pts
xine_play
play_internal ...done
ratio: 0
prebuffer=0 pts
+++ CLEAR(-1a)
ao_flush (loop running: 1)
=== CLEAR(-1.1)
video discontinuity #2, type is 0, disc_off 0
waiting for audio discontinuity #2
audio discontinuity #2, type is 0, disc_off 0
waiting for in_discontinuity update #2
vpts adjusted with prebuffer to 26139
=== CLEAR(-1.2)
=== CLEAR(-1.3)
=== CLEAR(-1.4)
=== CLEAR(-1.5)
--- CLEAR(-1a)
+++ CLEAR(-1b)
ao_flush (loop running: 1)
=== CLEAR(-1.1)
video discontinuity #3, type is 0, disc_off 0
waiting for audio discontinuity #3
audio discontinuity #3, type is 0, disc_off 0
waiting for in_discontinuity update #3
vpts adjusted with prebuffer to 26166
=== CLEAR(-1.2)
=== CLEAR(-1.3)
=== CLEAR(-1.4)
=== CLEAR(-1.5)
--- CLEAR(-1b)
video_out_xshm: tried to set unsupported property 0
load_plugins: plugin mpeg2 will be used for video streamtype 00.
video_out_xshm: tried to set unsupported property 0
vdr_video: osd: (0, 0)-(720, 576)@1.33333
video_out_xshm: tried to get unsupported property 8
video_out_xshm: tried to get unsupported property 13
ratio: 13333
video_out_xshm: tried to set unsupported property 8
video_out_xshm: tried to set unsupported property 13
vdr: flush: n: 77, 941.1
input_vdr: flush buffers (vb: 0, ab: 0, vf: 0, af: 0) done.
+++ CLEAR(-5a)
ao_flush (loop running: 1)
=== CLEAR(-5.1)
=== CLEAR(-5.2)
=== CLEAR(-5.3)
=== CLEAR(-5.4)
=== CLEAR(-5.5)
--- CLEAR(-5a)
video_out_xshm: tried to set unsupported property 0
video discontinuity #4, type is 0, disc_off 0
waiting for audio discontinuity #4
audio discontinuity #4, type is 0, disc_off 0
waiting for in_discontinuity update #4
vpts adjusted with prebuffer to 113685
ao_flush (loop running: 1)
=== CLEAR(-5.1)
=== CLEAR(-5.2)
=== CLEAR(-5.3)
=== CLEAR(-5.4)
=== CLEAR(-5.5)
--- CLEAR(-5b)
video discontinuity #5, type is 0, disc_off 0
waiting for audio discontinuity #5
audio discontinuity #5, type is 0, disc_off 0
waiting for in_discontinuity update #5
vpts adjusted with prebuffer to 113716
set_speed 125000
video_out_xshm: tried to set unsupported property 0
load_plugins: plugin mpeg2 will be used for video streamtype 00.
video discontinuity #6, type is 2, disc_off 7837506763
waiting for audio discontinuity #6
load_plugins: plugin mad will be used for audio streamtype 01.
upmix_mono: upmixing a single channel from original 2 channels stream.
audio_alsa_out:open pause_resume=0
output sample rate 48000
audio discontinuity #6, type is 2, disc_off 7837506763
waiting for in_discontinuity update #6
video vpts adjusted to audio vpts 115876
audio jump, diff=0
video_out_xshm: tried to set unsupported property 0
video discontinuity #7, type is 0, disc_off 0
waiting for audio discontinuity #7
ao_close
audio_out: no streams left, closing driver
audio discontinuity #7, type is 0, disc_off 0
waiting for in_discontinuity update #7
vpts adjusted with prebuffer to 118377
video discontinuity #8, type is 2, disc_off 7837566420
waiting for audio discontinuity #8
audio discontinuity #8, type is 2, disc_off 7837566420
waiting for in_discontinuity update #8
vpts adjusted with prebuffer to 118378
load_plugins: plugin ffmpegvideo will be used for video streamtype 4d.
load_plugins: plugin mad will be used for audio streamtype 01.
upmix_mono: upmixing a single channel from original 2 channels stream.
video_out_xshm: tried to set unsupported property 0
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]no frame!
ffmpeg_video_dec: error decompressing frame
vdr_video: osd: (0, 0)-(1, 1)@1
video_out_xshm: tried to get unsupported property 8
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
ratio: 10000
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]no frame!
ffmpeg_video_dec: error decompressing frame
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]no frame!
ffmpeg_video_dec: error decompressing frame
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]no frame!
ffmpeg_video_dec: error decompressing frame
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]non existing PPS referenced
[h264 @ 0x2aaaace75800]decode_slice_header error
[h264 @ 0x2aaaace75800]no frame!
ffmpeg_video_dec: error decompressing frame
audio_alsa_out:open pause_resume=0
output sample rate 48000
audio jump, diff=51017
ffmpeg_video_dec: increasing buffer to 198787 to avoid overflow.
vdr_video: osd: (0, 0)-(1440, 1080)@1.77778
video jump
video_out_xshm: tried to get unsupported property 8
video_out_xshm: tried to get unsupported property 13
ratio: 17778
video_out_xshm: tried to set unsupported property 8
video_out_xshm: tried to set unsupported property 13
set_speed 1000000
video_out: throwing away image with pts 166092 because it's too old
(diff : 1845).
video jump
video_out: throwing away image with pts 375881 because it's too old
(diff : 4107).
video_out: throwing away image with pts 379057 because it's too old
(diff : 4171).
video_out: throwing away image with pts 384743 because it's too old
(diff : 5685).
video_out: throwing away image with pts 390877 because it's too old
(diff : 10351).
video_out: throwing away image with pts 393793 because it's too old
(diff : 9596).
video jump
video_out: throwing away image with pts 400041 because it's too old
(diff : 14510).
video_out: throwing away image with pts 501830 because it's too old
(diff : 4525).
video_out: throwing away image with pts 507368 because it's too old
(diff : 6187).
video_out: throwing away image with pts 513026 because it's too old
(diff : 11330).
video_out: throwing away image with pts 515711 because it's too old
(diff : 9724).
video_out: throwing away image with pts 521531 because it's too old
(diff : 14705).
video_out: throwing away image with pts 524292 because it's too old
(diff : 11944).
video_out: throwing away image with pts 530257 because it's too old
(diff : 16779).
video_out: throwing away image with pts 535943 because it's too old
(diff : 16134).
video_out: throwing away image with pts 539184 because it's too old
(diff : 16133).
video_out: throwing away image with pts 544993 because it's too old
(diff : 17164).
video_out: throwing away image with pts 548292 because it's too old
(diff : 21065).
video jump
video_out: throwing away image with pts 605648 because it's too old
(diff : 2952).
video_out: throwing away image with pts 609337 because it's too old
(diff : 1785).
video_out: throwing away image with pts 640296 because it's too old
(diff : 4307).
video_out: throwing away image with pts 642698 because it's too old
(diff : 5144).
video_out: throwing away image with pts 647981 because it's too old
(diff : 9222).
video_out: throwing away image with pts 653030 because it's too old
(diff : 10293).
video_out: throwing away image with pts 655968 because it's too old
(diff : 10595).
video_out: throwing away image with pts 661201 because it's too old
(diff : 12563).
video_out: throwing away image with pts 664226 because it's too old
(diff : 16738).
video_out: throwing away image with pts 669626 because it's too old
(diff : 15298).
video_out: throwing away image with pts 672731 because it's too old
(diff : 15441).
set_speed 0
audio_alsa_out: Drain call failed. (err=-11:Resource temporarily unavailable)
set_speed 1000000
audio_out: inserting 17006 0-frames to fill a gap of 31895 pts
video_out: throwing away image with pts 678281 because it's too old
(diff : 19202).
video_out: throwing away image with pts 681457 because it's too old
(diff : 18186).
video_out: throwing away image with pts 687143 because it's too old
(diff : 20781).
video_out: throwing away image with pts 690384 because it's too old
(diff : 23300).
video_out: throwing away image with pts 696193 because it's too old
(diff : 23251).
video_out: throwing away image with pts 702441 because it's too old
(diff : 26723).
video jump
200 frames delivered, 8 frames skipped, 35 frames discarded
video_out: throwing away image with pts 777163 because it's too old
(diff : 2765).
video_out: throwing away image with pts 781531 because it's too old
(diff : 6317).
video_out: throwing away image with pts 786432 because it's too old
(diff : 9696).
video_out: throwing away image with pts 788763 because it's too old
(diff : 12405).
video_out: throwing away image with pts 793898 because it's too old
(diff : 12310).
video_out: throwing away image with pts 799181 because it's too old
(diff : 14948).
video_out: throwing away image with pts 801687 because it's too old
(diff : 17842).
video_out: throwing away image with pts 807168 because it's too old
(diff : 18121).
video_out: throwing away image with pts 809768 because it's too old
(diff : 20922).
video_out: throwing away image with pts 815426 because it's too old
(diff : 21024).
video_out: throwing away image with pts 818111 because it's too old
(diff : 23739).
video_out: throwing away image with pts 823931 because it's too old
(diff : 26920).
video_out: throwing away image with pts 829481 because it's too old
(diff : 27130).
video_out: throwing away image with pts 832657 because it's too old
(diff : 29715).
video_out: throwing away image with pts 838343 because it's too old
(diff : 29789).
video_out: throwing away image with pts 844477 because it's too old
(diff : 33015).
video_out: throwing away image with pts 847393 because it's too old
(diff : 32259).
video_out: throwing away image with pts 853641 because it's too old
(diff : 35731).
video jump
video_out: throwing away image with pts 915668 because it's too old
(diff : 2146).
video_out: throwing away image with pts 919452 because it's too old
(diff : 6282).
video_out: throwing away image with pts 921789 because it's too old
(diff : 8986).
video_out: throwing away image with pts 925880 because it's too old
(diff : 10295).
video_out: throwing away image with pts 928363 because it's too old
(diff : 12854).
video_out: throwing away image with pts 932731 because it's too old
(diff : 13525).
video_out: throwing away image with pts 935345 because it's too old
(diff : 16313).
video_out: throwing away image with pts 939963 because it's too old
(diff : 17453).
video_out: throwing away image with pts 945098 because it's too old
(diff : 20599).
video_out: throwing away image with pts 947540 because it's too old
(diff : 23198).
video_out: throwing away image with pts 952887 because it's too old
(diff : 26131).
video_out: throwing away image with pts 955430 because it's too old
(diff : 28988).
video_out: throwing away image with pts 960968 because it's too old
(diff : 27770).
video_out: throwing away image with pts 963601 because it's too old
(diff : 30538).
input_vdr: execution of rpc command 15 () failed, exiting ...
input_vdr: rpc thread done.
video_out: throwing away image with pts 969311 because it's too old
(diff : 30588).
video_out: throwing away image with pts 972026 because it's too old
(diff : 33273).
video_out: throwing away image with pts 975131 because it's too old
(diff : 32329).
video_out: throwing away image with pts 977892 because it's too old
(diff : 34968).
video_out: throwing away image with pts 980681 because it's too old
(diff : 33618).
[h264 @ 0x2aaaace75800]concealing 5040 DC, 5040 AC, 5040 MV errors
video_out: throwing away image with pts 983857 because it's too old
(diff : 36202).
video_out: throwing away image with pts 986687 because it's too old
(diff : 34094).
ffmpeg_video_dec: error decompressing frame
ffmpeg_video_dec: error decompressing frame
ffmpeg_video_dec: error decompressing frame
ffmpeg_video_dec: error decompressing frame

I don't get video jumping on MPEG 2 pictures, but I do get the
video_out "too old" messages.

When the video jumps, the whole of VDR seems to lock up, i.e. you
can't move the menu selection on the OSD until the video restarts.

Any ideas - or am I hitting some kind of hardware bottleneck here
(dual core 2.13Ghz, 2Gb RAM, IDE disk, NVIDIA 6200LE PCIe graphics @
720p)? Both cores are idle @ around 40%: -

top - 12:17:39 up  1:10,  4 users,  load average: 3.07, 3.31, 3.03
Tasks: 138 total,   2 running, 136 sleeping,   0 stopped,   0 zombie
Cpu0  : 29.3%us,  1.7%sy,  0.0%ni, 67.3%id,  0.0%wa,  1.0%hi,  0.7%si,  0.0%st
Cpu1  : 46.7%us,  0.3%sy,  0.0%ni, 53.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2063240k total,  1537516k used,   525724k free,   593748k buffers
Swap:  1100412k total,        0k used,  1100412k free,   494464k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 8565 root      15   0  517m 120m  53m S   69  6.0  32:45.80 xine
 8081 root      15   0  155m  82m  55m R    8  4.1   3:18.08 Xorg
 7607 root      15   0  215m  30m 3856 S    2  1.5   0:36.89 vdr

top - 12:18:29 up  1:11,  4 users,  load average: 3.04, 3.28, 3.03
Tasks: 138 total,   3 running, 135 sleeping,   0 stopped,   0 zombie
Cpu0  : 80.3%us,  1.0%sy,  0.0%ni, 17.7%id,  0.0%wa,  0.7%hi,  0.3%si,  0.0%st
Cpu1  : 66.2%us,  1.0%sy,  0.0%ni, 32.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2063240k total,  1537640k used,   525600k free,   593820k buffers
Swap:  1100412k total,        0k used,  1100412k free,   494472k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 8565 root      15   0  517m 120m  53m R  140  6.0  33:50.91 xine
 8081 root      15   0  155m  82m  55m S    8  4.1   3:21.94 Xorg
 7607 root      15   0  215m  30m 3856 S    1  1.5   0:37.70 vdr

HD recordings also show the same symptoms. If you are interested I am
currently uploading a minute of BBC HD recording (140Mb)

Regards,

Morfsta




On 10/24/07, Reinhard Nissl <rnissl at gmx.de> wrote:
> Hi,
>
> Morfsta schrieb:
>
> > The picture was very good, but there was dropped frames that xine
> > reported and the stuttered on occassion and then ran very quickly to
> > catch up. Playing around with the settings in xine (setting threads to
> > 2 etc) didn't really make much difference. However, for the first time
> > I've spent playing with this I was impressed with the picture quality
> > out of VDR. Top reported that the CPU was ~40% idle so I don't know
> > why I saw dropped frames...
>
> Frame duration wasn't set at all in xine-lib for this case. xine-lib-1.2
> contains now a fix for this issue. The fix is part of vdr-xine-0.8.0's
> xine-lib.patch for xine-lib-1.1.8, too.
>
> > One other thing I noticed though was when using XVMC (-V xxmc) to view
> > normal MPEG2 channels the VDR OSD looked terrible (very blockly
> > looking) and playing with the settings in the xine plugin did not make
> > it better. Any recommendations on improving this? When using MPEG4
> > (i.e. software accel)  the OSD was fine.
>
> xxmc's OSD support allows only 16 colors. I assume, you've enabled font
> antialiasing in VDR, which requires much more than 16 colors. This is
> the case for hardware accelerated MPEG2 decoding. For H.264, xxmc falls
> back to xv where there is no such limitation.
>
> You may also want to try to choose unscaled OSD in vdr-xine's setup
> menu, which renders the OSD on top of the video image, using libX11. It
> is therefore not limited to 16 colors but doesn't support OSD
> transparency at all.
>
> Bye.
> --
> Dipl.-Inform. (FH) Reinhard Nissl
> mailto:rnissl at gmx.de
>
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>



More information about the vdr mailing list