url_open()
This function has been changed to avio_open. There is also url_close which is renamed to avio_close. This information I found here.
av_new_stream()
This function is still supported as of FFMPEG 1.0.1 but it is marked as deprecated. It will be replaced with avformat_new_stream(). Suppose that the old code was:
AVStream *st = av_new_stream(oc, i);
the modified code should be:
AVStream *st = avformat_new_stream(oc, NULL);
st->id = i
Be careful to check first that st isn't NULL!
dump_format()
This function was renamed to av_dump_format().
av_write_header()
Replaced with avformat_write_header() that accepts two arguments instead of one. Pass NULL as the second argument to get identical behavior to the old function.
av_codec_open()
This one is replaced with av_codec_open2(). The replacement function accepts three arguments instead of two, but put NULL as a third argument to get the same behavior as the old function.
avcodec_encode_audio()
Replaced with avcodec_encode_audio2().
av_set_parameters()
I couldn't fine the replacement for this one. First, I've found that this function doesn't have replacement. But it was when it was still available in FFMPEG, even though deprecated. Then, they removed it, and thus it has to have replacement. In certain places I found that they only disabled it, on others that its parameters have to be passed to avformat_write_header. In the end, I gave up because I didn't need working version of that part of the code for now. Since in my case avformat_alloc_context() is called and then av_set_parameters(), last what I looked at was to call avformat_alloc_output_context2() instead of avformat_alloc_context(). But the change is not trivial so I skipped it.
SampleFormat
This enum has been renamed AVSampleFormat.
URL_WRONLY
This constant has been replaced with AVIO_FLAG_WRITE.
SAMPLE_FMT_U8, SAMPLE_FMT_S16, SAMPLE_FMT_S32, etc.
Those are prefixed now with AV_, so use AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_S16, etc.
2 comments:
Hi, thanks for this listing. It was very helpful even after a year!
concerning av_set_parameters I have found some hint in ffmpegs documentation for version 0.8 in which it was marked as deprecated:
http://ffmpeg.org/doxygen/0.8/deprecated.html
It exactly says:
"Global av_set_parameters
pass the options to avformat_write_header directly."
That's it.
Cheers
Sven
Post a Comment