# Object files
*.o
*.obj

# Dependency files
*.d

# orig files generated by astyle
*.orig

# Libraries
*.lib
*.a

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
h264dec
h264enc
codec_unittest

# Other files generated by the MSVC compiler
*.exp
*.pdb

# Executables built by the MSVC project files
bin

# External source
gtest
gmp-api

# Output files from example commands
testbin/test_vd_1d.264
testbin/test_vd_1d.yuv
testbin/test_vd_rc.264
testbin/test_vd_rc.yuv
testbin/test.264
testbin/test.yuv

# pkg-config file
*.pc

# editor files
*~

