Update channel conversion to handle 1 and 3 byte samples

Change-Id: I274def198e0d4d307dd3cffb1fd8c7662d0bb15b
diff --git a/audio_utils/primitives.c b/audio_utils/primitives.c
index 32c2a46..1cc4588 100644
--- a/audio_utils/primitives.c
+++ b/audio_utils/primitives.c
@@ -14,8 +14,9 @@
  * limitations under the License.
  */
 
-#include <cutils/bitops.h> // for popcount()
+#include <cutils/bitops.h>  /* for popcount() */
 #include <audio_utils/primitives.h>
+#include "private/private.h"
 
 void ditherAndClamp(int32_t* out, const int32_t *sums, size_t c)
 {
@@ -264,9 +265,6 @@
     return nonZero;
 }
 
-/* struct representation of 3 bytes for packed PCM 24 bit data */
-typedef struct {uint8_t c[3];} __attribute__((__packed__)) uint8x3_t;
-
 /*
  * C macro to do channel mask copying independent of dst/src sample type.
  * Don't pass in any expressions for the macro arguments here.