On Wed, 18 Mar 2020 15:19:19 +0100 "Carl Eugen Hoyos" <ceffm...@gmail.com> wrote: > > Any restrictions on track_count and sample_rate that can be used for > auto-detection? >
I've done a preliminary probe function. How's this? On all the files I tested, I received one of two values: 99 - For music (these have an extra condition I can test for) 87 - For everything else static int pp_bnk_probe(const AVProbeData *p) { PPBnkHeader hdr; uint32_t expected_sample_rate; int score; pp_bnk_parse_header(&hdr, p->buf); if (hdr.track_count == 0 || hdr.sample_rate == 0) return 0; score = 0; /* These limits are based on analysing the game files. */ if (hdr.track_count <= 113) score += AVPROBE_SCORE_MAX / 4; if (hdr.sample_rate <= 44100) score += AVPROBE_SCORE_MAX / 4; if ((hdr.flags & ~PP_BNK_FLAG_MASK) == 0) score += AVPROBE_SCORE_MAX / 4; if ((hdr.flags & PP_BNK_FLAG_MUSIC) && hdr.track_count == 2) score += AVPROBE_SCORE_MAX / 8; /* Also check based on file extension, if we have it. */ if (av_match_ext(p->filename, "5c")) expected_sample_rate = 5512; else if (av_match_ext(p->filename, "11c")) expected_sample_rate = 11025; else if (av_match_ext(p->filename, "22c")) expected_sample_rate = 22050; else if (av_match_ext(p->filename, "44c")) expected_sample_rate = 44100; else expected_sample_rate = 0; if (expected_sample_rate && hdr.sample_rate == expected_sample_rate) score += AVPROBE_SCORE_MAX / 8; return score; } Zane _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".