Skip to content

Implement streamrelay with icam support

= Reason for enhancement This implementation allows to decode ICAM streams without driver support for ICAM version of CSA.

Current icam patch requires built-in EMU support, I would prefer to have ICAM support without EMU - so made a patch for it. I assume adding support for alternative CSA (needed for ICAM) could not be considered as EMU related, as there is already present ffdecsa library (that implements decoding CSA).

I propose these patches:

  • 24376f3df1b8125a0e7da8c97efb74294e43af38 - extend ffdecsa with support for alternative CSA that is needed for ICAM, add support for module stream-relay (disabled by default). This is a stripped patch, that does not contain any EMU-related things/settings
  • 09bc956b67da78fff5d99242881ba813f5b6d9b3 - support ARM NEON instructions, that reduce CPU usage during decoding CSA
  • aa75f79b4c02b722e1e17b138afe22a5ca0288db - manually implement aligning for malloc/free only for 32bit ARM with ARM NEON instructions enabled, as we can not relay on gcc aligments (they are 8-byte aligned only). 64bit platforms are not affected, since there is 16-byte alignment guaranteed by malloc. Patch fixes crashes on ARM HiSilicon 32-bit oscam binaries, when ARM NEON instructions are being used

All of these are included in diff file.

= Possible impacts on other features None, Streamrelay is disabled by default