VLC 3.0.14 does not build with FFmpeg 5.0
I picked up the few commits from the 3.0 branch for fixing building with newer FFmpeg, but there are still quite a bit commits I found on the main branch that are necessary.
codec/avcodec/video.c:1120:32: error: no member named 'pkt_pts' in 'struct AVFrame'
mtime_t i_pts = frame->pkt_pts;
~~~~~ ^
codec/avcodec/video.c:1625:9: error: use of undeclared identifier 'AV_PIX_FMT_VAAPI_VLD'; did you mean 'AV_PIX_FMT_VAAPI'?
AV_PIX_FMT_VAAPI_VLD,
^~~~~~~~~~~~~~~~~~~~
AV_PIX_FMT_VAAPI
/usr/local/include/libavutil/pixfmt.h:119:5: note: 'AV_PIX_FMT_VAAPI' declared here
AV_PIX_FMT_VAAPI,
^
codec/avcodec/va.c:40:14: error: use of undeclared identifier 'AV_PIX_FMT_VAAPI_VLD'; did you mean 'AV_PIX_FMT_VAAPI'?
case AV_PIX_FMT_VAAPI_VLD:
^~~~~~~~~~~~~~~~~~~~
AV_PIX_FMT_VAAPI
/usr/local/include/libavutil/pixfmt.h:119:5: note: 'AV_PIX_FMT_VAAPI' declared here
AV_PIX_FMT_VAAPI,
^
codec/avcodec/subtitle.c:94:5: error: implicit declaration of function 'av_codec_set_pkt_timebase' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
av_codec_set_pkt_timebase(context, AV_TIME_BASE_Q);
^
codec/avcodec/encoder.c:1241:35: error: no member named 'coded_frame' in 'struct AVCodecContext'
switch ( p_sys->p_context->coded_frame->pict_type )
~~~~~~~~~~~~~~~~ ^
demux/avformat/mux.c:94:69: error: no member named 'filename' in 'struct AVFormatContext'
>= sizeof (((AVFormatContext *)NULL)->filename) )
~~~~~~~~~~~~~~~~~~~~~~~~~ ^
demux/avformat/mux.c:130:28: error: no member named 'filename' in 'struct AVFormatContext'
strcpy( p_sys->oc->filename, p_mux->p_access->psz_path );
~~~~~~~~~ ^
demux/avformat/mux.c:384:15: error: no member named 'cur_dts' in 'struct AVStream'
p_stream->cur_dts = ( p_data->i_dts * p_stream->time_base.den /
~~~~~~~~ ^