Android Dvd iso poor quality
#1
Hi I hope someone can help

I use kids with a Nvidia shield player.

I ripped some DVDs to ISO and when I play them back the picture is jittery and deinterlacing poor , when I compare it to the video version the said version runs smoother and the quality way better as though it's being upscale better too.

Is there anything I can do to make the ISO's play better ?
Reply
#2
See this thread:
http://forum.kodi.tv/showthread.php?tid=283991

Same issue will appear when trying to playback Interlaced DVD ISO's.
Download and install, SPMC...
Try turning off Hardware acceleration completely in SPMC - Kodi Video settings until nVIDIA fix the problem.


And you may then want to play with the OSD Video deinterlacing settings.
http://kodi.wiki/view/video_playback#OSD_video_settings

Reply
#3
SPMC doesn't support hardware decoder for DVD isos, but it can be easily added modifying the source code.
Reply
#4
Yeah, SPMC should use software decoding for DVDs. IIRC, Kodi should as well, but maybe that changed.
Reply
#5
Krypton moved to hardware decoding after PR8686

For SPMC I use this:

Code:
xbmc/cores/dvdplayer/DVDPlayer.cpp | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
index 08ab8aa..a83abe4 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
@@ -3504,7 +3504,11 @@ bool CDVDPlayer::OpenVideoStream(CDVDStreamInfo& hint, bool reset)
       hint.aspect = aspect;
       hint.forced_aspect = true;
     }
+#if defined(TARGET_ANDROID)
+    hint.software = false;
+#else
     hint.software = true;
+#endif
   }
   else if (m_pInputStream && m_pInputStream->IsStreamType(DVDSTREAM_TYPE_PVRMANAGER))
   {
@@ -3527,7 +3531,12 @@ bool CDVDPlayer::OpenVideoStream(CDVDStreamInfo& hint, bool reset)

   CDVDInputStream::IMenus* pMenus = dynamic_cast<CDVDInputStream::IMenus*>(m_pInputStream);
   if(pMenus && pMenus->IsInMenu())
+  {
     hint.stills = true;
+#if defined(TARGET_ANDROID)
+    hint.software = true;
+#endif
+  }

   if (hint.stereo_mode.empty())
     hint.stereo_mode = CStereoscopicsManager::GetInstance().DetectStereoModeByString(m_filename);

It crashes on Windows so is for Android only and all the DVDs I tried worked flawlessly with the hardware decoder.
Reply
#6
I think the point here is to not use hardware decoding for DVDs.
Reply
#7
My answer was related to

Quote:Download and install, SPMC...
Try turning off Hardware acceleration completely in SPMC - Kodi Video settings until nVIDIA fix the problem.
Reply
#8
My option, never use hw codecs for dvd/iso playback. They are just too strange in their behavior. Menus, still frames and all. If any platform does not have the ponies to handle SD mpeg2 and deinterlacing, it needs to be chucked in the bin.
MrMC Forums : http://forum.mrmc.tv
Reply
#9
Many thanks for the reply guys , I will have a look in kodi see where the options are.
Reply
#10
(2016-07-30, 14:49)MrMC Wrote: My option, never use hw codecs for dvd/iso playback. They are just too strange in their behavior. Menus, still frames and all. If any platform does not have the ponies to handle SD mpeg2 and deinterlacing, it needs to be chucked in the bin.
Yes I agree. Even 1.5->2GHz AMLogic S8xx/S9xx SoC's have the CPU ponies to give you Yadif or Yadifx2 - Software SD mpeg2 decoding and deinterlacing.

For SPMC on the Shield you want in Kodi > Settings > Video > Acceleration:
- Enable acceleration for mpeg2 as HD only.

Then with video playing > Kodi OSD Video settings
http://kodi.wiki/view/video_playback#OSD_video_settings
- select Yadif or Yadifx2 for Deinterlace method

At the bottom of that Menu > Save as Default for all Videos

Reply
#11
Does anyone know what the correct code is to then
disable Mediacodec playback for mpeg1/2 & PVR streams so they play with ffmpeg software decoding instead on Android?

I found this by Koying
https://github.com/koying/SPMC/commit/8d...a6f16af735

So that change should just be reverted(if also in Kodi) and then for Mediacodec what to change so it ignores mpeg1/mpeg2 and it defaults to ffmpeg?

In
DVDVideoCodecAndroidMediaCodec.cpp line 363, is it this?
Code:
case AV_CODEC_ID_MPEG2VIDEO:
      m_mime = "video/mpeg2";
      m_formatname = "amc-mpeg2"
+    return false;
      break;
Reply
#12
(2016-07-30, 14:49)MrMC Wrote: My option, never use hw codecs for dvd/iso playback. They are just too strange in their behavior. Menus, still frames and all. If any platform does not have the ponies to handle SD mpeg2 and deinterlacing, it needs to be chucked in the bin.

There is nothing strange about dvd/iso and in v17 at least those hw decoders handle it properly: vaapi, vdpau, dxva, mmal (Pi)

btw: those are also the hw decoders that can handle DASH because they are able to drain the input queue.
Reply
#13
(2016-08-01, 14:14)FernetMenta Wrote:
(2016-07-30, 14:49)MrMC Wrote: My option, never use hw codecs for dvd/iso playback. They are just too strange in their behavior. Menus, still frames and all. If any platform does not have the ponies to handle SD mpeg2 and deinterlacing, it needs to be chucked in the bin.

There is nothing strange about dvd/iso and in v17 at least those hw decoders handle it properly: vaapi, vdpau, dxva, mmal (Pi)

btw: those are also the hw decoders that can handle DASH because they are able to drain the input queue.

sure, sure Smile
MrMC Forums : http://forum.mrmc.tv
Reply

Logout Mark Read Team Forum Stats Members Help
Dvd iso poor quality0