diff -Naur MPlayer-1.5/configure MPlayer-1.5-new/configure --- MPlayer-1.5/configure 2022-02-27 03:09:00.000000000 -0600 +++ MPlayer-1.5-new/configure 2023-03-06 22:19:46.220134696 -0600 @@ -1591,26 +1591,26 @@ } echocheck "ffmpeg/libavcodec/allcodecs.c" -libavdecoders_all=$(list_subparts_extern AVCodec decoder codec/allcodecs.c) -libavencoders_all=$(list_subparts_extern AVCodec encoder codec/allcodecs.c) -libavparsers_all=$(list_subparts_extern AVCodecParser parser codec/parsers.c) +libavdecoders_all=$(list_subparts_extern Codec decoder codec/allcodecs.c) +libavencoders_all=$(list_subparts_extern Codec encoder codec/allcodecs.c) +libavparsers_all=$(list_subparts_extern CodecParser parser codec/parsers.c) test $? -eq 0 && _list_subparts=found || _list_subparts="not found" echores "$_list_subparts" echocheck "ffmpeg/libavcodec/hwaccels.h" libavhwaccels_all=$(list_subparts_extern AVHWAccel hwaccel codec/hwaccels.h) -test $? -eq 0 || libavhwaccels_all=$(list_subparts HWACCEL hwaccel codec/allcodecs.c) +test $? -eq 0 || libavhwaccels_all=$(list_subparts ACCEL hwaccel codec/allcodecs.c) test $? -eq 0 && _list_subparts=found || _list_subparts="not found" echores "$_list_subparts" echocheck "ffmpeg/libavformat/allformats.c" -libavdemuxers_all=$(list_subparts_extern AVInputFormat demuxer format/allformats.c) -libavmuxers_all=$(list_subparts_extern AVOutputFormat muxer format/allformats.c) +libavdemuxers_all=$(list_subparts_extern InputFormat demuxer format/allformats.c) +libavmuxers_all=$(list_subparts_extern OutputFormat muxer format/allformats.c) test $? -eq 0 && _list_subparts=found || _list_subparts="not found" echores "$_list_subparts" echocheck "ffmpeg/libavcodec/bitsteram_filters.c" -libavbsfs_all=$(list_subparts_extern AVBitStreamFilter bsf codec/bitstream_filters.c) +libavbsfs_all=$(list_subparts_extern BitStreamFilter bsf codec/bitstream_filters.c) test $? -eq 0 && _list_subparts_extern=found || _list_subparts_extern="not found" echores "$_list_subparts_extern" diff -Naur MPlayer-1.5/libmpcodecs/ad_spdif.c MPlayer-1.5-new/libmpcodecs/ad_spdif.c --- MPlayer-1.5/libmpcodecs/ad_spdif.c 2021-05-01 12:45:31.000000000 -0500 +++ MPlayer-1.5-new/libmpcodecs/ad_spdif.c 2023-03-06 22:15:03.947106476 -0600 @@ -79,7 +79,7 @@ static int init(sh_audio_t *sh) { - int i, x, in_size, srate, bps, *dtshd_rate, res; + int i, x, in_size, srate, bps, res; unsigned char *start; double pts; static const struct { @@ -97,6 +97,7 @@ AVStream *stream = NULL; const AVOption *opt = NULL; struct spdifContext *spdif_ctx = NULL; + AVDictionary *opts = NULL; spdif_ctx = av_mallocz(sizeof(*spdif_ctx)); if (!spdif_ctx) @@ -112,9 +113,6 @@ lavf_ctx->oformat = av_guess_format(FILENAME_SPDIFENC, NULL, NULL); if (!lavf_ctx->oformat) goto fail; - lavf_ctx->priv_data = av_mallocz(lavf_ctx->oformat->priv_data_size); - if (!lavf_ctx->priv_data) - goto fail; lavf_ctx->pb = avio_alloc_context(spdif_ctx->pb_buffer, OUTBUF_SIZE, 1, spdif_ctx, read_packet, write_packet, seek); if (!lavf_ctx->pb) @@ -130,12 +128,17 @@ break; } } - if ((res = avformat_write_header(lavf_ctx, NULL)) < 0) { + // FORCE USE DTS-HD + if (lavf_ctx->streams[0]->codecpar->codec_id == AV_CODEC_ID_DTS) + av_dict_set(&opts, "dtshd_rate", "768000" /* 192000*4 */, 0); + if ((res = avformat_write_header(lavf_ctx, opts)) < 0) { + av_dict_free(&opts); if (res == AVERROR_PATCHWELCOME) mp_msg(MSGT_DECAUDIO,MSGL_INFO, "This codec is not supported by spdifenc.\n"); goto fail; } + av_dict_free(&opts); spdif_ctx->header_written = 1; // get sample_rate & bitrate from parser @@ -177,13 +180,6 @@ sh->i_bps = bps; break; case AV_CODEC_ID_DTS: // FORCE USE DTS-HD - opt = av_opt_find(&lavf_ctx->oformat->priv_class, - "dtshd_rate", NULL, 0, 0); - if (!opt) - goto fail; - dtshd_rate = (int*)(((uint8_t*)lavf_ctx->priv_data) + - opt->offset); - *dtshd_rate = 192000*4; spdif_ctx->iec61937_packet_size = 32768; sh->sample_format = AF_FORMAT_IEC61937_LE; sh->samplerate = 192000; // DTS core require 48000 diff -Naur MPlayer-1.5/libmpcodecs/ve_lavc.c MPlayer-1.5-new/libmpcodecs/ve_lavc.c --- MPlayer-1.5/libmpcodecs/ve_lavc.c 2021-05-14 14:56:16.000000000 -0500 +++ MPlayer-1.5-new/libmpcodecs/ve_lavc.c 2023-03-06 22:14:58.798125033 -0600 @@ -441,8 +441,7 @@ mp_msg(MSGT_MENCODER,MSGL_ERR,"error parsing vrc_q\n"); return 0; } - lavc_venc_context->rc_override= - av_reallocp_array(lavc_venc_context->rc_override, i+1, sizeof(*lavc_venc_context->rc_override)); + av_reallocp_array(&lavc_venc_context->rc_override, i+1, sizeof(*lavc_venc_context->rc_override)); lavc_venc_context->rc_override[i].start_frame= start; lavc_venc_context->rc_override[i].end_frame = end; if(q>0){