aux platform

This commit is contained in:
nuknal
2024-05-16 10:14:32 +08:00
parent 6a22735d78
commit 7e4efd83a1
8 changed files with 140 additions and 20 deletions

View File

@@ -50,6 +50,7 @@ func (p *Extractor) ExtractOriginalImageData() ([]string, error) {
var sData []string
name := filepath.Base(p.params.InputData)
aosDataFile := filepath.Join(p.params.TempPath, AOSTempDataPrefix+name)
nullFrmCnt := 0
aosData, err := os.ReadFile(aosDataFile)
if err != nil {
@@ -60,6 +61,9 @@ func (p *Extractor) ExtractOriginalImageData() ([]string, error) {
snRange := map[int][]uint32{}
datSet := map[int][]byte{}
fsn, _ := os.Create("demo/temp/tf_sn.txt")
defer fsn.Close()
var i int
for i < len(aosData) {
if i+4 > len(aosData) {
@@ -69,7 +73,7 @@ func (p *Extractor) ExtractOriginalImageData() ([]string, error) {
if aosData[i] == 0xE7 && aosData[i+1] == 0x7E && aosData[i+2] == 0xE7 && aosData[i+3] == 0x7E {
if i+TransImageFrameLength > len(aosData) {
log.Println("trans frame length error")
log.Println("there are not enough data for a trans frame", len(aosData)-i)
break
}
@@ -77,10 +81,13 @@ func (p *Extractor) ExtractOriginalImageData() ([]string, error) {
tf.Decode(aosData[i : i+TransImageFrameLength])
fileno := int(tf.FileNo)
snRange[fileno] = append(snRange[fileno], tf.SNo)
fsn.WriteString(fmt.Sprintf("%d %d %d\n", i, tf.SNo, fileno))
// 只保留非空帧
if tf.FrameFlag != 0x55 && fileno != 0 {
datSet[fileno] = append(datSet[fileno], tf.Data...)
} else {
nullFrmCnt++
}
i += TransImageFrameLength
@@ -89,6 +96,8 @@ func (p *Extractor) ExtractOriginalImageData() ([]string, error) {
i++
}
fmt.Println("nullFrmCnt:", nullFrmCnt)
for k, v := range snRange {
vv := slice.Unique(v)
sort.Slice(vv, func(i, j int) bool { return vv[i] < vv[j] })