Support ARM video accelerators

What would you like to see in MythTV and why? Find others who might want to help implement your ideas!
Forum rules
Please be reasonable and positive with your feature requests, remember that all contributions to MythTV are by volunteers in their spare time. MythTV won't support piracy in any form, including torrents and use of soft cams, so to avoid embarrassment please do not ask.

* One suggestion per thread please. Do not post new suggestions in replies. *
Post Reply
tylernt
Newcomer
Posts: 1
Joined: Fri May 16, 2014 2:37 pm
United States of America

Support ARM video accelerators

Post by tylernt »

Please support the various ARM video accelerator chips, such as those found in Cubox-i and Raspberry Pi.
redshift
Newcomer
Posts: 3
Joined: Fri May 16, 2014 11:55 pm
Canada

Re: Support ARM video accelerators

Post by redshift »

I think torc has open max support since that is based on mythtv maybe that's something someone could just copy over?
User avatar
rwagner
Developer
Posts: 217
Joined: Thu Feb 06, 2014 11:37 pm
United States of America

Re: Support ARM video accelerators

Post by rwagner »

As I understand it, Torc has basically been rewritten from the ground up since forking from MythTV.
User avatar
jyavenard
Developer
Posts: 50
Joined: Thu Feb 13, 2014 3:19 am
Australia

Re: Support ARM video accelerators

Post by jyavenard »

Good luck playing *anything* with Torc at this stage... You may succeed, I didn't.
User avatar
warpme
Translator
Posts: 79
Joined: Fri Feb 07, 2014 9:13 pm
Poland

Re: Support ARM video accelerators

Post by warpme »

jyavenard wrote:Good luck playing *anything* with Torc at this stage... You may succeed, I didn't.
Jya,
Just wonder: is Torc an replacement to FE (works with BE via myth protocol/services API) or rather it is standalone media player more like XBMC?. How far did You went with Torc?
User avatar
jyavenard
Developer
Posts: 50
Joined: Thu Feb 13, 2014 3:19 am
Australia

Re: Support ARM video accelerators

Post by jyavenard »

The current code opens a window with a few icons. None of them do anything. I didn't manage to play any files with it. I'm sure I've missed something obvious, but I didn't get anywhere.


Asking on torc's Irc channel didn't give me any extra information.
User avatar
pvr4me
Senior
Posts: 763
Joined: Fri Feb 07, 2014 7:25 pm
Location: near Toronto, Canada
Contact:
Canada

Re: Support ARM video accelerators

Post by pvr4me »

warpme wrote:Just wonder: is Torc an replacement to FE (works with BE via myth protocol/services API) or rather it is standalone media player more like XBMC?. How far did You went with Torc?
There are two things named "Torc". First is an iOS app that connects (for now) to a MythTV backend to play recordings, etc.

http://trianythingonce.com/blog/torc-for-ios/

Then there is the Torc project:

https://github.com/Torc/torc

It aims to be a complete alternative to Myth but without the years of legacy code. They started with a fork of Myth but threw it away after a few months. There was fairly regular activity throughout 2013 but there has not been a commit since Feb 25, 2014. No idea why. Eventually, Torc for iOS is/was to become a client for the Torc backend.

Craig
Formerly the MacPorts guy.
SoapBox
Newcomer
Posts: 4
Joined: Fri Apr 25, 2014 8:45 am
United States of America

Re: Support ARM video accelerators

Post by SoapBox »

I have a semi-working raspberry pi decoder for MythTV.

I had the pi connected to my regular home mythtv and I stopped working on the decoder because basic stuff like navigating my TV recordings was too slow.

But I still have the patches if anyone wants them, I got as far as having the Pi display at least a few frames of 1080. MythTV doesn't seem internally structured to easily support direct EGL rendering of video which would make performance on the Pi a *lot* better. I'm sure it's possible, but it doesn't seem like any of the other HW that mythtv supports works that way.

I also didn't spend any time looking into audio decoding. The Pi hardware supports that too.
DamnYankee
Newcomer
Posts: 2
Joined: Fri Jun 06, 2014 3:11 pm
United States of America

Re: Support ARM video accelerators

Post by DamnYankee »

I am able to run a mythtv frontend on a couple of different ARM boards. Both MK802 and hackberry. I will have a cubietruck in a few days and plan to experiment with that as well.

All of these boards use a mali400 GPU and I installed all of the various acelleration pieces I could find. Vdpau etc. It is quite useable for some recordings. Many of my HDPVR recordings do not work, but some do. Some video's and recordings try to play "too fast", in particular some videos recorded at 24FPS, but some others as well. Most of my digital recordings from the "major" channels play quite nicely.

The biggest problem right now is what seems to be a HUGE memory leak during playback of most of my recordings. This is not ARM related, it happens on my intel frontends as well. It is just more noticabl on my ARM boxes due to less installed memory.
SoapBox
Newcomer
Posts: 4
Joined: Fri Apr 25, 2014 8:45 am
United States of America

Re: Support ARM video accelerators

Post by SoapBox »

Here's a patch with some semi-working code for OpenMAX hardware accelerated video decoding (playback) on Raspberry PI.

It needs a lot of work, but it might be useful to someone interested in working on it. It does at least partially work. (But I could not get it to do 1080p.)
Attachments
mythtv-openmax-rpi.diff
MythTV Frontend OpenMAX Video Decode on Raspberry PI
(40.32 KiB) Downloaded 233 times
User avatar
jyavenard
Developer
Posts: 50
Joined: Thu Feb 13, 2014 3:19 am
Australia

Re: Support ARM video accelerators

Post by jyavenard »

SoapBox wrote:I have a semi-working raspberry pi decoder for MythTV.

I had the pi connected to my regular home mythtv and I stopped working on the decoder because basic stuff like navigating my TV recordings was too slow.

But I still have the patches if anyone wants them, I got as far as having the Pi display at least a few frames of 1080. MythTV doesn't seem internally structured to easily support direct EGL rendering of video which would make performance on the Pi a *lot* better. I'm sure it's possible, but it doesn't seem like any of the other HW that mythtv supports works that way.

I also didn't spend any time looking into audio decoding. The Pi hardware supports that too.
OMX can be used to render the image, which is what you want to do to.
Myth does support direct rendering, you just need to write the appropriate video output for it. VAAPI, VDPAU, DXVA2 do so. There are no other methods at this stage supporting direct rendering.

Thank you for the patch, but this is not the way I want to do this going forward. You want to use OMX to render the frames too, otherwise playback is just going to be too slow
User avatar
jyavenard
Developer
Posts: 50
Joined: Thu Feb 13, 2014 3:19 am
Australia

Re: Support ARM video accelerators

Post by jyavenard »

DamnYankee wrote: The biggest problem right now is what seems to be a HUGE memory leak during playback of most of my recordings. This is not ARM related, it happens on my intel frontends as well. It is just more noticabl on my ARM boxes due to less installed memory.
were you using master or fixes/0.27?

there was a memory leak due to the change to FFmpeg 2.2, this has been fixed.

AFAIK, there are no memory leaks now in the current code
SoapBox
Newcomer
Posts: 4
Joined: Fri Apr 25, 2014 8:45 am
United States of America

Re: Support ARM video accelerators

Post by SoapBox »

jyavenard wrote: OMX can be used to render the image, which is what you want to do to.
Myth does support direct rendering, you just need to write the appropriate video output for it. VAAPI, VDPAU, DXVA2 do so. There are no other methods at this stage supporting direct rendering.

Thank you for the patch, but this is not the way I want to do this going forward. You want to use OMX to render the frames too, otherwise playback is just going to be too slow
The trouble seems to be that there is at least some support for VAAPI and VDPAU in ffmpeg which seems heavily integrated with how playback works. Before I gave up on working with the RPi my idea was to use the direct-to-EGL-surface rendering. The biggest issue with that seems like it will be syncing with audio. I didn't see anything in mythtv that supported direct audio "rendering" which OMX supports. If it did support it, it would be a lot easier probably.

The XBMC OpenMax player and renderer seem very well done and by the time I got to somewhere with semi-working decoding I was wishing I'd just started with trying to use their classes directly.
DamnYankee
Newcomer
Posts: 2
Joined: Fri Jun 06, 2014 3:11 pm
United States of America

Re: Support ARM video accelerators

Post by DamnYankee »

jyavenard wrote:
DamnYankee wrote: The biggest problem right now is what seems to be a HUGE memory leak during playback of most of my recordings. This is not ARM related, it happens on my intel frontends as well. It is just more noticabl on my ARM boxes due to less installed memory.
were you using master or fixes/0.27?

there was a memory leak due to the change to FFmpeg 2.2, this has been fixed.

AFAIK, there are no memory leaks now in the current code
I was using master and yes, the memory leaks I was seeing have now been long since fixed.

Thanks you!
tjharris
Newcomer
Posts: 1
Joined: Mon Oct 19, 2015 2:33 am
United States of America

Re: Support ARM video accelerators

Post by tjharris »

ARM video acceleration support would be excellent. The Pi2 boards are cheap, available, and capable. Especially since they have a cheap license option to enable MPEG2 decode, they are an excellent HTPC frontend option.

I use Kodi on OpenElec and the quality of 1080p display of HD MPEG2 content is excellent with the MythTV plugin. But, it's not as responsive as mythfrontend.
Post Reply