]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Started prepare for merge
authorspdfrk1 <spdfrk123456@gmail.com>
Mon, 4 Aug 2014 21:07:59 +0000 (23:07 +0200)
committerJaroslav Kysela <perex@perex.cz>
Wed, 6 Aug 2014 06:55:43 +0000 (08:55 +0200)
Makefile
src/descrambler/libaesdec/libaesdec.h
src/descrambler/libaesdec/libaesdec_interface.c
src/descrambler/tvhcsa.c
src/descrambler/tvhcsa.h

index a4c42ca4ce8088e86e03af66464c5ce6134dc1bf..340b134300b7bbc24b72242eb71165a12fb6cd2c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -292,10 +292,16 @@ FFDECSA-$(CONFIG_CWC)   = yes
 endif
 
 ifeq ($(FFDECSA-yes),yes)
+SRCS-yes += src/descrambler/ffdecsa/ffdecsa_interface.c \
+src/descrambler/ffdecsa/ffdecsa_int.c
+SRCS-${CONFIG_MMX} += src/descrambler/ffdecsa/ffdecsa_mmx.c
+SRCS-${CONFIG_SSE2} += src/descrambler/ffdecsa/ffdecsa_sse2.c
+${BUILDDIR}/src/descrambler/ffdecsa/ffdecsa_mmx.o : CFLAGS += -mmmx
+${BUILDDIR}/src/descrambler/ffdecsa/ffdecsa_sse2.o : CFLAGS += -msse2
+endif
+
 SRCS-yes += src/descrambler/libaesdec/libaesdec_interface.c \
            src/descrambler/libaesdec/libaesdec.c
-${BUILDDIR}/src/descrambler/libaesdec/libaesdec.o : CFLAGS += -msse2
-endif
 
 # File bundles
 SRCS-${CONFIG_BUNDLE}     += bundle.c
index 91e4fae9a77f344ab8318241833494ccc358632f..3c7999d6c85cf1ce02368ed3d24564afc62ba083 100755 (executable)
@@ -8,14 +8,14 @@
 #ifndef LIBAESDEC_H_
 #define LIBAESDEC_H_
 
-void libaesdec_init(void);
-int get_internal_parallelism(void);
-int get_suggested_cluster_size(void);
-void * get_key_struct(void);
-void free_key_struct(void *keys);
-void set_even_control_word(void *keys, const unsigned char *even);
-void set_odd_control_word(void *keys, const unsigned char *odd);
-int decrypt_packets(void *keys, unsigned char **cluster);
+void libaes_init(void);
+int libaes_get_internal_parallelism(void);
+int libaes_get_suggested_cluster_size(void);
+void * libaes_get_key_struct(void);
+void libaes_free_key_struct(void *keys);
+void libaes_set_even_control_word(void *keys, const unsigned char *even);
+void libaes_set_odd_control_word(void *keys, const unsigned char *odd);
+int libaes_decrypt_packets(void *keys, unsigned char **cluster);
 
 // -- alloc & free the key structure
 void *aes_get_key_struct(void);
index 1631cdd98765caceff29f6d48fb469bfd7e834ba..18af6c2a89b826c9551212af7422e7e5d8ac08a6 100755 (executable)
 #include "libaesdec.h"
 
 
-void libaesdec_init(void) {
+void libaes_init(void) {
        tvhlog(LOG_INFO, "CSA", "Using AES descrambling");
 }
 
-int get_internal_parallelism(void) {
+int libaes_get_internal_parallelism(void) {
        return 0;
 }
-int get_suggested_cluster_size(void) {
+int libaes_get_suggested_cluster_size(void) {
        return 1;
 }
 
 void *
-get_key_struct(void) {
+libaes_get_key_struct(void) {
        return aes_get_key_struct();
 }
-void free_key_struct(void *keys) {
+void libaes_free_key_struct(void *keys) {
        aes_free_key_struct(keys);
 }
 
-void set_even_control_word(void *keys, const unsigned char *even) {
+void libaes_set_even_control_word(void *keys, const unsigned char *even) {
        aes_set_even_control_word(keys, even);
 }
 
-void set_odd_control_word(void *keys, const unsigned char *odd) {
+void libaes_set_odd_control_word(void *keys, const unsigned char *odd) {
        aes_set_odd_control_word(keys, odd);
 }
 
-int decrypt_packets(void *keys, unsigned char **cluster) {
+int libaes_decrypt_packets(void *keys, unsigned char **cluster) {
        aes_decrypt_packet(keys, cluster[0]);
        return 1;
 }
index 75e65e39a2471e2ac5452bb26d1147c7f0c0539c..5300d3d290a42256d1a8c640ed4a80b8309a8722 100644 (file)
@@ -28,7 +28,7 @@ static void
 tvhcsa_aes_descramble
   ( tvhcsa_t *csa, struct mpegts_service *s, const uint8_t *tsb )
 {
-  /* Not Implemented Yet */
+       aes_decrypt_packet(csa->csa_aes_keys, (unsigned char *)tsb);
 }
 
 static void
@@ -183,7 +183,7 @@ void tvhcsa_set_key_even( tvhcsa_t *csa, const uint8_t *even )
 #endif
     break;
   case DESCRAMBLER_AES:
-    /* Not Yet Implemented */
+    aes_set_even_control_word(csa->csa_aes_keys, even);
     break;
   default:
     assert(0);
@@ -202,7 +202,7 @@ void tvhcsa_set_key_odd( tvhcsa_t *csa, const uint8_t *odd )
 #endif
     break;
   case DESCRAMBLER_AES:
-    /* Not Yet Implemented */
+       aes_set_even_control_word(csa->csa_aes_keys, odd);
     break;
   default:
     assert(0);
index cc58231ec59724a9a0cc329f135118bdb2b47009..d84c6b41b298bd250b6b2d386d48ed926f79458d 100644 (file)
@@ -32,6 +32,8 @@ struct elementary_stream;
 #include "ffdecsa/FFdecsa.h"
 #endif
 
+#include "libaesdec/libaesdec.h"
+
 typedef struct tvhcsa
 {