zillevdr / vdr-plugin-softhddevice-drm

drm fork
7 stars 6 forks source link

force software mpeg2 decoding, because of missing mpeg2 hardware decoder on raspberry 4 #2

Closed dbloms closed 3 years ago

dbloms commented 4 years ago

I can watch HD material, but no mpeg2 encoded SD material. I try this plugin with vdr 2.4.4 on a raspberry 4 (debian buster). The raspberry 4 doesn't have a hardware mpeg decoder, so I have to use a software one. It would be nice to have a switch to force software mpeg2 decoding.

Here some lines of the logfile, when I switching to an mpeg2 encoded video stream:

Oct 10 16:36:18 rasp4 vdr: [4090] switching to channel 4 S19.2E-1-1089-12003 (RTL Television)
Oct 10 16:36:18 rasp4 vdr: [4090] [softhddev]SetPlayMode: 1
Oct 10 16:36:19 rasp4 vdr[4090]: mmal: mmal_vc_port_info_set: failed to set port info (2:0): EINVAL
Oct 10 16:36:19 rasp4 vdr[4090]: mmal: mmal_vc_port_set_format: mmal_vc_port_info_set failed 0xa3802470 (EINVAL)
Oct 10 16:36:19 rasp4 vdr[4090]: mmal: mmal_port_disable: port vc.ril.video_decode:in:0(MP2V)(0xa3802470) is not enabled
Oct 10 16:36:19 rasp4 vdr[4090]: mmal: mmal_port_disable: port vc.ril.video_decode:out:0(0xa3800d20) is not enabled
Oct 10 16:36:19 rasp4 vdr[4090]: mmal: mmal_port_disable: port vc.ril.video_decode:ctr:0(0xa3802820) is not enabled
Oct 10 16:36:19 rasp4 vdr[4090]: CodecVideoOpen: Error opening the decoder
Oct 10 16:36:19 rasp4 vdr[4090]: CodecVideoSendPacket: Error sending a packet for decoding AVERROR(EINVAL)
Oct 10 16:36:19 rasp4 vdr[4090]: CodecVideoSendPacket: Error sending a packet for decoding AVERROR(EINVAL)
Oct 10 16:36:19 rasp4 vdr[4090]: CodecVideoSendPacket: Error sending a packet for decoding AVERROR(EINVAL)
Oct 10 16:36:19 rasp4 vdr[4090]: CodecVideoSendPacket: Error sending a packet for decoding AVERROR(EINVAL)
Oct 10 16:36:19 rasp4 vdr[4090]: CodecVideoSendPacket: Error sending a packet for decoding AVERROR(EINVAL)
Oct 10 16:36:19 rasp4 vdr[4090]: CodecVideoSendPacket: Error sending a packet for decoding AVERROR(EINVAL)
Oct 10 16:36:19 rasp4 vdr[4090]: CodecVideoSendPacket: Error sending a packet for decoding AVERROR(EINVAL)
Oct 10 16:36:19 rasp4 vdr[4090]: CodecVideoSendPacket: Error sending a packet for decoding AVERROR(EINVAL)
zillevdr commented 4 years ago

MMAL is a proprietary api. No more new code in mmal branch. Only debug. I wait until v4l2 API for Raspberry is ready to use and FFmpeg can deal with it. Then it will run in drm branch.

zillevdr commented 3 years ago

Please use softhddevice-drm without MMAL switch. You need the ffmpeg version from LE and a newer kernel. This work on Rpi4 yet.