(List (= scope= flags=1 words=[] bindings=[('LC_ALL', {[LIT_CHARS C]})]) (= scope= flags=0 words=[] bindings=[('base', {[ComSub (Com {[LIT_CHARS dirname]} {[VarSub 0]})]})]) (Com {[LIT_CHARS .]} {[DQ [VarSub base][LIT_CHARS /md5.sh]]}) (= scope= flags=0 words=[] bindings=[('base64', {[LIT_CHARS tests/base64]})]) (= scope= flags=0 words=[] bindings=[('test', {[DQ [VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS fate-]}]]]})]) (= scope= flags=0 words=[] bindings=[('target_samples', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('target_exec', {[VarSub 3]})]) (= scope= flags=0 words=[] bindings=[('target_path', {[VarSub 4]})]) (= scope= flags=0 words=[] bindings=[('command', {[VarSub 5]})]) (= scope= flags=0 words=[] bindings=[('cmp', {[VarSub 6 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS diff]}]})]) (= scope= flags=0 words=[] bindings=[('ref', {[VarSub 7 test_op=VS_TEST_COLON_HYPHEN {[DQ [VarSub base][LIT_CHARS /ref/fate/][VarSub test]]}]})]) (= scope= flags=0 words=[] bindings=[('fuzz', {[VarSub 8 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 1]}]})]) (= scope= flags=0 words=[] bindings=[('threads', {[VarSub 9 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 1]}]})]) (= scope= flags=0 words=[] bindings=[('thread_type', {[VarSub 10 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS "frame+slice"]}]})]) (= scope= flags=0 words=[] bindings=[('cpuflags', {[VarSub 11 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS all]}]})]) (= scope= flags=0 words=[] bindings=[('cmp_shift', {[VarSub 12 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 0]}]})]) (= scope= flags=0 words=[] bindings=[('cmp_target', {[VarSub 13 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 0]}]})]) (= scope= flags=0 words=[] bindings=[('size_tolerance', {[VarSub 14 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 0]}]})]) (= scope= flags=0 words=[] bindings=[('cmp_unit', {[VarSub 15 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 2]}]})]) (= scope= flags=0 words=[] bindings=[('gen', {[VarSub 16 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS no]}]})]) (= scope= flags=0 words=[] bindings=[('outdir', {[DQ [LIT_CHARS tests/data/fate]]})]) (= scope= flags=0 words=[] bindings=[('outfile', {[DQ [VarSub outdir][LIT_CHARS /][VarSub test]]})]) (= scope= flags=0 words=[] bindings=[('errfile', {[DQ [VarSub outdir][LIT_CHARS /][VarSub test][LIT_CHARS .err]]})]) (= scope= flags=0 words=[] bindings=[('cmpfile', {[DQ [VarSub outdir][LIT_CHARS /][VarSub test][LIT_CHARS .diff]]})]) (= scope= flags=0 words=[] bindings=[('repfile', {[DQ [VarSub outdir][LIT_CHARS /][VarSub test][LIT_CHARS .rep]]})]) (FunctionDef target_path [] (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub 1]} {[LIT_OTHER "="]} {[VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_SLASH /]}]]}) (= scope= flags=0 words=[] bindings=[('p', {[VarSub target_path] [LIT_CHARS /]})]) ) (Com {[LIT_CHARS echo]} {[VarSub p] [VarSub 1]}) ) ) (FunctionDef compare [] (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "scale=2; v = "][VarSub 1][LIT_CHARS " - "][VarSub 2][LIT_CHARS "; if (v < 0) v = -v; if (v > "][VarSub 3][LIT_CHARS ") r = 1; r"]]}) (Com {[LIT_CHARS bc]}) ) ) (FunctionDef do_tiny_psnr [] (List (= scope= flags=0 words=[] bindings=[('psnr', {[ComSub (Com {[LIT_CHARS tests/tiny_psnr]} {[DQ [VarSub 1]]} {[DQ [VarSub 2]]} {[VarSub cmp_unit]} {[VarSub cmp_shift]} {[LIT_CHARS 0]})]})]) (= scope= flags=0 words=[] bindings=[('val', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [VarSub psnr]]} {[LIT_OTHER ":"]} {[DQ [LIT_CHARS ".*"][VarSub 3][LIT_CHARS ": *"][\ LIT_ESCAPED_CHAR "\\("][LIT_CHARS "[0-9.]*"][\ LIT_ESCAPED_CHAR "\\)"]]})]})]) (= scope= flags=0 words=[] bindings=[('size1', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [VarSub psnr]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) (= scope= flags=0 words=[] bindings=[('size2', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [VarSub psnr]]} {[LIT_OTHER ":"]} {[SQ ]})]})]) (= scope= flags=0 words=[] bindings=[('val_cmp', {[ComSub (Com {[LIT_CHARS compare]} {[VarSub val]} {[VarSub cmp_target]} {[VarSub fuzz]})]})]) (= scope= flags=0 words=[] bindings=[('size_cmp', {[ComSub (Com {[LIT_CHARS compare]} {[VarSub size1]} {[VarSub size2]} {[VarSub size_tolerance]})]})]) (If (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub val_cmp]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[DQ [VarSub size_cmp]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) ) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub psnr]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) ) ) (FunctionDef oneoff [] (Com {[LIT_CHARS do_tiny_psnr]} {[DQ [VarSub 1]]} {[DQ [VarSub 2]]} {[LIT_CHARS MAXDIFF]}) ) (FunctionDef stddev [] (Com {[LIT_CHARS do_tiny_psnr]} {[DQ [VarSub 1]]} {[DQ [VarSub 2]]} {[LIT_CHARS stddev]}) ) (FunctionDef oneline [] (Pipeline (Com {[LIT_CHARS printf]} {[SQ ]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS diff]} {[LIT_CHARS -u]} {[LIT_CHARS -b]} {[LIT_CHARS -]} {[DQ [VarSub 2]]}) ) ) (FunctionDef run [] (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [VarSub V test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 0]}]]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub target_exec]]} {[VarSub target_path] [LIT_CHARS /] [DQ [VarSub @]]} < (DescriptorRedirectNode target={[LIT_CHARS 3]} &"> 1), > ) ) (Com {[VarSub target_exec]} {[VarSub target_path] [LIT_CHARS /] [DQ [VarSub @]]}) ) ) (FunctionDef runecho [] (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [VarSub V test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 0]}]]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub target_exec]]} {[VarSub target_path] [LIT_CHARS /] [DQ [VarSub @]]} < (DescriptorRedirectNode target={[LIT_CHARS 3]} &"> 1), > ) ) (Com {[VarSub target_exec]} {[VarSub target_path] [LIT_CHARS /] [DQ [VarSub @]]} < (DescriptorRedirectNode target={[LIT_CHARS 3]} &"> 1), > ) ) ) (FunctionDef probefmt [] (Com {[LIT_CHARS run]} {[LIT_CHARS ffprobe]} {[LIT_CHARS -show_entries]} {[LIT_VAR_LIKE "format="] [LIT_CHARS format_name] =} {[LIT_CHARS -print_format]} {[LIT_VAR_LIKE "default="] [LIT_VAR_LIKE "nw="] [LIT_CHARS 1] [LIT_OTHER ":"] [LIT_VAR_LIKE "nk="] [LIT_CHARS 1] =} {[LIT_CHARS -v]} {[LIT_CHARS 0]} {[DQ [VarSub @]]}) ) (FunctionDef probeframes [] (Com {[LIT_CHARS run]} {[LIT_CHARS ffprobe]} {[LIT_CHARS -show_frames]} {[LIT_CHARS -v]} {[LIT_CHARS 0]} {[DQ [VarSub @]]}) ) (FunctionDef ffmpeg [] (List (= scope= flags=0 words=[] bindings=[('dec_opts', {[DQ [LIT_CHARS "-threads "][VarSub threads][LIT_CHARS " -thread_type "][VarSub thread_type]]})]) (= scope= flags=0 words=[] bindings=[('ffmpeg_args', {[DQ [LIT_CHARS "-nostats -cpuflags "][VarSub cpuflags]]})]) (For arg [{[VarSub @]}]) (List (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [VarSub arg]} {[LIT_OTHER "="]} {[LIT_CHARS x-i]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('ffmpeg_args', {[DQ [VarSub ffmpeg_args][LIT_CHARS " "][VarSub dec_opts]]})]) ) (= scope= flags=0 words=[] bindings=[('ffmpeg_args', {[DQ [VarSub ffmpeg_args][LIT_CHARS " "][VarSub arg]]})]) ) ) (Com {[LIT_CHARS run]} {[LIT_CHARS ffmpeg]} {[VarSub ffmpeg_args]}) ) ) (FunctionDef framecrc [] (Com {[LIT_CHARS ffmpeg]} {[DQ [VarSub @]]} {[LIT_CHARS -flags]} {[LIT_OTHER "+"] [LIT_CHARS bitexact]} {[LIT_CHARS -f]} {[LIT_CHARS framecrc]} {[LIT_CHARS -]}) ) (FunctionDef framemd5 [] (Com {[LIT_CHARS ffmpeg]} {[DQ [VarSub @]]} {[LIT_CHARS -flags]} {[LIT_OTHER "+"] [LIT_CHARS bitexact]} {[LIT_CHARS -f]} {[LIT_CHARS framemd5]} {[LIT_CHARS -]}) ) (FunctionDef crc [] (Com {[LIT_CHARS ffmpeg]} {[DQ [VarSub @]]} {[LIT_CHARS -f]} {[LIT_CHARS crc]} {[LIT_CHARS -]}) ) (FunctionDef md5 [] (Com {[LIT_CHARS ffmpeg]} {[DQ [VarSub @]]} {[LIT_CHARS md5] [LIT_OTHER ":"]}) ) (FunctionDef pcm [] (Com {[LIT_CHARS ffmpeg]} {[DQ [VarSub @]]} {[LIT_CHARS -vn]} {[LIT_CHARS -f]} {[LIT_CHARS s16le]} {[LIT_CHARS -]}) ) (FunctionDef fmtstdout [] (List (= scope= flags=0 words=[] bindings=[('fmt', {[VarSub 1]})]) (Com {[LIT_CHARS shift]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS ffmpeg]} {[LIT_CHARS -flags]} {[LIT_OTHER "+"] [LIT_CHARS bitexact]} {[DQ [VarSub @]]} {[LIT_CHARS -f]} {[VarSub fmt]} {[LIT_CHARS -]}) ) ) (FunctionDef enc_dec_pcm [] (List (= scope= flags=0 words=[] bindings=[('out_fmt', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('dec_fmt', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('pcm_fmt', {[VarSub 3]})]) (= scope= flags=0 words=[] bindings=[('src_file', {[ComSub (Com {[LIT_CHARS target_path]} {[VarSub 4]})]})]) (Com {[LIT_CHARS shift]} {[LIT_CHARS 4]}) (= scope= flags=0 words=[] bindings=[('encfile', {[DQ [VarSub outdir][LIT_CHARS /][VarSub test][LIT_CHARS .][VarSub out_fmt]]})]) (= scope= flags=0 words=[] bindings=[('cleanfiles', {[VarSub encfile]})]) (= scope= flags=0 words=[] bindings=[('encfile', {[ComSub (Com {[LIT_CHARS target_path]} {[VarSub encfile]})]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS ffmpeg]} {[LIT_CHARS -i]} {[VarSub src_file]} {[DQ [VarSub @]]} {[LIT_CHARS -f]} {[VarSub out_fmt]} {[LIT_CHARS -y]} {[VarSub encfile]}) (Com {[LIT_CHARS return]}) ) (Com {[LIT_CHARS ffmpeg]} {[LIT_CHARS -flags]} {[LIT_OTHER "+"] [LIT_CHARS bitexact]} {[LIT_CHARS -i]} {[VarSub encfile]} {[LIT_CHARS -c] [LIT_OTHER ":"] [LIT_CHARS a]} {[LIT_CHARS pcm_] [VarSub pcm_fmt]} {[LIT_CHARS -f]} {[VarSub dec_fmt]} {[LIT_CHARS -]}) ) ) (= scope= flags=0 words=[] bindings=[('FLAGS', {[DQ [LIT_CHARS "-flags +bitexact -sws_flags +accurate_rnd+bitexact -fflags +bitexact"]]})]) (= scope= flags=0 words=[] bindings=[('DEC_OPTS', {[DQ [LIT_CHARS "-threads "][VarSub threads][LIT_CHARS " -idct simple "][VarSub FLAGS]]})]) (= scope= flags=0 words=[] bindings=[('ENC_OPTS', {[DQ [LIT_CHARS "-threads 1 -idct simple -dct fastint"]]})]) (FunctionDef enc_dec [] (List (= scope= flags=0 words=[] bindings=[('src_fmt', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('srcfile', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('enc_fmt', {[VarSub 3]})]) (= scope= flags=0 words=[] bindings=[('enc_opt', {[VarSub 4]})]) (= scope= flags=0 words=[] bindings=[('dec_fmt', {[VarSub 5]})]) (= scope= flags=0 words=[] bindings=[('dec_opt', {[VarSub 6]})]) (= scope= flags=0 words=[] bindings=[('encfile', {[DQ [VarSub outdir][LIT_CHARS /][VarSub test][LIT_CHARS .][VarSub enc_fmt]]})]) (= scope= flags=0 words=[] bindings=[('decfile', {[DQ [VarSub outdir][LIT_CHARS /][VarSub test][LIT_CHARS .out.][VarSub dec_fmt]]})]) (= scope= flags=0 words=[] bindings=[('cleanfiles', {[DQ [VarSub cleanfiles][LIT_CHARS " "][VarSub decfile]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub 7]]} {[LIT_OTHER "="]} {[LIT_CHARS -keep]}) (= scope= flags=0 words=[] bindings=[('cleanfiles', {[DQ [VarSub cleanfiles][LIT_CHARS " "][VarSub encfile]]})]) ) (= scope= flags=0 words=[] bindings=[('tsrcfile', {[ComSub (Com {[LIT_CHARS target_path]} {[VarSub srcfile]})]})]) (= scope= flags=0 words=[] bindings=[('tencfile', {[ComSub (Com {[LIT_CHARS target_path]} {[VarSub encfile]})]})]) (= scope= flags=0 words=[] bindings=[('tdecfile', {[ComSub (Com {[LIT_CHARS target_path]} {[VarSub decfile]})]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS ffmpeg]} {[LIT_CHARS -f]} {[VarSub src_fmt]} {[VarSub DEC_OPTS]} {[LIT_CHARS -i]} {[VarSub tsrcfile]} {[VarSub ENC_OPTS]} {[VarSub enc_opt]} {[VarSub FLAGS]} {[LIT_CHARS -f]} {[VarSub enc_fmt]} {[LIT_CHARS -y]} {[VarSub tencfile]}) (Com {[LIT_CHARS return]}) ) (Com {[LIT_CHARS do_md5sum]} {[VarSub encfile]}) (Com {[LIT_CHARS echo]} {[ComSub (Com {[LIT_CHARS wc]} {[LIT_CHARS -c]} {[VarSub encfile]})]}) (AndOr OP_OR_IF (Com {[LIT_CHARS ffmpeg]} {[VarSub 8]} {[VarSub DEC_OPTS]} {[LIT_CHARS -i]} {[VarSub tencfile]} {[VarSub ENC_OPTS]} {[VarSub dec_opt]} {[VarSub FLAGS]} {[LIT_CHARS -f]} {[VarSub dec_fmt]} {[LIT_CHARS -y]} {[VarSub tdecfile]}) (Com {[LIT_CHARS return]}) ) (Com {[LIT_CHARS do_md5sum]} {[VarSub decfile]}) (Com {[LIT_CHARS tests/tiny_psnr]} {[VarSub srcfile]} {[VarSub decfile]} {[VarSub cmp_unit]} {[VarSub cmp_shift]}) ) ) (FunctionDef lavffatetest [] (List (= scope= flags=0 words=[] bindings=[('t', {[DQ [VarSub test transform_ops=[VS_UNARY_POUND {[LIT_CHARS lavf-fate-]}]]]})]) (= scope= flags=0 words=[] bindings=[('ref', {[VarSub base] [LIT_CHARS /ref/lavf-fate/] [VarSub t]})]) (Com {[VarSub base] [LIT_CHARS /lavf-regression.sh]} {[VarSub t]} {[LIT_CHARS lavf-fate]} {[LIT_CHARS tests/vsynth1]} {[DQ [VarSub target_exec]]} {[DQ [VarSub target_path]]} {[DQ [VarSub threads]]} {[DQ [VarSub thread_type]]} {[DQ [VarSub cpuflags]]} {[DQ [VarSub target_samples]]}) ) ) (FunctionDef lavftest [] (List (= scope= flags=0 words=[] bindings=[('t', {[DQ [VarSub test transform_ops=[VS_UNARY_POUND {[LIT_CHARS lavf-]}]]]})]) (= scope= flags=0 words=[] bindings=[('ref', {[VarSub base] [LIT_CHARS /ref/lavf/] [VarSub t]})]) (Com {[VarSub base] [LIT_CHARS /lavf-regression.sh]} {[VarSub t]} {[LIT_CHARS lavf]} {[LIT_CHARS tests/vsynth1]} {[DQ [VarSub target_exec]]} {[DQ [VarSub target_path]]} {[DQ [VarSub threads]]} {[DQ [VarSub thread_type]]} {[DQ [VarSub cpuflags]]} {[DQ [VarSub target_samples]]}) ) ) (FunctionDef video_filter [] (List (= scope= flags=0 words=[] bindings=[('filters', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('label', {[VarSub test transform_ops=[VS_UNARY_POUND {[LIT_CHARS filter-]}]]})]) (= scope= flags=0 words=[] bindings=[('raw_src', {[DQ [VarSub target_path][LIT_CHARS "/tests/vsynth1/%02d.pgm"]]})]) (Com {[LIT_CHARS printf]} {[SQ ]} {[VarSub label]}) (Com {[LIT_CHARS ffmpeg]} {[VarSub DEC_OPTS]} {[LIT_CHARS -f]} {[LIT_CHARS image2]} {[LIT_CHARS -vcodec]} {[LIT_CHARS pgmyuv]} {[LIT_CHARS -i]} {[VarSub raw_src]} {[VarSub FLAGS]} {[VarSub ENC_OPTS]} {[LIT_CHARS -vf]} {[DQ [VarSub filters]]} {[LIT_CHARS -vcodec]} {[LIT_CHARS rawvideo]} {[VarSub *]} {[LIT_CHARS -f]} {[LIT_CHARS nut]} {[LIT_CHARS md5] [LIT_OTHER ":"]}) ) ) (FunctionDef pixfmts [] (List (= scope= flags=0 words=[] bindings=[('filter', {[VarSub test transform_ops=[VS_UNARY_POUND {[LIT_CHARS filter-pixfmts-]}]]})]) (= scope= flags=0 words=[] bindings=[('filter', {[VarSub filter transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS "_*"]}]]})]) (= scope= flags=0 words=[] bindings=[('filter_args', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('prefilter_chain', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('showfiltfmts', {[DQ [VarSub target_exec][LIT_CHARS " "][VarSub target_path][LIT_CHARS /libavfilter/filtfmts-test]]})]) (= scope= flags=0 words=[] bindings=[('scale_exclude_fmts', {[VarSub outfile] [LIT_CHARS _scale_exclude_fmts]})]) (= scope= flags=0 words=[] bindings=[('scale_in_fmts', {[VarSub outfile] [LIT_CHARS _scale_in_fmts]})]) (= scope= flags=0 words=[] bindings=[('scale_out_fmts', {[VarSub outfile] [LIT_CHARS _scale_out_fmts]})]) (= scope= flags=0 words=[] bindings=[('in_fmts', {[VarSub outfile] [LIT_CHARS _in_fmts]})]) (Pipeline (Com {[VarSub showfiltfmts]} {[LIT_CHARS scale]}) (Com {[LIT_CHARS awk]} {[LIT_CHARS -F]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS sort]} < (FilenameRedirectNode filename={[VarSub scale_in_fmts]} "> 1), > ) ) (Pipeline (Com {[VarSub showfiltfmts]} {[LIT_CHARS scale]}) (Com {[LIT_CHARS awk]} {[LIT_CHARS -F]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS sort]} < (FilenameRedirectNode filename={[VarSub scale_out_fmts]} "> 1), > ) ) (Com {[LIT_CHARS comm]} {[LIT_CHARS -12]} {[VarSub scale_in_fmts]} {[VarSub scale_out_fmts]} < (FilenameRedirectNode filename={[VarSub scale_exclude_fmts]} "> 1), > ) (Pipeline (Com {[VarSub showfiltfmts]} {[VarSub filter]}) (Com {[LIT_CHARS awk]} {[LIT_CHARS -F]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS sort]} < (FilenameRedirectNode filename={[VarSub in_fmts]} "> 1), > ) ) (= scope= flags=0 words=[] bindings=[('pix_fmts', {[ComSub (Com {[LIT_CHARS comm]} {[LIT_CHARS -12]} {[VarSub scale_exclude_fmts]} {[VarSub in_fmts]})]})]) (= scope= flags=0 words=[] bindings=[('outertest', {[VarSub test]})]) (For pix_fmt [{[VarSub pix_fmts]}]) (List (= scope= flags=0 words=[] bindings=[('test', {[VarSub pix_fmt]})]) (Com {[LIT_CHARS video_filter]} {[DQ [VarSub prefilter_chain][LIT_CHARS "format="][VarSub pix_fmt][LIT_CHARS ","][VarSub filter][LIT_CHARS "="][VarSub filter_args]]} {[LIT_CHARS -pix_fmt]} {[VarSub pix_fmt]}) ) ) (Com {[LIT_CHARS rm]} {[VarSub in_fmts]} {[VarSub scale_in_fmts]} {[VarSub scale_out_fmts]} {[VarSub scale_exclude_fmts]}) (= scope= flags=0 words=[] bindings=[('test', {[VarSub outertest]})]) ) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub outdir]]}) (Com {[LIT_CHARS set]} {[LIT_CHARS -f]}) (Com {[LIT_CHARS exec]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 3), > ) (Com {[LIT_CHARS eval]} {[VarSub command]} < (FilenameRedirectNode filename={[DQ [VarSub outfile]]} "> 1), (FilenameRedirectNode filename={[VarSub errfile]} "> 2), > ) (= scope= flags=0 words=[] bindings=[('err', {[VarSub ?]})]) (If (Com {[LIT_OTHER "["]} {[VarSub err]} {[LIT_CHARS -gt]} {[LIT_CHARS 128]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('sig', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS kill]} {[LIT_CHARS -l]} {[VarSub err]})]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub sig]]} {[LIT_OTHER "="]} {[DQ [VarSub sig transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS "[!A-Za-z]*"]}]]]}) (Com {[LIT_CHARS unset]} {[LIT_CHARS sig]}) ) ) ) (If (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -e]} {[DQ [VarSub ref]]}) (Com {[LIT_CHARS test]} {[VarSub cmp]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS oneline]]}) ) (List (Case to_match={[VarSub cmp]}, pat_word_list=[[{[LIT_CHARS diff]}], [{[LIT_CHARS rawdiff]}], [{[LIT_CHARS oneoff]}], [{[LIT_CHARS stddev]}], [{[LIT_CHARS oneline]}], [{[LIT_CHARS null]}]] (Com {[LIT_CHARS diff]} {[LIT_CHARS -u]} {[LIT_CHARS -b]} {[DQ [VarSub ref]]} {[DQ [VarSub outfile]]} < (FilenameRedirectNode filename={[VarSub cmpfile]} "> 1), > ) (Com {[LIT_CHARS diff]} {[LIT_CHARS -u]} {[DQ [VarSub ref]]} {[DQ [VarSub outfile]]} < (FilenameRedirectNode filename={[VarSub cmpfile]} "> 1), > ) (Com {[LIT_CHARS oneoff]} {[DQ [VarSub ref]]} {[DQ [VarSub outfile]]} < (FilenameRedirectNode filename={[VarSub cmpfile]} "> 1), > ) (Com {[LIT_CHARS stddev]} {[DQ [VarSub ref]]} {[DQ [VarSub outfile]]} < (FilenameRedirectNode filename={[VarSub cmpfile]} "> 1), > ) (Com {[LIT_CHARS oneline]} {[DQ [VarSub ref]]} {[DQ [VarSub outfile]]} < (FilenameRedirectNode filename={[VarSub cmpfile]} "> 1), > ) (Com {[LIT_CHARS cat]} {[DQ [VarSub outfile]]} < (FilenameRedirectNode filename={[VarSub cmpfile]} "> 1), > ) ) (= scope= flags=0 words=[] bindings=[('cmperr', {[VarSub ?]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub err]} {[LIT_OTHER "="]} {[LIT_CHARS 0]}) (= scope= flags=0 words=[] bindings=[('err', {[VarSub cmperr]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[VarSub err]} {[LIT_OTHER "="]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS cat]} {[VarSub cmpfile]}) ) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "reference file '"][VarSub ref][LIT_CHARS "' not found"]]}) (= scope= flags=0 words=[] bindings=[('err', {[LIT_CHARS 1]})]) ) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub test][LIT_CHARS ":"][VarSub sig test_op=VS_TEST_COLON_HYPHEN {[VarSub err]}][LIT_CHARS ":"][ComSub (Com redirects=[(FilenameRedirectNode filename={[VarSub cmpfile]} 0)]{[VarSub base64]})][LIT_CHARS ":"][ComSub (Com redirects=[(FilenameRedirectNode filename={[VarSub errfile]} 0)]{[VarSub base64]})]]} < (FilenameRedirectNode filename={[VarSub repfile]} "> 1), > ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub err]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS test]} {[VarSub gen]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS no]]}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "GEN "][VarSub ref]]}) (Com {[LIT_CHARS cp]} {[LIT_CHARS -f]} {[DQ [VarSub outfile]]} {[DQ [VarSub ref]]}) (= scope= flags=0 words=[] bindings=[('err', {[VarSub ?]})]) ) ) (If (Com {[LIT_CHARS test]} {[VarSub err]} {[LIT_OTHER "="]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub outfile]} {[VarSub errfile]} {[VarSub cmpfile]} {[VarSub cleanfiles]}) (Com {[LIT_CHARS test]} {[VarSub gen]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS no]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Test "][VarSub test][LIT_CHARS " failed. Look at "][VarSub errfile][LIT_CHARS " for details."]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [VarSub V test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 0]}]]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS cat]} {[VarSub errfile]}) ) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Updating reference failed, possibly no output file was generated."]]}) ) (Com {[LIT_CHARS exit]} {[VarSub err]}) )