Убедитесь, что у вас есть этот блок:
extern "C" {
#include<avformat/avformat.h>
#include<avformat/...whatever....h>
}
Также в файлах demux.cpp и codec.cpp.
EDIT
Пытался сделать что вы делали и отлично работали. Вот что я сделал:
$ cat av.cpp
extern "C" {
#include <libavformat/avformat.h>
}
int main(void)
{
av_register_all();
return 0;
}
$ g++ av.cpp -lavformat
$ ./a.out
HTH