I've been getting more and more reports recently of the following
situation resulting in broken ffmpeg compilation with x264:
1. User has x264 shared library installed (API version 65 or 66).
2. User updates his x264 to API version 67 but doesn't compile it
with shared. x264.h is overwritten.
3. User compiles ffmpeg against the new x264.h, but ld links to the old .so.
4. User experiences random errors, segfaults, other brokenness due to
bad linking.
Proposed solution: new x264 API function:
int x264_version();
which returns the API version number. Upon initializing the encoder,
ffmpeg would call this and terminate if it did not match the one
included in x264.h. The error message might be something like:
"Error initializing x264 encoder: linked x264 library does not match
the API version provided in header."
Thoughts?
Dark Shikari