• 1
  • 11
  • 12
  • 13(current)
  • 14
  • 15
  • 29
FFmpeg version bump + XBMC add-on patches.
The IOS/ATV problem is now solved. The root cause was an address alignment problem related to the ARM optimizations in the libavcodec/arm asm files that requires a updated gas-preprocessor.pl to make the assemble process work properly.

FFmpeg does not supply a working gas-preprocessor.pl along with the standard distribution and another complicating factor is that the platform docs is pointing out an erroneous version (github.com/yuvi/gas-preprocessor). The only gas-preprocessor that for the moment works with ffmpeg 1.2 is github.com/mansr/gas-preprocessor, rev 76a72f00e (Dec 03, 2012) and this version is now added to the xbmc fork.

I've uploaded two new binaries that have been compiled with the updated gas-preprocessor.pl. I've tested the IOS version that seems to work quite well. Since I don't have access to an ATV I don't know how well that one works thus please test it and get back with some feedback, thanks!

1. org.xbmc.xbmc-ATV2-ffmpeg-1.2-20130406-rev-g88a6773.deb (Apple TV)
2. org.xbmc.xbmc-IOS-ffmpeg-1.2-20130405-rev-g88a6773.deb (iPhone/iPad)
1. XBMC: http://github.com/FlyingRat/xbmc (ffmpeg-head-inc-xbmc-patches)
2. FFmpeg: http://github.com/FlyingRat/FFmpeg (ffmpeg-head-with-xbmc-custom-patches)
3. XBMC-updated-FFmpeg-binaries (just dev snapshots, no regular distros)
Reply
Issued pull request "[FFmpeg] version bump to n1.2 (rev e820e3a)"
1. XBMC: http://github.com/FlyingRat/xbmc (ffmpeg-head-inc-xbmc-patches)
2. FFmpeg: http://github.com/FlyingRat/FFmpeg (ffmpeg-head-with-xbmc-custom-patches)
3. XBMC-updated-FFmpeg-binaries (just dev snapshots, no regular distros)
Reply
Great job! I hope it will be accepted
Reply
(2013-04-06, 15:22)flyingrat Wrote: The IOS/ATV problem is now solved. The root cause was an address alignment problem related to the ARM optimizations in the libavcodec/arm asm files that requires a updated gas-preprocessor.pl to make the assemble process work properly.

FFmpeg does not supply a working gas-preprocessor.pl along with the standard distribution and another complicating factor is that the platform docs is pointing out an erroneous version (github.com/yuvi/gas-preprocessor). The only gas-preprocessor that for the moment works with ffmpeg 1.2 is github.com/mansr/gas-preprocessor, rev 76a72f00e (Dec 03, 2012) and this version is now added to the xbmc fork.

I've uploaded two new binaries that have been compiled with the updated gas-preprocessor.pl. I've tested the IOS version that seems to work quite well. Since I don't have access to an ATV I don't know how well that one works thus please test it and get back with some feedback, thanks!

1. org.xbmc.xbmc-ATV2-ffmpeg-1.2-20130406-rev-g88a6773.deb (Apple TV)
2. org.xbmc.xbmc-IOS-ffmpeg-1.2-20130405-rev-g88a6773.deb (iPhone/iPad)

Both streams and movie files on my NAS plays fine on the ATV2 now.
SVTplay works flawless in HD again.
Flyingrat and you others you are good sent.
Gonna stick with this build until your work is pulled into mains!
Thanks a lot!

Tell me if you need any info, logs etc.

Björn
Reply
(2013-04-06, 15:22)flyingrat Wrote: The IOS/ATV problem is now solved. The root cause was an address alignment problem related to the ARM optimizations in the libavcodec/arm asm files that requires a updated gas-preprocessor.pl to make the assemble process work properly.

FFmpeg does not supply a working gas-preprocessor.pl along with the standard distribution and another complicating factor is that the platform docs is pointing out an erroneous version (github.com/yuvi/gas-preprocessor). The only gas-preprocessor that for the moment works with ffmpeg 1.2 is github.com/mansr/gas-preprocessor, rev 76a72f00e (Dec 03, 2012) and this version is now added to the xbmc fork.

I've uploaded two new binaries that have been compiled with the updated gas-preprocessor.pl. I've tested the IOS version that seems to work quite well. Since I don't have access to an ATV I don't know how well that one works thus please test it and get back with some feedback, thanks!

1. org.xbmc.xbmc-ATV2-ffmpeg-1.2-20130406-rev-g88a6773.deb (Apple TV)
2. org.xbmc.xbmc-IOS-ffmpeg-1.2-20130405-rev-g88a6773.deb (iPhone/iPad)

Nice is this the latest gas-preprocessor.pl from mans rullgard? Or is it a specific revision in between?
Reply
**DELETED**
Reply
(2013-04-07, 01:02)Memphiz Wrote: Nice is this the latest gas-preprocessor.pl from mans rullgard? Or is it a specific revision in between?
Yep, that's the latest one (afaik).
1. XBMC: http://github.com/FlyingRat/xbmc (ffmpeg-head-inc-xbmc-patches)
2. FFmpeg: http://github.com/FlyingRat/FFmpeg (ffmpeg-head-with-xbmc-custom-patches)
3. XBMC-updated-FFmpeg-binaries (just dev snapshots, no regular distros)
Reply
Hands up for flyingrat!
Running the latest and greatest version for atv2 for 15 minutes now and it's smooooooth! Thanks a bunch for making svtplay work!
Apple TV2 running XBMC Gotham beta
Reply
I just finished hacking together a proxy solution for SVT Play and was kind of saddened to see that the streams stop playing after a short while. I haven't had to time test this new ffmpeg version but I hope it fixes the whole issue. Good work!
Reply
I just tried "XBMCSetup-20130321-fbdfa49-ffmpeg-n1.2.exe" and there are no PGS subtitles visible in a .mkv (bluray untouched).
Reply
Thank you.
Reply
(2013-04-08, 08:23)moravec Wrote: I just tried "XBMCSetup-20130321-fbdfa49-ffmpeg-n1.2.exe" and there are no PGS subtitles visible in a .mkv (bluray untouched).
Might be worth someone checking if these fixes have been carried over

https://github.com/xbmc/xbmc/pull/1992

https://github.com/xbmc/xbmc/pull/2002

Discussion at http://forum.xbmc.org/showthread.php?tid=128935&page=5

The ffmpeg ones should now be part of ffmpeg 1.2 I would think
Reply
Some general questions regarding external ffmpeg libraries:

  1. I'm just curious, why (and how) are external ffmpeg libraries needed?
  2. Is there a "xbmc policy" regarding external ffmpeg libraries and the level of compatibility that's required?
  3. Is there a separate maintainer for this kind of work?
1. XBMC: http://github.com/FlyingRat/xbmc (ffmpeg-head-inc-xbmc-patches)
2. FFmpeg: http://github.com/FlyingRat/FFmpeg (ffmpeg-head-with-xbmc-custom-patches)
3. XBMC-updated-FFmpeg-binaries (just dev snapshots, no regular distros)
Reply
(2013-04-08, 18:55)flyingrat Wrote: Some general questions regarding external ffmpeg libraries:

  1. I'm just curious, why (and how) are external ffmpeg libraries needed?
  2. Is there a "xbmc policy" regarding external ffmpeg libraries and the level of compatibility that's required?
  3. Is there a separate maintainer for this kind of work?

OpenELEC builds with external ffmpeg... The initial refactor of the patches I gave you came from my OpenELEC dev system.

Basically, OpenELEC fetches each of the packages it requires from the original source and applies patches (as needed) on top. So for ffmpeg 1.2, it grabs the ffmpeg 1.2 source tar ball from ffmpeg.org then applies the XBMC patches along with some additional OpenELEC patches before building.

So although, you are applying the XBMC patches to ffmpeg 1.2 (and committing those changes as part of the PR) in lib/ffmpeg, OpenELEC (or I should say XBMC) ignores lib/ffmpeg altogether as XBMC is configured to be built with --enable-external-ffmpeg...

Hopes that helps?
Reply
(2013-04-08, 19:25)vicbitter Wrote:
(2013-04-08, 18:55)flyingrat Wrote: Some general questions regarding external ffmpeg libraries:

  1. I'm just curious, why (and how) are external ffmpeg libraries needed?
  2. Is there a "xbmc policy" regarding external ffmpeg libraries and the level of compatibility that's required?
  3. Is there a separate maintainer for this kind of work?

OpenELEC builds with external ffmpeg... The initial refactor of the patches I gave you came from my OpenELEC dev system.

Basically, OpenELEC fetches each of the packages it requires from the original source and applies patches (as needed) on top. So for ffmpeg 1.2, it grabs the ffmpeg 1.2 source tar ball from ffmpeg.org then applies the XBMC patches along with some additional OpenELEC patches before building.

So although, you are applying the XBMC patches to ffmpeg 1.2 (and committing those changes as part of the PR) in lib/ffmpeg, OpenELEC (or I should say XBMC) ignores lib/ffmpeg altogether as XBMC is configured to be built with --enable-external-ffmpeg...

Hopes that helps?

Great answer, thank you! I conclude that current PR works as expected with external ffmpeg libraries. Btw, are the additional OpenELEC patches platform specific (for RPI, etc)??
1. XBMC: http://github.com/FlyingRat/xbmc (ffmpeg-head-inc-xbmc-patches)
2. FFmpeg: http://github.com/FlyingRat/FFmpeg (ffmpeg-head-with-xbmc-custom-patches)
3. XBMC-updated-FFmpeg-binaries (just dev snapshots, no regular distros)
Reply
  • 1
  • 11
  • 12
  • 13(current)
  • 14
  • 15
  • 29

Logout Mark Read Team Forum Stats Members Help
FFmpeg version bump + XBMC add-on patches.0