source-check.sh 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 modification|"\
  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. "This file is placed in the public domain" | grep -E '\.c$|\.h$|\.S$|\.asm$'
  15. echo Headers without standard inclusion guards:
  16. for f in `git ls-files | grep '\.h$'` ; do
  17. macro="`echo $f | sed \
  18. -e 's/^lib//' \
  19. -e 's/[^A-Za-z0-9]\{1,\}/_/g' \
  20. -e 's/_af_/_/' \
  21. -e 's/_vf_/_/' \
  22. -e 's/_avf_/_/' \
  23. -e 's/_vaf_/_/' \
  24. | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`"
  25. git grep -L "^#define $macro$" $f
  26. done
  27. echo "Use of av_clip() where av_clip_uintp2() could be used:"
  28. git grep -E 'av_clip *\(.*, *0 *, *(3|7|15|31|63|127|255|511|1023|2047|4095|8191|'\
  29. '16383|32767|65535|131071|262143|524287|1048575|2097151|4194303|8388607|16777215|'\
  30. '33554431|67108863|134217727|268435455|536870911|1073741823) *\)' | grep -v fate/source
  31. echo "Use of av_clip() where av_clip_intp2() could be used:"
  32. git grep -E 'av_clip *\(.*, *(-2 *, *1|-4 *, *3|-8 *, *7|-16 *, *15|-32 *, *31|-64'\
  33. ' *, *63|-128 *, *127|-256 *, *255|-512 *, *511|-1024 *, *1023|-2048 *, *2047|-4096'\
  34. ' *, *4095|-8192 *, *8191|-16384 *, *16383|-32768 *, *32767|-65536 *, *65535|-131072'\
  35. ' *, *131071|-262144 *, *262143|-524288 *, *524287|-1048576 *, *1048575|-2097152 *,'\
  36. ' *2097151|-4194304 *, *4194303|-8388608 *, *8388607|-16777216 *, *16777215|-33554432'\
  37. ' *, *33554431|-67108864 *, *67108863|-134217728 *, *134217727|-268435456 *, *'\
  38. '268435455|-536870912 *, *536870911|-1073741824 *, *1073741823) *\)'| grep -v fate/source
  39. exit 0