Kirika/audio/packetizer/flac_crc.go

24 lines
470 B
Go
Raw Normal View History

//go:build cgo
package packetizer
/*
#cgo CFLAGS: -march=native -Ofast -std=c99
#include "flac_crc.h"
*/
import "C"
2023-04-09 11:10:30 +00:00
import (
"runtime"
"unsafe"
)
func flacCrc8(data []byte) uint8 {
2022-10-03 09:34:56 +00:00
defer runtime.KeepAlive(data)
2023-04-09 11:10:30 +00:00
return uint8(C.flac_crc8((*C.uint8_t)(unsafe.SliceData(data)), C.size_t(len(data))))
}
func flacCrc16(data []byte) uint16 {
2022-10-03 09:34:56 +00:00
defer runtime.KeepAlive(data)
2023-04-09 11:10:30 +00:00
return uint16(C.flac_crc16((*C.uint8_t)(unsafe.SliceData(data)), C.size_t(len(data))))
}