aboutsummaryrefslogtreecommitdiffhomepage
path: root/projects/ffmpeg
diff options
context:
space:
mode:
authorGravatar Kostya Serebryany <konstantin.s.serebryany@gmail.com>2017-05-04 10:47:39 -0700
committerGravatar Kostya Serebryany <konstantin.s.serebryany@gmail.com>2017-05-04 10:47:39 -0700
commit9a9514218ca85714cf231eee433311ab5c6e59dd (patch)
treef770700886abfb851b061eb86567651a0a9275e9 /projects/ffmpeg
parent392ca44ad0559b8c83ade044f1c52f98d3c4fc48 (diff)
better build.sh for ffmpeg
Diffstat (limited to 'projects/ffmpeg')
-rwxr-xr-xprojects/ffmpeg/build.sh14
1 files changed, 6 insertions, 8 deletions
diff --git a/projects/ffmpeg/build.sh b/projects/ffmpeg/build.sh
index 899edf38..90f35cb9 100755
--- a/projects/ffmpeg/build.sh
+++ b/projects/ffmpeg/build.sh
@@ -182,15 +182,13 @@ export TEMP_VAR_CODEC="AV_CODEC_ID_H264"
export TEMP_VAR_CODEC_TYPE="VIDEO"
# Build fuzzers for decoders.
-CODEC_NAMES=`git grep 'AV_CODEC_ID_[A-Z0-9_]*,' libavcodec/avcodec.h | grep -v '_NONE' | sed 's/.*AV_CODEC_ID_\([^,]*\),.*/\1/' `
-
-for codec in $CODEC_NAMES; do
- fuzzer_name=ffmpeg_AV_CODEC_ID_${codec}_fuzzer
-
- make tools/target_dec_${codec}_fuzzer
- mv tools/target_dec_${codec}_fuzzer $OUT/${fuzzer_name}
-
+CONDITIONALS=`grep 'DECODER 1$' config.h | sed 's/#define CONFIG_\(.*\)_DECODER 1/\1/'`
+for c in $CONDITIONALS ; do
+ fuzzer_name=ffmpeg_AV_CODEC_ID_${c}_fuzzer
+ symbol=`git grep 'REGISTER_[A-Z]*DEC[A-Z ]*('"$c"' *,' libavcodec/allcodecs.c | sed 's/.*, *\([^) ]*\)).*/\1/'`
echo -en "[libfuzzer]\nmax_len = 1000000\n" > $OUT/${fuzzer_name}.options
+ make tools/target_dec_${symbol}_fuzzer
+ mv tools/target_dec_${symbol}_fuzzer $OUT/${fuzzer_name}
done
# Find relevant corpus in test samples and archive them for every fuzzer.