e7f9121381
新增灰度对比测试工具包 tests/render_compare/,包含: - video_diff.py: SSIM + PSNR 像素对比 - audio_diff.py: 音频差值对比 - scenarios.py: 10个对比场景 - runner.py: 批量执行器 + StagingAPI + HTML报告 - README.md: 使用文档 5个P1修复: P1-1 音频差值系统性偏低6dB:amix自动缩放音量导致相似度虚高 → amix后加volume=2补偿 P1-2 Feature Flag污染线上配置:测试跑完不恢复原值 → run_all用try/finally保证恢复原始配置,保存失败直接中止 P1-3 SSIM min值计算错误:混入汇总行掩盖最严重差异帧 → 改为从stats_file(stdout)解析逐帧数据,avg/min都来自真实逐帧 P1-4 probe_has_audio语义反了:探测失败返回True → 探测失败返回False,保守认为无音频 P1-5 三套入口阈值不统一:函数默认/Runner默认/CLI默认各不一样 → 统一到CompareRunner类常量:SSIM=0.95, PSNR=28dB, 音频=0.90
27 lines
807 B
Python
27 lines
807 B
Python
"""灰度对比测试工具包.
|
||
|
||
用于新旧渲染引擎的批量对比测试,包含:
|
||
- video_diff: 视频像素对比(SSIM + PSNR)
|
||
- audio_diff: 音频对比(差值 RMS)
|
||
- scenarios: 预定义对比场景
|
||
- runner: 批量对比执行器 + HTML 报告
|
||
"""
|
||
|
||
from .video_diff import VideoDiffResult, compute_video_diff, save_diff_frame
|
||
from .audio_diff import AudioDiffResult, compute_audio_diff, extract_audio, probe_has_audio, probe_duration
|
||
from .scenarios import SCENARIOS, CompareScenario, get_scenarios_by_priority
|
||
|
||
__all__ = [
|
||
"VideoDiffResult",
|
||
"compute_video_diff",
|
||
"save_diff_frame",
|
||
"AudioDiffResult",
|
||
"compute_audio_diff",
|
||
"extract_audio",
|
||
"probe_has_audio",
|
||
"probe_duration",
|
||
"SCENARIOS",
|
||
"CompareScenario",
|
||
"get_scenarios_by_priority",
|
||
]
|