diff mbox

[FFmpeg-devel] Bump major versions of all libraries

Message ID 20170902162306.7788-1-jamrial@gmail.com
State New
Headers show

Commit Message

James Almer Sept. 2, 2017, 4:23 p.m. UTC
From: Vittorio Giovara <vittorio.giovara@gmail.com>

This disables almost everything that was deprecated at least two years ago

Readjust the minimum API version as needed, postponing any
API-incompatible changes until the next bump.

(cherry picked from commit 07a2b155949eb267cdfc7805f42c7b3375f9c7c5)
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
---
This depends on "[RFC] avcodec: add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL flag"
and is meant to be applied after release 3.4 is branched off from master,
as requested by both Michael and Marton.
This patch does not include the cleaning that will come afterwards, like
removing all the dead code inside the disabled FF_API_ wrappers. Those
commits will be cherry-picked or authored as needed later.

Three API deprecated ~2 years ago or more are also postponed here for
varying reasons.

FF_API_LOWRES:
Since this functionality depends on AVStream->codec, i figure the two can
be removed at the same time in the next bump or so.

FF_API_AVCTX_TIMEBASE:
Couldn't get this one to work. Not just libavcodec but apparently also
libavformat and ffmpeg.c expect AVCodecContext->time_base to be set for
decoding. Upon removal some tests report a different generic stream time
base (like 1/25), and others lose packet duration values. I guess it's
somehow tied to the AVStream->codec clusterfuck.
Help would be very welcome on removing this one. Otherwise it can be dealt
with alongside AVStream->codec in the next bump.

FF_API_OLD_FILTER_OPTS_ERROR:
This one is meant to remain after FF_API_OLD_FILTER_OPTS is removed.
Its purpose is displaying the corrected command line using the new syntax
as a suggestion as part of the error message.
Please, do not report command lines using the old syntax suddenly not
working.


Notes:
I have no way to test what effect the removal of XVMC truly has.
The decoders are removed but unlike libav we have hwaccels that are not
removed by this. Similarly, the pixfmt is also not removed in our case.
Commit dcc39ee10e82833ce24aa57926c00ffeb1948198 does a thorough removal
of the remnants of this functionality, but given the above i don't know
if that applies to us the same way.
I assume the hwaccels are meant to stay and work after this, so someone
that knows this code and functionality and has a system where it can be
tested should ideally look at this.

After the bump there's a grace period of a month or so up to at most when
the first post-bump release is tagged, to do the general ABI cleaning this
allows us to. This includes but is not limited to:

- Fixing field offsets of private fields in public structs by moving them
  to the end fo the struct (properly drawing the line where fields stop
  being public), or directly to internal structs.
- Deprecating get/setters created because said offsets were out of whack,
  and removing their usage within the libraries.
- Removing public enum value gaps that were missed during the last bump.
- Removing usage of internal API in avpriv_ functions (GetBitContext
  especially), or altering said functions in whatever way may be needed.
- Stop exposing internal API from libavformat.

The latter includes the scheduled removal of ffserver, as resolved in last
November's vote. A fixed version or even a full replacement working
exclusively with public API can be introduced at any point afterwards, so
please, lets not start a new fight like we had last November.
Of course, if someone goes and fixes it inside the grace period then there
will be no need to remove it at all. But that sounds kinda unfeasible
considering nine months have passed since the vote and nobody even gave it
a try.

 libavcodec/version.h                 | 20 ++++++++---------
 libavdevice/version.h                |  4 ++--
 libavfilter/version.h                |  8 +++----
 libavformat/version.h                | 18 ++++++++--------
 libavresample/version.h              |  4 ++--
 libavutil/version.h                  | 16 +++++++-------
 libpostproc/version.h                |  4 ++--
 libswresample/version.h              |  4 ++--
 libswscale/version.h                 |  6 +++---
 tests/ref/fate/api-mjpeg-codec-param | 42 ------------------------------------
 tests/ref/fate/api-png-codec-param   | 42 ------------------------------------
 11 files changed, 42 insertions(+), 126 deletions(-)

Comments

wm4 Sept. 4, 2017, 9:38 a.m. UTC | #1
On Sat,  2 Sep 2017 13:23:06 -0300
James Almer <jamrial@gmail.com> wrote:


>  #ifndef FF_API_LAVF_KEEPSIDE_FLAG
> -#define FF_API_LAVF_KEEPSIDE_FLAG       (LIBAVFORMAT_VERSION_MAJOR < 58)
> +#define FF_API_LAVF_KEEPSIDE_FLAG       (LIBAVFORMAT_VERSION_MAJOR < 59)
>  #endif
>  #ifndef FF_API_OLD_ROTATE_API
> -#define FF_API_OLD_ROTATE_API           (LIBAVFORMAT_VERSION_MAJOR < 58)
> +#define FF_API_OLD_ROTATE_API           (LIBAVFORMAT_VERSION_MAJOR < 59)
>  #endif
>  

WTF?
James Almer Sept. 4, 2017, 2:16 p.m. UTC | #2
On 9/4/2017 6:38 AM, wm4 wrote:
> On Sat,  2 Sep 2017 13:23:06 -0300
> James Almer <jamrial@gmail.com> wrote:
> 
> 
>>  #ifndef FF_API_LAVF_KEEPSIDE_FLAG
>> -#define FF_API_LAVF_KEEPSIDE_FLAG       (LIBAVFORMAT_VERSION_MAJOR < 58)
>> +#define FF_API_LAVF_KEEPSIDE_FLAG       (LIBAVFORMAT_VERSION_MAJOR < 59)
>>  #endif
>>  #ifndef FF_API_OLD_ROTATE_API
>> -#define FF_API_OLD_ROTATE_API           (LIBAVFORMAT_VERSION_MAJOR < 58)
>> +#define FF_API_OLD_ROTATE_API           (LIBAVFORMAT_VERSION_MAJOR < 59)
>>  #endif
>>  
> 
> WTF?

Both are barely a few months old, nowhere near the standard two years
deprecation period. What's surprising about this?

You even described this behavior in your commit d682ae70b4b.
Ivan Kalvachev Sept. 10, 2017, 5:55 p.m. UTC | #3
On 9/2/17, James Almer <jamrial@gmail.com> wrote:
[...]
> Notes:
> I have no way to test what effect the removal of XVMC truly has.
> The decoders are removed but unlike libav we have hwaccels that are not
> removed by this. Similarly, the pixfmt is also not removed in our case.
> Commit dcc39ee10e82833ce24aa57926c00ffeb1948198 does a thorough removal
> of the remnants of this functionality, but given the above i don't know
> if that applies to us the same way.
> I assume the hwaccels are meant to stay and work after this, so someone
> that knows this code and functionality and has a system where it can be
> tested should ideally look at this.

I assume that the above commit is from libav?
If so yes, it is the wrong thing to do.

The code has been reworked so player
uses pix_fmt to select acceleration,
thus no special decoders are needed.
It's like other hwaccel formats.

If you want I can send a patch that removes the disabled
XvMC functionality and leaves the enabled one.
If you do it instead, be careful, there are both #ifdef and #ifdef !not's,
afair.

MPlayer has been changed to use the new API years ago,
so it should work (with recompilation, but that's given at API bump).

I cannot test it ATM, because of HW issues.
I'll try to do this shortly.

Best Regards.
James Almer Sept. 10, 2017, 5:58 p.m. UTC | #4
On 9/10/2017 2:55 PM, Ivan Kalvachev wrote:
> On 9/2/17, James Almer <jamrial@gmail.com> wrote:
> [...]
>> Notes:
>> I have no way to test what effect the removal of XVMC truly has.
>> The decoders are removed but unlike libav we have hwaccels that are not
>> removed by this. Similarly, the pixfmt is also not removed in our case.
>> Commit dcc39ee10e82833ce24aa57926c00ffeb1948198 does a thorough removal
>> of the remnants of this functionality, but given the above i don't know
>> if that applies to us the same way.
>> I assume the hwaccels are meant to stay and work after this, so someone
>> that knows this code and functionality and has a system where it can be
>> tested should ideally look at this.
> 
> I assume that the above commit is from libav?
> If so yes, it is the wrong thing to do.
> 
> The code has been reworked so player
> uses pix_fmt to select acceleration,
> thus no special decoders are needed.
> It's like other hwaccel formats.
> 
> If you want I can send a patch that removes the disabled
> XvMC functionality and leaves the enabled one.
> If you do it instead, be careful, there are both #ifdef and #ifdef !not's,
> afair.

I'd very much prefer if you can do it. Adapt the codebase in a way that
simply flipping the FF_API_XVMC define from 1 to 0 disables the
deprecated code (and potentially enables new code in necessary, like the
stuff in pixfmt.h).
I have no way to test this functionality so anything i could do would be
just a wild guess.

Thanks a lot.

> 
> MPlayer has been changed to use the new API years ago,
> so it should work (with recompilation, but that's given at API bump).
> 
> I cannot test it ATM, because of HW issues.
> I'll try to do this shortly.
> 
> Best Regards.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
Ivan Kalvachev Oct. 8, 2017, 9:14 p.m. UTC | #5
On 9/10/17, James Almer <jamrial@gmail.com> wrote:
> On 9/10/2017 2:55 PM, Ivan Kalvachev wrote:
>> On 9/2/17, James Almer <jamrial@gmail.com> wrote:
>> [...]
>>> Notes:
>>> I have no way to test what effect the removal of XVMC truly has.
>>> The decoders are removed but unlike libav we have hwaccels that are not
>>> removed by this. Similarly, the pixfmt is also not removed in our case.
>>> Commit dcc39ee10e82833ce24aa57926c00ffeb1948198 does a thorough removal
>>> of the remnants of this functionality, but given the above i don't know
>>> if that applies to us the same way.
>>> I assume the hwaccels are meant to stay and work after this, so someone
>>> that knows this code and functionality and has a system where it can be
>>> tested should ideally look at this.
>>
>> I assume that the above commit is from libav?
>> If so yes, it is the wrong thing to do.
>>
>> The code has been reworked so player
>> uses pix_fmt to select acceleration,
>> thus no special decoders are needed.
>> It's like other hwaccel formats.
>>
>> If you want I can send a patch that removes the disabled
>> XvMC functionality and leaves the enabled one.
>> If you do it instead, be careful, there are both #ifdef and #ifdef !not's,
>> afair.
>
> I'd very much prefer if you can do it. Adapt the codebase in a way that
> simply flipping the FF_API_XVMC define from 1 to 0 disables the
> deprecated code (and potentially enables new code in necessary, like the
> stuff in pixfmt.h).
> I have no way to test this functionality so anything i could do would be
> just a wild guess.

I just built it with FF_API_XVMC 0 and it works just as well as before.

The hwaccel changes were done after libav deprecation merges,
so it has always been OK.

There is however unrelated bug that affects both new and old api.
It seems related to idct permutations. I'll try to find a fix asap.
James Almer Oct. 21, 2017, 6:23 p.m. UTC | #6
On 9/2/2017 1:23 PM, James Almer wrote:
> From: Vittorio Giovara <vittorio.giovara@gmail.com>
> 
> This disables almost everything that was deprecated at least two years ago
> 
> Readjust the minimum API version as needed, postponing any
> API-incompatible changes until the next bump.
> 
> (cherry picked from commit 07a2b155949eb267cdfc7805f42c7b3375f9c7c5)
> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> This depends on "[RFC] avcodec: add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL flag"
> and is meant to be applied after release 3.4 is branched off from master,
> as requested by both Michael and Marton.
> This patch does not include the cleaning that will come afterwards, like
> removing all the dead code inside the disabled FF_API_ wrappers. Those
> commits will be cherry-picked or authored as needed later.
> 
> Three API deprecated ~2 years ago or more are also postponed here for
> varying reasons.
> 
> FF_API_LOWRES:
> Since this functionality depends on AVStream->codec, i figure the two can
> be removed at the same time in the next bump or so.
> 
> FF_API_AVCTX_TIMEBASE:
> Couldn't get this one to work. Not just libavcodec but apparently also
> libavformat and ffmpeg.c expect AVCodecContext->time_base to be set for
> decoding. Upon removal some tests report a different generic stream time
> base (like 1/25), and others lose packet duration values. I guess it's
> somehow tied to the AVStream->codec clusterfuck.
> Help would be very welcome on removing this one. Otherwise it can be dealt
> with alongside AVStream->codec in the next bump.
> 
> FF_API_OLD_FILTER_OPTS_ERROR:
> This one is meant to remain after FF_API_OLD_FILTER_OPTS is removed.
> Its purpose is displaying the corrected command line using the new syntax
> as a suggestion as part of the error message.
> Please, do not report command lines using the old syntax suddenly not
> working.
> 
> 
> Notes:
> I have no way to test what effect the removal of XVMC truly has.
> The decoders are removed but unlike libav we have hwaccels that are not
> removed by this. Similarly, the pixfmt is also not removed in our case.
> Commit dcc39ee10e82833ce24aa57926c00ffeb1948198 does a thorough removal
> of the remnants of this functionality, but given the above i don't know
> if that applies to us the same way.
> I assume the hwaccels are meant to stay and work after this, so someone
> that knows this code and functionality and has a system where it can be
> tested should ideally look at this.
> 
> After the bump there's a grace period of a month or so up to at most when
> the first post-bump release is tagged, to do the general ABI cleaning this
> allows us to. This includes but is not limited to:
> 
> - Fixing field offsets of private fields in public structs by moving them
>   to the end fo the struct (properly drawing the line where fields stop
>   being public), or directly to internal structs.
> - Deprecating get/setters created because said offsets were out of whack,
>   and removing their usage within the libraries.
> - Removing public enum value gaps that were missed during the last bump.
> - Removing usage of internal API in avpriv_ functions (GetBitContext
>   especially), or altering said functions in whatever way may be needed.
> - Stop exposing internal API from libavformat.
> 
> The latter includes the scheduled removal of ffserver, as resolved in last
> November's vote. A fixed version or even a full replacement working
> exclusively with public API can be introduced at any point afterwards, so
> please, lets not start a new fight like we had last November.
> Of course, if someone goes and fixes it inside the grace period then there
> will be no need to remove it at all. But that sounds kinda unfeasible
> considering nine months have passed since the vote and nobody even gave it
> a try.

Ok, I've reached this commit in the merge queue and applied it. Now
starts a month or two long period where we can do a general ABI cleaning
like i listed above.
As usual, and like APIChanges mentions, the API/ABI should be considered
unstable during the aforementioned period.

Help cleaning public structs and similar tasks very much welcome.
diff mbox

Patch

diff --git a/libavcodec/version.h b/libavcodec/version.h
index 29cdb85589..9f1543a6aa 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -27,9 +27,9 @@ 
 
 #include "libavutil/version.h"
 
-#define LIBAVCODEC_VERSION_MAJOR  57
-#define LIBAVCODEC_VERSION_MINOR 104
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MAJOR  58
+#define LIBAVCODEC_VERSION_MINOR   0
+#define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \
@@ -64,7 +64,7 @@ 
 #define FF_API_MISSING_SAMPLE    (LIBAVCODEC_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_LOWRES
-#define FF_API_LOWRES            (LIBAVCODEC_VERSION_MAJOR < 58)
+#define FF_API_LOWRES            (LIBAVCODEC_VERSION_MAJOR < 59)
 #endif
 #ifndef FF_API_CAP_VDPAU
 #define FF_API_CAP_VDPAU         (LIBAVCODEC_VERSION_MAJOR < 58)
@@ -161,25 +161,25 @@ 
 #define FF_API_AVCTX_TIMEBASE    (LIBAVCODEC_VERSION_MAJOR < 59)
 #endif
 #ifndef FF_API_MPV_OPT
-#define FF_API_MPV_OPT           (LIBAVCODEC_VERSION_MAJOR < 59)
+#define FF_API_MPV_OPT           (LIBAVCODEC_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_STREAM_CODEC_TAG
-#define FF_API_STREAM_CODEC_TAG  (LIBAVCODEC_VERSION_MAJOR < 59)
+#define FF_API_STREAM_CODEC_TAG  (LIBAVCODEC_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_QUANT_BIAS
-#define FF_API_QUANT_BIAS        (LIBAVCODEC_VERSION_MAJOR < 59)
+#define FF_API_QUANT_BIAS        (LIBAVCODEC_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_RC_STRATEGY
-#define FF_API_RC_STRATEGY       (LIBAVCODEC_VERSION_MAJOR < 59)
+#define FF_API_RC_STRATEGY       (LIBAVCODEC_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_CODED_FRAME
 #define FF_API_CODED_FRAME       (LIBAVCODEC_VERSION_MAJOR < 59)
 #endif
 #ifndef FF_API_MOTION_EST
-#define FF_API_MOTION_EST        (LIBAVCODEC_VERSION_MAJOR < 59)
+#define FF_API_MOTION_EST        (LIBAVCODEC_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_WITHOUT_PREFIX
-#define FF_API_WITHOUT_PREFIX    (LIBAVCODEC_VERSION_MAJOR < 59)
+#define FF_API_WITHOUT_PREFIX    (LIBAVCODEC_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_SIDEDATA_ONLY_PKT
 #define FF_API_SIDEDATA_ONLY_PKT (LIBAVCODEC_VERSION_MAJOR < 59)
diff --git a/libavdevice/version.h b/libavdevice/version.h
index 948e4e1e08..364404d65e 100644
--- a/libavdevice/version.h
+++ b/libavdevice/version.h
@@ -27,8 +27,8 @@ 
 
 #include "libavutil/version.h"
 
-#define LIBAVDEVICE_VERSION_MAJOR  57
-#define LIBAVDEVICE_VERSION_MINOR   8
+#define LIBAVDEVICE_VERSION_MAJOR  58
+#define LIBAVDEVICE_VERSION_MINOR   0
 #define LIBAVDEVICE_VERSION_MICRO 100
 
 #define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \
diff --git a/libavfilter/version.h b/libavfilter/version.h
index 60f18f7c51..a350f47686 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -29,8 +29,8 @@ 
 
 #include "libavutil/version.h"
 
-#define LIBAVFILTER_VERSION_MAJOR   6
-#define LIBAVFILTER_VERSION_MINOR 101
+#define LIBAVFILTER_VERSION_MAJOR   7
+#define LIBAVFILTER_VERSION_MINOR   0
 #define LIBAVFILTER_VERSION_MICRO 100
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
@@ -53,7 +53,7 @@ 
 #define FF_API_OLD_FILTER_OPTS              (LIBAVFILTER_VERSION_MAJOR < 7)
 #endif
 #ifndef FF_API_OLD_FILTER_OPTS_ERROR
-#define FF_API_OLD_FILTER_OPTS_ERROR        (LIBAVFILTER_VERSION_MAJOR < 7)
+#define FF_API_OLD_FILTER_OPTS_ERROR        (LIBAVFILTER_VERSION_MAJOR < 8)
 #endif
 #ifndef FF_API_AVFILTER_OPEN
 #define FF_API_AVFILTER_OPEN                (LIBAVFILTER_VERSION_MAJOR < 7)
@@ -68,7 +68,7 @@ 
 #define FF_API_NOCONST_GET_NAME             (LIBAVFILTER_VERSION_MAJOR < 7)
 #endif
 #ifndef FF_API_LAVR_OPTS
-#define FF_API_LAVR_OPTS                    (LIBAVFILTER_VERSION_MAJOR < 7)
+#define FF_API_LAVR_OPTS                    (LIBAVFILTER_VERSION_MAJOR < 8)
 #endif
 
 #endif /* AVFILTER_VERSION_H */
diff --git a/libavformat/version.h b/libavformat/version.h
index 9cca76ee00..ed0439a26a 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -31,8 +31,8 @@ 
 
 // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
 // Also please add any ticket numbers that you believe might be affected here
-#define LIBAVFORMAT_VERSION_MAJOR  57
-#define LIBAVFORMAT_VERSION_MINOR  81
+#define LIBAVFORMAT_VERSION_MAJOR  58
+#define LIBAVFORMAT_VERSION_MINOR   0
 #define LIBAVFORMAT_VERSION_MICRO 100
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
@@ -71,31 +71,31 @@ 
 #define FF_API_LAVF_FMT_RAWPICTURE      (LIBAVFORMAT_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_COMPUTE_PKT_FIELDS2
-#define FF_API_COMPUTE_PKT_FIELDS2      (LIBAVFORMAT_VERSION_MAJOR < 58)
+#define FF_API_COMPUTE_PKT_FIELDS2      (LIBAVFORMAT_VERSION_MAJOR < 59)
 #endif
 #ifndef FF_API_OLD_OPEN_CALLBACKS
-#define FF_API_OLD_OPEN_CALLBACKS       (LIBAVFORMAT_VERSION_MAJOR < 58)
+#define FF_API_OLD_OPEN_CALLBACKS       (LIBAVFORMAT_VERSION_MAJOR < 59)
 #endif
 #ifndef FF_API_LAVF_AVCTX
-#define FF_API_LAVF_AVCTX               (LIBAVFORMAT_VERSION_MAJOR < 58)
+#define FF_API_LAVF_AVCTX               (LIBAVFORMAT_VERSION_MAJOR < 59)
 #endif
 #ifndef FF_API_NOCONST_GET_SIDE_DATA
 #define FF_API_NOCONST_GET_SIDE_DATA    (LIBAVFORMAT_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_HTTP_USER_AGENT
-#define FF_API_HTTP_USER_AGENT          (LIBAVFORMAT_VERSION_MAJOR < 58)
+#define FF_API_HTTP_USER_AGENT          (LIBAVFORMAT_VERSION_MAJOR < 59)
 #endif
 #ifndef FF_API_HLS_WRAP
-#define FF_API_HLS_WRAP                 (LIBAVFORMAT_VERSION_MAJOR < 58)
+#define FF_API_HLS_WRAP                 (LIBAVFORMAT_VERSION_MAJOR < 59)
 #endif
 #ifndef FF_API_LAVF_MERGE_SD
 #define FF_API_LAVF_MERGE_SD            (LIBAVFORMAT_VERSION_MAJOR < 58)
 #endif
 #ifndef FF_API_LAVF_KEEPSIDE_FLAG
-#define FF_API_LAVF_KEEPSIDE_FLAG       (LIBAVFORMAT_VERSION_MAJOR < 58)
+#define FF_API_LAVF_KEEPSIDE_FLAG       (LIBAVFORMAT_VERSION_MAJOR < 59)
 #endif
 #ifndef FF_API_OLD_ROTATE_API
-#define FF_API_OLD_ROTATE_API           (LIBAVFORMAT_VERSION_MAJOR < 58)
+#define FF_API_OLD_ROTATE_API           (LIBAVFORMAT_VERSION_MAJOR < 59)
 #endif
 
 
diff --git a/libavresample/version.h b/libavresample/version.h
index f6d99cba08..d5d3ea82b1 100644
--- a/libavresample/version.h
+++ b/libavresample/version.h
@@ -27,8 +27,8 @@ 
 
 #include "libavutil/version.h"
 
-#define LIBAVRESAMPLE_VERSION_MAJOR  3
-#define LIBAVRESAMPLE_VERSION_MINOR  6
+#define LIBAVRESAMPLE_VERSION_MAJOR  4
+#define LIBAVRESAMPLE_VERSION_MINOR  0
 #define LIBAVRESAMPLE_VERSION_MICRO  0
 
 #define LIBAVRESAMPLE_VERSION_INT  AV_VERSION_INT(LIBAVRESAMPLE_VERSION_MAJOR, \
diff --git a/libavutil/version.h b/libavutil/version.h
index 6e25b4690c..e9b8d0c37d 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,8 +79,8 @@ 
  */
 
 
-#define LIBAVUTIL_VERSION_MAJOR  55
-#define LIBAVUTIL_VERSION_MINOR  74
+#define LIBAVUTIL_VERSION_MAJOR  56
+#define LIBAVUTIL_VERSION_MINOR   0
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
@@ -119,25 +119,25 @@ 
 #define FF_API_DLOG                     (LIBAVUTIL_VERSION_MAJOR < 56)
 #endif
 #ifndef FF_API_VAAPI
-#define FF_API_VAAPI                    (LIBAVUTIL_VERSION_MAJOR < 56)
+#define FF_API_VAAPI                    (LIBAVUTIL_VERSION_MAJOR < 57)
 #endif
 #ifndef FF_API_FRAME_QP
-#define FF_API_FRAME_QP                 (LIBAVUTIL_VERSION_MAJOR < 56)
+#define FF_API_FRAME_QP                 (LIBAVUTIL_VERSION_MAJOR < 57)
 #endif
 #ifndef FF_API_PLUS1_MINUS1
-#define FF_API_PLUS1_MINUS1             (LIBAVUTIL_VERSION_MAJOR < 56)
+#define FF_API_PLUS1_MINUS1             (LIBAVUTIL_VERSION_MAJOR < 57)
 #endif
 #ifndef FF_API_ERROR_FRAME
-#define FF_API_ERROR_FRAME              (LIBAVUTIL_VERSION_MAJOR < 56)
+#define FF_API_ERROR_FRAME              (LIBAVUTIL_VERSION_MAJOR < 57)
 #endif
 #ifndef FF_API_CRC_BIG_TABLE
 #define FF_API_CRC_BIG_TABLE            (LIBAVUTIL_VERSION_MAJOR < 56)
 #endif
 #ifndef FF_API_PKT_PTS
-#define FF_API_PKT_PTS                  (LIBAVUTIL_VERSION_MAJOR < 56)
+#define FF_API_PKT_PTS                  (LIBAVUTIL_VERSION_MAJOR < 57)
 #endif
 #ifndef FF_API_CRYPTO_SIZE_T
-#define FF_API_CRYPTO_SIZE_T            (LIBAVUTIL_VERSION_MAJOR < 56)
+#define FF_API_CRYPTO_SIZE_T            (LIBAVUTIL_VERSION_MAJOR < 57)
 #endif
 
 
diff --git a/libpostproc/version.h b/libpostproc/version.h
index 3d7f8ea472..3ae75ff8b0 100644
--- a/libpostproc/version.h
+++ b/libpostproc/version.h
@@ -28,8 +28,8 @@ 
 
 #include "libavutil/avutil.h"
 
-#define LIBPOSTPROC_VERSION_MAJOR  54
-#define LIBPOSTPROC_VERSION_MINOR   6
+#define LIBPOSTPROC_VERSION_MAJOR  55
+#define LIBPOSTPROC_VERSION_MINOR   0
 #define LIBPOSTPROC_VERSION_MICRO 100
 
 #define LIBPOSTPROC_VERSION_INT AV_VERSION_INT(LIBPOSTPROC_VERSION_MAJOR, \
diff --git a/libswresample/version.h b/libswresample/version.h
index 379177a1f4..54dfd71e42 100644
--- a/libswresample/version.h
+++ b/libswresample/version.h
@@ -28,8 +28,8 @@ 
 
 #include "libavutil/avutil.h"
 
-#define LIBSWRESAMPLE_VERSION_MAJOR   2
-#define LIBSWRESAMPLE_VERSION_MINOR   8
+#define LIBSWRESAMPLE_VERSION_MAJOR   3
+#define LIBSWRESAMPLE_VERSION_MINOR   0
 #define LIBSWRESAMPLE_VERSION_MICRO 100
 
 #define LIBSWRESAMPLE_VERSION_INT  AV_VERSION_INT(LIBSWRESAMPLE_VERSION_MAJOR, \
diff --git a/libswscale/version.h b/libswscale/version.h
index dcf7959b23..9c24122031 100644
--- a/libswscale/version.h
+++ b/libswscale/version.h
@@ -26,9 +26,9 @@ 
 
 #include "libavutil/version.h"
 
-#define LIBSWSCALE_VERSION_MAJOR   4
-#define LIBSWSCALE_VERSION_MINOR   7
-#define LIBSWSCALE_VERSION_MICRO 103
+#define LIBSWSCALE_VERSION_MAJOR   5
+#define LIBSWSCALE_VERSION_MINOR   0
+#define LIBSWSCALE_VERSION_MICRO 100
 
 #define LIBSWSCALE_VERSION_INT  AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
                                                LIBSWSCALE_VERSION_MINOR, \
diff --git a/tests/ref/fate/api-mjpeg-codec-param b/tests/ref/fate/api-mjpeg-codec-param
index 6a5d4d3926..4803030c56 100644
--- a/tests/ref/fate/api-mjpeg-codec-param
+++ b/tests/ref/fate/api-mjpeg-codec-param
@@ -3,7 +3,6 @@  stream=0, decode=0
     ab=0
     bt=4000000
     flags=0x00000000
-    me_method=5
     time_base=0/1
     g=12
     ar=0
@@ -18,7 +17,6 @@  stream=0, decode=0
     qdiff=3
     bf=0
     b_qfactor=1.250000
-    rc_strategy=0
     b_strategy=0
     ps=0
     mv_bits=0
@@ -38,18 +36,12 @@  stream=0, decode=0
     has_b_frames=0
     block_align=0
     mpeg_quant=0
-    qsquish=0.000000
-    rc_qmod_amp=0.000000
-    rc_qmod_freq=0
     rc_override_count=0
-    rc_eq=
     maxrate=0
     minrate=0
     bufsize=0
-    rc_buf_aggressivity=1.000000
     i_qfactor=-0.800000
     i_qoffset=0.000000
-    rc_init_cplx=0.000000
     dct=0
     lumi_mask=0.000000
     tcplx_mask=0.000000
@@ -64,7 +56,6 @@  stream=0, decode=0
     aspect=180/180
     sar=180/180
     debug=0x00000000
-    vismv=0x00000000
     cmp=0
     subcmp=0
     mbcmp=0
@@ -75,27 +66,17 @@  stream=0, decode=0
     precmp=0
     pre_dia_size=0
     subq=8
-    dtg_active_format=0
     me_range=0
-    ibias=999999
-    pbias=999999
     global_quality=0
     coder=0
     context=0
     slice_flags=0
-    xvmc_acceleration=0
     mbd=0
-    stream_codec_tag=0
     sc_threshold=0
-    lmin=0
-    lmax=0
     nr=0
     rc_init_occupancy=0
     flags2=0x00000000
-    error=0
     threads=1
-    me_threshold=0
-    mb_threshold=0
     dc=0
     nssew=8
     skip_top=0
@@ -107,7 +88,6 @@  stream=0, decode=0
     skip_factor=0
     skip_exp=0
     skipcmp=13
-    border_mask=0.000000
     mblmin=236
     mblmax=3658
     mepc=256
@@ -120,7 +100,6 @@  stream=0, decode=0
     refs=1
     chromaoffset=0
     trellis=0
-    sc_factor=6
     mv0_threshold=256
     b_sensitivity=40
     compression_level=-1
@@ -162,7 +141,6 @@  stream=0, decode=1
     ab=0
     bt=4000000
     flags=0x00000000
-    me_method=5
     time_base=0/1
     g=12
     ar=0
@@ -177,7 +155,6 @@  stream=0, decode=1
     qdiff=3
     bf=0
     b_qfactor=1.250000
-    rc_strategy=0
     b_strategy=0
     ps=0
     mv_bits=0
@@ -197,18 +174,12 @@  stream=0, decode=1
     has_b_frames=0
     block_align=0
     mpeg_quant=0
-    qsquish=0.000000
-    rc_qmod_amp=0.000000
-    rc_qmod_freq=0
     rc_override_count=0
-    rc_eq=
     maxrate=0
     minrate=0
     bufsize=0
-    rc_buf_aggressivity=1.000000
     i_qfactor=-0.800000
     i_qoffset=0.000000
-    rc_init_cplx=0.000000
     dct=0
     lumi_mask=0.000000
     tcplx_mask=0.000000
@@ -223,7 +194,6 @@  stream=0, decode=1
     aspect=180/180
     sar=180/180
     debug=0x00000000
-    vismv=0x00000000
     cmp=0
     subcmp=0
     mbcmp=0
@@ -234,27 +204,17 @@  stream=0, decode=1
     precmp=0
     pre_dia_size=0
     subq=8
-    dtg_active_format=0
     me_range=0
-    ibias=999999
-    pbias=999999
     global_quality=0
     coder=0
     context=0
     slice_flags=0
-    xvmc_acceleration=0
     mbd=0
-    stream_codec_tag=0
     sc_threshold=0
-    lmin=0
-    lmax=0
     nr=0
     rc_init_occupancy=0
     flags2=0x00000000
-    error=0
     threads=1
-    me_threshold=0
-    mb_threshold=0
     dc=0
     nssew=8
     skip_top=0
@@ -266,7 +226,6 @@  stream=0, decode=1
     skip_factor=0
     skip_exp=0
     skipcmp=13
-    border_mask=0.000000
     mblmin=236
     mblmax=3658
     mepc=256
@@ -279,7 +238,6 @@  stream=0, decode=1
     refs=1
     chromaoffset=0
     trellis=0
-    sc_factor=6
     mv0_threshold=256
     b_sensitivity=40
     compression_level=-1
diff --git a/tests/ref/fate/api-png-codec-param b/tests/ref/fate/api-png-codec-param
index c51957e1d2..dabe8154ee 100644
--- a/tests/ref/fate/api-png-codec-param
+++ b/tests/ref/fate/api-png-codec-param
@@ -3,7 +3,6 @@  stream=0, decode=0
     ab=0
     bt=4000000
     flags=0x00000000
-    me_method=5
     time_base=0/1
     g=12
     ar=0
@@ -18,7 +17,6 @@  stream=0, decode=0
     qdiff=3
     bf=0
     b_qfactor=1.250000
-    rc_strategy=0
     b_strategy=0
     ps=0
     mv_bits=0
@@ -38,18 +36,12 @@  stream=0, decode=0
     has_b_frames=0
     block_align=0
     mpeg_quant=0
-    qsquish=0.000000
-    rc_qmod_amp=0.000000
-    rc_qmod_freq=0
     rc_override_count=0
-    rc_eq=
     maxrate=0
     minrate=0
     bufsize=0
-    rc_buf_aggressivity=1.000000
     i_qfactor=-0.800000
     i_qoffset=0.000000
-    rc_init_cplx=0.000000
     dct=0
     lumi_mask=0.000000
     tcplx_mask=0.000000
@@ -64,7 +56,6 @@  stream=0, decode=0
     aspect=2835/2835
     sar=2835/2835
     debug=0x00000000
-    vismv=0x00000000
     cmp=0
     subcmp=0
     mbcmp=0
@@ -75,27 +66,17 @@  stream=0, decode=0
     precmp=0
     pre_dia_size=0
     subq=8
-    dtg_active_format=0
     me_range=0
-    ibias=999999
-    pbias=999999
     global_quality=0
     coder=0
     context=0
     slice_flags=0
-    xvmc_acceleration=0
     mbd=0
-    stream_codec_tag=0
     sc_threshold=0
-    lmin=0
-    lmax=0
     nr=0
     rc_init_occupancy=0
     flags2=0x00000000
-    error=0
     threads=1
-    me_threshold=0
-    mb_threshold=0
     dc=0
     nssew=8
     skip_top=0
@@ -107,7 +88,6 @@  stream=0, decode=0
     skip_factor=0
     skip_exp=0
     skipcmp=13
-    border_mask=0.000000
     mblmin=236
     mblmax=3658
     mepc=256
@@ -120,7 +100,6 @@  stream=0, decode=0
     refs=1
     chromaoffset=0
     trellis=0
-    sc_factor=6
     mv0_threshold=256
     b_sensitivity=40
     compression_level=-1
@@ -162,7 +141,6 @@  stream=0, decode=1
     ab=0
     bt=4000000
     flags=0x00000000
-    me_method=5
     time_base=0/1
     g=12
     ar=0
@@ -177,7 +155,6 @@  stream=0, decode=1
     qdiff=3
     bf=0
     b_qfactor=1.250000
-    rc_strategy=0
     b_strategy=0
     ps=0
     mv_bits=0
@@ -197,18 +174,12 @@  stream=0, decode=1
     has_b_frames=0
     block_align=0
     mpeg_quant=0
-    qsquish=0.000000
-    rc_qmod_amp=0.000000
-    rc_qmod_freq=0
     rc_override_count=0
-    rc_eq=
     maxrate=0
     minrate=0
     bufsize=0
-    rc_buf_aggressivity=1.000000
     i_qfactor=-0.800000
     i_qoffset=0.000000
-    rc_init_cplx=0.000000
     dct=0
     lumi_mask=0.000000
     tcplx_mask=0.000000
@@ -223,7 +194,6 @@  stream=0, decode=1
     aspect=2835/2835
     sar=2835/2835
     debug=0x00000000
-    vismv=0x00000000
     cmp=0
     subcmp=0
     mbcmp=0
@@ -234,27 +204,17 @@  stream=0, decode=1
     precmp=0
     pre_dia_size=0
     subq=8
-    dtg_active_format=0
     me_range=0
-    ibias=999999
-    pbias=999999
     global_quality=0
     coder=0
     context=0
     slice_flags=0
-    xvmc_acceleration=0
     mbd=0
-    stream_codec_tag=0
     sc_threshold=0
-    lmin=0
-    lmax=0
     nr=0
     rc_init_occupancy=0
     flags2=0x00000000
-    error=0
     threads=1
-    me_threshold=0
-    mb_threshold=0
     dc=0
     nssew=8
     skip_top=0
@@ -266,7 +226,6 @@  stream=0, decode=1
     skip_factor=0
     skip_exp=0
     skipcmp=13
-    border_mask=0.000000
     mblmin=236
     mblmax=3658
     mepc=256
@@ -279,7 +238,6 @@  stream=0, decode=1
     refs=1
     chromaoffset=0
     trellis=0
-    sc_factor=6
     mv0_threshold=256
     b_sensitivity=40
     compression_level=-1