source-check.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/bin/sh
  2. cd "$1"/..
  3. git show > /dev/null 2> /dev/null || { cat tests/ref/fate/source ; exit 0; }
  4. echo Files without standard license headers:
  5. git grep -L -E "This file is part of FFmpeg|This file is part of libswresample|"\
  6. "Permission to use, copy, modify, and/or distribute this software for any|"\
  7. "Permission is hereby granted, free of charge, to any person|"\
  8. "Permission is hereby granted to use, copy, modify, and distribute this|"\
  9. "Permission is granted to anyone to use this software for any purpose|"\
  10. "This work is licensed under the terms of the GNU GPL|"\
  11. "Redistribution and use in source and binary forms, with or without|"\
  12. "This library is free software; you can redistribute it and/or|"\
  13. "This program is free software; you can redistribute it and/or modify|"\
  14. "Licensed under the Apache License|"\
  15. "This file is placed in the public domain" | grep -E '\.c$|\.h$|\.S$|\.asm$'
  16. echo Headers without standard inclusion guards:
  17. for f in `git ls-files | grep '\.h$'` ; do
  18. macro="`echo $f | sed \
  19. -e 's/^lib//' \
  20. -e 's/[^A-Za-z0-9]\{1,\}/_/g' \
  21. -e 's/_af_/_/' \
  22. -e 's/_vf_/_/' \
  23. -e 's/_avf_/_/' \
  24. -e 's/_vaf_/_/' \
  25. | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`"
  26. git grep -L "^#define $macro$" $f
  27. done
  28. echo "Use of av_clip() where av_clip_uintp2() could be used:"
  29. git grep -E 'av_clip *\(.*, *0 *, *(3|7|15|31|63|127|255|511|1023|2047|4095|8191|'\
  30. '16383|32767|65535|131071|262143|524287|1048575|2097151|4194303|8388607|16777215|'\
  31. '33554431|67108863|134217727|268435455|536870911|1073741823) *\)' | grep -v fate/source
  32. echo "Use of av_clip() where av_clip_intp2() could be used:"
  33. git grep -E 'av_clip *\(.*, *(-2 *, *1|-4 *, *3|-8 *, *7|-16 *, *15|-32 *, *31|-64'\
  34. ' *, *63|-128 *, *127|-256 *, *255|-512 *, *511|-1024 *, *1023|-2048 *, *2047|-4096'\
  35. ' *, *4095|-8192 *, *8191|-16384 *, *16383|-32768 *, *32767|-65536 *, *65535|-131072'\
  36. ' *, *131071|-262144 *, *262143|-524288 *, *524287|-1048576 *, *1048575|-2097152 *,'\
  37. ' *2097151|-4194304 *, *4194303|-8388608 *, *8388607|-16777216 *, *16777215|-33554432'\
  38. ' *, *33554431|-67108864 *, *67108863|-134217728 *, *134217727|-268435456 *, *'\
  39. '268435455|-536870912 *, *536870911|-1073741824 *, *1073741823) *\)'| grep -v fate/source
  40. exit 0