[mythtv-commits] [MythTV/mythtv] 0102a8: avformatdecoder: stylistic change to switch-case t...

Scott Theisen noreply at github.com
Fri Jul 1 13:14:59 UTC 2022


  Branch: refs/heads/devel/ffmpeg-resync
  Home:   https://github.com/MythTV/mythtv
  Commit: 0102a80c672ef6d98f7f270e54e1096f48169c0d
      https://github.com/MythTV/mythtv/commit/0102a80c672ef6d98f7f270e54e1096f48169c0d
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  avformatdecoder: stylistic change to switch-case to default return


  Commit: 83e4cdbc3d6ef4459cb6efbb7356637b72cb51fb
      https://github.com/MythTV/mythtv/commit/83e4cdbc3d6ef4459cb6efbb7356637b72cb51fb
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/avcodec.h
    M mythtv/external/FFmpeg/libavcodec/libavcodec.v
    M mythtv/external/FFmpeg/libavcodec/utils-mythtv.c
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  remove FFmpeg addition ff_codec_type_string()

replace with av_get_media_type_string in ffmpeg and copy to only
user as AVMediaTypeToString: libs/libmythtv/decoders/avformatdecoder.cpp


  Commit: a45ba81f20585062f204829825ec83cd1133f38f
      https://github.com/MythTV/mythtv/commit/a45ba81f20585062f204829825ec83cd1133f38f
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/codec_desc.c

  Log Message:
  -----------
  add MPEG2VBI and DVB_VBI to codec_desc.c

This enables removing libavcodec/utils-mythtv.c


  Commit: a0178987edefc4c798951213b4c44bba3ebe8111
      https://github.com/MythTV/mythtv/commit/a0178987edefc4c798951213b4c44bba3ebe8111
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c
    M mythtv/libs/libmyth/audio/audiooutputbase.cpp
    M mythtv/libs/libmyth/audio/audiooutputdigitalencoder.cpp
    M mythtv/libs/libmyth/audio/spdifencoder.cpp
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp
    M mythtv/libs/libmythtv/decoders/avformatdecoder.h
    M mythtv/libs/libmythtv/decoders/mythcodeccontext.cpp
    M mythtv/libs/libmythtv/decoders/mythnvdeccontext.cpp
    M mythtv/libs/libmythtv/decoders/mythvaapicontext.cpp
    M mythtv/libs/libmythtv/decoders/mythvdpaucontext.cpp
    M mythtv/libs/libmythtv/decoders/mythvtbcontext.cpp
    M mythtv/libs/libmythtv/mythplayerui.cpp
    M mythtv/libs/libmythtv/recorders/recorderbase.cpp
    M mythtv/libs/libmythtv/recordingfile.h

  Log Message:
  -----------
  replace ff_codec_id_string() with avcodec_get_name()

This enables removing libavcodec/utils-mythtv.c

The returned string is now lower case, instead of all capital letters; however, I don't anticipate that being an issue.


  Commit: 86675d561cf7c01b7f8101f17d9153974ef3137a
      https://github.com/MythTV/mythtv/commit/86675d561cf7c01b7f8101f17d9153974ef3137a
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/Makefile
    M mythtv/external/FFmpeg/libavcodec/avcodec.h
    M mythtv/external/FFmpeg/libavcodec/libavcodec.v
    R mythtv/external/FFmpeg/libavcodec/utils-mythtv.c

  Log Message:
  -----------
  remove (now unused) FFmpeg/libavcodec/utils-mythtv.c


  Commit: 700c61c7bc015f7326e039e109d7c5357d4cc9ae
      https://github.com/MythTV/mythtv/commit/700c61c7bc015f7326e039e109d7c5357d4cc9ae
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/codec_desc.c

  Log Message:
  -----------
  ffmpeg codec_desc.c: remove duplicate dvd nav packet


  Commit: c4e0d6035ceeb2a7dfd44981d9f75da3255f18d2
      https://github.com/MythTV/mythtv/commit/c4e0d6035ceeb2a7dfd44981d9f75da3255f18d2
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/io/mythavformatbuffer.cpp

  Log Message:
  -----------
  mythavformatbuffer.cpp: remove unused include


  Commit: 85432affe625567d9b0b7bddd9500b0916a7146a
      https://github.com/MythTV/mythtv/commit/85432affe625567d9b0b7bddd9500b0916a7146a
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/mpeg/H2645Parser.cpp

  Log Message:
  -----------
  H2645Parser.cpp: remove unnecessary float -> double casts


  Commit: e371a3d2f388527a3043a2da15c873c4496fd679
      https://github.com/MythTV/mythtv/commit/e371a3d2f388527a3043a2da15c873c4496fd679
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  remove vestiges of ffmpeg addition build_index

The change to ffmpeg does nothing and is being removed to reduce MythTV's
downstream changes to FFmpeg, hopefully culminating in an unmodified FFmpeg.

avformatdecoder.cpp probably needs more cleanup, but this is the minimal change
required to enable the removal of build_index from FFmpeg.


  Commit: 714a42655eb698a0c61300ccb62744bbf66a775b
      https://github.com/MythTV/mythtv/commit/714a42655eb698a0c61300ccb62744bbf66a775b
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  replace deprecated for decoding AVCodecContex::time_base

decprecated since 2014 https://github.com/FFmpeg/FFmpeg/commit/7ea1b3472a61de4aa4d41b571e99418e4997ad41


  Commit: 719d489746ad71dd4f86ffd90b247da7d7d09d4e
      https://github.com/MythTV/mythtv/commit/719d489746ad71dd4f86ffd90b247da7d7d09d4e
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  AvFormatDecoder::GetVideoFrameRate initial refactor


  Commit: 70e1601807b58b9843d1ec79960286fbf778f1a1
      https://github.com/MythTV/mythtv/commit/70e1601807b58b9843d1ec79960286fbf778f1a1
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  AvFormatDecoder::GetVideoFrameRate use std::set

working toward not converting framerates to doubles


  Commit: cb4d9d8a926ac0422f7861af3b66aa310f237fca
      https://github.com/MythTV/mythtv/commit/cb4d9d8a926ac0422f7861af3b66aa310f237fca
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  avformatdecoder.cpp: fixup headers

replace unused internal header "libavformat/isom.h" with the used
non-internal header "libavutil/stereo3d.h"


  Commit: 8874451ec5435fcbf971f54ddd91938bb15375e4
      https://github.com/MythTV/mythtv/commit/8874451ec5435fcbf971f54ddd91938bb15375e4
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  avformatdecoder.cpp: remove '#include "libavformat/internal.h"'

refs: https://github.com/MythTV/mythtv/issues/428

ff_read_frame_flush() is an internal FFmpeg function.

However, in libavformat/utils.c:
int avformat_flush(AVFormatContext *s)
{
    ff_read_frame_flush(s);
    return 0;
}

avformat_flush() is exactly identical and is a public function,
so use it instead.

StreamHasRequiredParameters():
The audio check requiring the internal struct to be defined was disabled.
This should have no effect since these checks are *all* already done via
avformat_find_stream_info() in FindStreamInfo(), which should return < 0
if these checks fail.

This copy of an internal FFmpeg function feels unnecessary and like a bad idea
since FFmpeg already checks this itself.


  Commit: 8230b957e81b01d33aa648136f68f4ba9aa93580
      https://github.com/MythTV/mythtv/commit/8230b957e81b01d33aa648136f68f4ba9aa93580
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  avformatdecoder.cpp: remove duplicate checks

FFmpeg already checks these in avformat_find_stream_info()
(called via FindStreamInfo() just prior).  FFmpeg should return
<0 if these checks fail, which causes the function to return
before the removed lines are executed.

These checks are copied from libavformat/utils.c and use internal
FFmpeg information (if those checks were enabled).  This is bad
pratice.  Since FFmpeg already checks these, remove our copies.


  Commit: 98415d415b7528b40e4cdd603e33ac4e34e5c81c
      https://github.com/MythTV/mythtv/commit/98415d415b7528b40e4cdd603e33ac4e34e5c81c
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythmetadata/metaiomp4.cpp
    M mythtv/libs/libmythmetadata/metaiomp4.h
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  av_estimate_timings(): remove use of MythTV customization to FFmpeg

This calls the supposed to be static estimate_timings(); however
avformat_find_stream_info(), which is called prior to all
calls of av_estimate_timings(), already calls estimate_timings()
since AVFormatContext.probesize defaults to 5 000 000 bytes.

Thus, these calls are redundant duplicates of the call in
avformat_find_stream_info().

This was removed from avformatdecoder.cpp in 3924df87c7691852741b596f50311eac46f930ab
and added back in ebf194444c30eb6c7d1d6d272045674fc45a2e65 .

I'm not sure why it was added back.  If it is necessary, calling
avformat_find_stream_info() again with possibly a larger
probesize or max_analyze_duration, should work as a replacement.


  Commit: e2661977c72fe60fc428beb950a1b23f0563188b
      https://github.com/MythTV/mythtv/commit/e2661977c72fe60fc428beb950a1b23f0563188b
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/mythavutil.h

  Log Message:
  -----------
  mythavutil.h: create MythAVBufferRef


  Commit: 441822fbeec3afa30ecf20ac769c50e628453a5d
      https://github.com/MythTV/mythtv/commit/441822fbeec3afa30ecf20ac769c50e628453a5d
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    A mythtv/libs/libmythtv/bytereader.cpp
    A mythtv/libs/libmythtv/bytereader.h
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp
    M mythtv/libs/libmythtv/libmythtv.pro
    M mythtv/libs/libmythtv/mpeg/AVCParser.cpp
    M mythtv/libs/libmythtv/mpeg/HEVCParser.cpp
    M mythtv/libs/libmythtv/recorders/dtvrecorder.cpp
    M mythtv/programs/mythutil/mpegutils.cpp

  Log Message:
  -----------
  create ByteReader to eliminate use of FFmpeg modification

by copying avpriv_find_start_code() into MythTV as ByteReader::find_start_code().

Refs: https://github.com/MythTV/mythtv/issues/428

Note: I have rewritten this function.  The only functional change is
00 00 01 00 01 XX no longer incorrectly returns a start code at
offset 7 that overlaps the start code at offset 4 if the start_code
input is not modified between the two calls.

FFmpeg only has one use that keeps the history,
(ff_)mpeg1_find_frame_end().

So, I have split the truncated start code logic into its own function
as I have now done for FFmpeg, which only used this functionality once.

Determining if it is necessary would require further analysis or
adding logging to see if truncated start codes are detected.


  Commit: 664e16bd424a08525b11f2a747d1e4d5b7254ce3
      https://github.com/MythTV/mythtv/commit/664e16bd424a08525b11f2a747d1e4d5b7254ce3
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/avcodec.h

  Log Message:
  -----------
  lavc/avcodec.h: remove no longer used MythTV function export


  Commit: 87bd51f4bb75f295a40b50fad31b0d221c84d16c
      https://github.com/MythTV/mythtv/commit/87bd51f4bb75f295a40b50fad31b0d221c84d16c
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/mpeg/H2645Parser.h

  Log Message:
  -----------
  H2645Parser.h: remove unused defines


  Commit: fc18192c6478c2b3e68358589238e9e4e9ce9b8c
      https://github.com/MythTV/mythtv/commit/fc18192c6478c2b3e68358589238e9e4e9ce9b8c
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    A mythtv/libs/libmythtv/bitreader.h
    M mythtv/libs/libmythtv/libmythtv.pro
    A mythtv/libs/libmythtv/test/test_bitreader/.gitignore
    A mythtv/libs/libmythtv/test/test_bitreader/test_bitreader.cpp
    A mythtv/libs/libmythtv/test/test_bitreader/test_bitreader.h
    A mythtv/libs/libmythtv/test/test_bitreader/test_bitreader.pro

  Log Message:
  -----------
  create class BitReader to replace internal ffmpeg headers

All inline because that is how FFmpeg's is.

The unit tests are not the most extensive but are sufficient to
convince me that it works properly.


  Commit: ade9ddedca5187a33857a1abff5a2162616a516c
      https://github.com/MythTV/mythtv/commit/ade9ddedca5187a33857a1abff5a2162616a516c
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp
    M mythtv/libs/libmythtv/mpeg/AVCParser.cpp
    M mythtv/libs/libmythtv/mpeg/AVCParser.h
    M mythtv/libs/libmythtv/mpeg/H2645Parser.cpp
    M mythtv/libs/libmythtv/mpeg/H2645Parser.h
    M mythtv/libs/libmythtv/mpeg/HEVCParser.cpp
    M mythtv/libs/libmythtv/mpeg/HEVCParser.h

  Log Message:
  -----------
  replace internal ffmpeg headers with BitReader

This should have no functional change.

References https://github.com/MythTV/mythtv/issues/428

The hack is no longer necessary since internal FFmpeg headers are no longer
included by the parsers.

avformatdecoder.cpp needed the public FFmpeg header "libavutil/intreadwrite.h".


  Commit: 66b03f53ef3be8376be00c2232ad8c9ec1c5f805
      https://github.com/MythTV/mythtv/commit/66b03f53ef3be8376be00c2232ad8c9ec1c5f805
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/get_bits.h
    M mythtv/external/FFmpeg/libavcodec/golomb.h

  Log Message:
  -----------
  lavc/get_bits.h and golomb.h: revert MythTV changes

The changes were to defeat compiler warnings, but MythTV no longer includes
these internal headers.


  Commit: fe24a29d835a738cd4cee11534da99bd7b6d2e49
      https://github.com/MythTV/mythtv/commit/fe24a29d835a738cd4cee11534da99bd7b6d2e49
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  lavf/utils.c: remove unused extern declarations


  Commit: d37bc881012fa3ace16f93598ff174954f1e12d9
      https://github.com/MythTV/mythtv/commit/d37bc881012fa3ace16f93598ff174954f1e12d9
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/avformat.h
    M mythtv/external/FFmpeg/libavformat/utils-mythtv.c

  Log Message:
  -----------
  lavf: move MythTV added define to the only file using it

this quiets a warning about it being redefined elsewhere in ffmpeg


  Commit: 81db3df08bea4ea2f6dcfbda03807f3ea6dbeaad
      https://github.com/MythTV/mythtv/commit/81db3df08bea4ea2f6dcfbda03807f3ea6dbeaad
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libpostproc/postprocess.c

  Log Message:
  -----------
  lpp: revert unnecessary added include

seems to have been added during an ffmpeg merge, but is unused


  Commit: b544c75c9f9f207cd3a0b889800f31c12a62be66
      https://github.com/MythTV/mythtv/commit/b544c75c9f9f207cd3a0b889800f31c12a62be66
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libpostproc/postprocess.c

  Log Message:
  -----------
  lpp: revert unnecessary MythTV cpu autodetect

This is from 2010-08-24:
detect available SIMD extensions when runtime-cpudetect is enabled
https://github.com/MythTV/mythtv/commit/206974153a539acd72451512ac6a7aae818d0fe9

but if you look at the following lines, ffmpeg has effectively the same since 2012-11-18:
pp: add auto detection cpu flag.
https://github.com/FFmpeg/FFmpeg/commit/59d686f100863d00b8f171dd891e893c2bfd951e


  Commit: 5fb35e96bc1748f77c48182f6b9a0589a7ab2de5
      https://github.com/MythTV/mythtv/commit/5fb35e96bc1748f77c48182f6b9a0589a7ab2de5
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libpostproc/Makefile

  Log Message:
  -----------
  lpp: revert change to Makefile

if ffmpeg doesn't need this, neither do we


  Commit: cca4aebd457610fa7dc8f8b5c58e60357bb3468c
      https://github.com/MythTV/mythtv/commit/cca4aebd457610fa7dc8f8b5c58e60357bb3468c
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/dvbsubdec.c

  Log Message:
  -----------
  lavc/dvbsubdec.c: remove redundant conditional statements

from: https://github.com/MythTV/mythtv/commit/68ca96cfa02b9df406de4ad233fdb395405f6b88

duplicates the condition on line 919, which will catch it and return


  Commit: 7d3a803616178f9a727f033e8988a3f94ea7e7f1
      https://github.com/MythTV/mythtv/commit/7d3a803616178f9a727f033e8988a3f94ea7e7f1
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/mpegvideo.h

  Log Message:
  -----------
  lavc/mpegvideo.h: revert unnecessary changes

class: C++ keyword, but MythTV does not include this file

removed parentheses resulted from a complier warning about
"unnecessary parentheses"


  Commit: 5af811cdb260c2fcb7d24b7c8da3bb1f821fdd4c
      https://github.com/MythTV/mythtv/commit/5af811cdb260c2fcb7d24b7c8da3bb1f821fdd4c
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.h

  Log Message:
  -----------
  Initial mpegts-mythtv.h harmonization

Note: most of the defines aren't actually used


  Commit: b861a2bb60e60eb8fb6d6bd0eee81c3b65d31e96
      https://github.com/MythTV/mythtv/commit/b861a2bb60e60eb8fb6d6bd0eee81c3b65d31e96
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mov.c

  Log Message:
  -----------
  Revert "libavformat/mov.c: increase allowed time error"

This reverts commit 346d4dbbf0babc5b5bc4743afd26ee997667ea7c.

from:
changed: allow 4 second skew between streams in mov before attempting to seek https://github.com/MythTV/mythtv/commit/e4170c604e6a6af969e5de74ac740ac596686da8

No reason given for the change.


  Commit: 2106a75fe4fca4c3372bd5fc01f6bb33eb59af07
      https://github.com/MythTV/mythtv/commit/2106a75fe4fca4c3372bd5fc01f6bb33eb59af07
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/mpeg4videodec.c

  Log Message:
  -----------
  Revert "libavcodec/mpeg4videodec.c"

This reverts commit 9632275126d4e6a698569c9d4316a300fe98d18f.

I agree with stuartm’s decade old comment on MythTV ticket 3001: H.263 is not a commonly used codec and if these are still bugs, they should be (re-)opened upstream with FFmpeg.

For frame rate “fix” see: October 2005
Closes #509, by applying patch. https://github.com/MythTV/mythtv/commit/f851316ffc438d3570ee47ab87d4ad961d36bb4e

however, it has been wrong since October 2014:
Merge commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41'
https://github.com/FFmpeg/FFmpeg/commit/17085a0251a1493f6447aa3d2ee06fda2c9402f0

lavc: deprecate the use of AVCodecContext.time_base for decoding
https://github.com/FFmpeg/FFmpeg/commit/7ea1b3472a61de4aa4d41b571e99418e4997ad41

-----
for not compiled section see:
Revert [25805], the fix for our workaround created playback problems https://github.com/MythTV/mythtv/commit/eaa8f0dd129ee1bc6b7be2ba76fb98460bf57ec3

nuv: fix mpeg4 decoding issue in #3001 properly https://github.com/MythTV/mythtv/commit/8082c91bba961af747ecc81a029c6d7bd7eadc4a

MPEG-4 decode errors as of [12645] https://code.mythtv.org/trac/ticket/3001

Trunk unable to playback MPEG4 files created by mythtranscode https://code.mythtv.org/trac/ticket/8927


  Commit: 1d6ec2e225fc74e68791cd42b926bfb918b86c88
      https://github.com/MythTV/mythtv/commit/1d6ec2e225fc74e68791cd42b926bfb918b86c88
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/mpegaudiodec_template.c

  Log Message:
  -----------
  Revert "MythTV: suppress errors from old .nuv files"

This reverts commit 6c8c3809732f9400293b0a5a82bf5f5db71d82c2.

from 2007-05-28: https://github.com/MythTV/mythtv/commit/ef017db37b842417d1a47131df34fbe4e1defd2b
references: https://code.mythtv.org/trac/ticket/2972


  Commit: 523de9f0d8b3e1852f81e83dbbbeb45dd626e0ac
      https://github.com/MythTV/mythtv/commit/523de9f0d8b3e1852f81e83dbbbeb45dd626e0ac
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c

  Log Message:
  -----------
  silence mpegts-mythtv.c warning: mpegts_probe -Wincompatible-pointer-types


  Commit: 6bdc8db54b2d782b4181b333846638767fa4c23b
      https://github.com/MythTV/mythtv/commit/6bdc8db54b2d782b4181b333846638767fa4c23b
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  fixup PMT patch lavf/utils.c


  Commit: cb02685051598db97651d43fae695f0aa1667550
      https://github.com/MythTV/mythtv/commit/cb02685051598db97651d43fae695f0aa1667550
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  revert unnecessary null check in lavf/utils.c

st->codec is deprecated and appears to be unused in the guarded code

st should be non-null based on the for loop condition


  Commit: b8ef8db0a358ef58e26b09823982b870c45b0e00
      https://github.com/MythTV/mythtv/commit/b8ef8db0a358ef58e26b09823982b870c45b0e00
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  Revert "lavf/utils.c: don't compile some debug log messages"

This reverts commit 1d3e96d200a035334eab79de0f4880453adf219e.

See https://trac.ffmpeg.org/ticket/1344
If this is still an issue, the FFmpeg ticket should be reopened with a sample.


  Commit: 1251bb2f9a214dd4207c7f1adc5e5c313629d322
      https://github.com/MythTV/mythtv/commit/1251bb2f9a214dd4207c7f1adc5e5c313629d322
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/dvbsubdec.c

  Log Message:
  -----------
  fixup dvbsubdec.c: remove unused variables


  Commit: 599c4ea32af3712c9cb899e24f3d2cfb6bb04843
      https://github.com/MythTV/mythtv/commit/599c4ea32af3712c9cb899e24f3d2cfb6bb04843
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/avformat.h
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  fixup lavf MHEG changes: remove unused got_frame


  Commit: 7791ac7ec64c5ebb60abdf5e34d41bb35b9d8e43
      https://github.com/MythTV/mythtv/commit/7791ac7ec64c5ebb60abdf5e34d41bb35b9d8e43
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/avformat.h
    M mythtv/external/FFmpeg/libavformat/libavformat.v
    M mythtv/external/FFmpeg/libavformat/utils-mythtv.c
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  fixup lavf/utils-mythtv.c: remove unused code, don't expose unused symbols


  Commit: 85a00353d8a9f1dccaa2099e613f735b49c3aa50
      https://github.com/MythTV/mythtv/commit/85a00353d8a9f1dccaa2099e613f735b49c3aa50
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpeg.c

  Log Message:
  -----------
  ffmpeg lavf/mpeg.c: fix indentation


  Commit: e46243985c7f33da5c6945b7d02d95e2f8355608
      https://github.com/MythTV/mythtv/commit/e46243985c7f33da5c6945b7d02d95e2f8355608
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/dvbsubdec.c

  Log Message:
  -----------
  revert MythTV 'DVB Subtitles: Fix display of subs with no display segment.'

from https://github.com/MythTV/mythtv/commit/d27bedf5571bdb80c164ce5d11a8af55f0275b92

Fixed 6 months later in FFmpeg (a decade ago):
Fix dvb subtitle decoding when display segment is missing.
https://github.com/FFmpeg/FFmpeg/commit/7df9937fcc6a91ce4763dfa1ea6fc331f7e77295


  Commit: e9f962875b942b2df46709ac5a36f11622ab9d78
      https://github.com/MythTV/mythtv/commit/e9f962875b942b2df46709ac5a36f11622ab9d78
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/avformat.h
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  lavf: remove unused MythTV addition build_index

originally from https://github.com/MythTV/mythtv/commit/3539d581feeb0cbb9d6b7a3a077b27b9ec7693b9

also fixup comment spacing


  Commit: 54ab78bbaaab8f570c5a7b28edcc20edb73d6ba7
      https://github.com/MythTV/mythtv/commit/54ab78bbaaab8f570c5a7b28edcc20edb73d6ba7
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/dvbsubdec.c
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c
    M mythtv/external/FFmpeg/libavformat/utils.c
    M mythtv/external/FFmpeg/libavutil/frame.h

  Log Message:
  -----------
  ffmpeg: trim trailing whitespace


  Commit: b7d45f736f44c4b7462047d82ecb1d987fa82a02
      https://github.com/MythTV/mythtv/commit/b7d45f736f44c4b7462047d82ecb1d987fa82a02
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/internal.h

  Log Message:
  -----------
  Revert "libavcodec/internal.h: fix compilation with MSVC"

This reverts commit 066a0866f3cccbde7b65cda0a4b24b3c95ebf3be.


  Commit: b524b642f7ac1afe59c19348284f5421106470e6
      https://github.com/MythTV/mythtv/commit/b524b642f7ac1afe59c19348284f5421106470e6
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/isom.h

  Log Message:
  -----------
  revert 'MythTV: class is a reserved keyword in C++'

This change has been unnecessary since 3d21dadbc797298df112aa0838125c7b3ab384f9.


  Commit: a27be83bfe3830504ea30c0a31216b211dfe9bb8
      https://github.com/MythTV/mythtv/commit/a27be83bfe3830504ea30c0a31216b211dfe9bb8
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/mpegaudio_parser.c

  Log Message:
  -----------
  lavc/mpegaudio_parser.c: revert MythTV workaround

originally from https://github.com/MythTV/mythtv/commit/0bc16040176a1caf61068f42272b63698751d7dc
referencing https://code.mythtv.org/trac/ticket/8260

References https://github.com/MythTV/mythtv/issues/428

If this causes an issue, a new ticket with logs and a sample should be openned.


  Commit: 2f203b55ff0d390c9127630cd2b370683117475f
      https://github.com/MythTV/mythtv/commit/2f203b55ff0d390c9127630cd2b370683117475f
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.h
    M mythtv/external/FFmpeg/libavformat/utils-mythtv.c

  Log Message:
  -----------
  mpegts-mythtv.h: don't expose mpegts_remove_stream()

working toward merging utils-mythtv.c back into utils.c


  Commit: 137ad1719b7cb3b643024c4b44246c755cbbed05
      https://github.com/MythTV/mythtv/commit/137ad1719b7cb3b643024c4b44246c755cbbed05
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/Makefile
    R mythtv/external/FFmpeg/libavformat/utils-mythtv.c
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  lavf: merge utils-mythtv.c back into utils.c


  Commit: dfb8e2eed7ea099f5f5cf98b3ad6dff3ae4b08df
      https://github.com/MythTV/mythtv/commit/dfb8e2eed7ea099f5f5cf98b3ad6dff3ae4b08df
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/avformat.h
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  lavf: export flush_packet_queue() as mythtv_flush_packet_queue()

FFmpeg 5.0 renames and exports this as ff_flush_packet_queue().

This change is intended to make transitioning to FFmpeg 5.0 easier.

Technically, this should be in libavformat/internal.h, but, since it is currently
unmodified, libavformat/avformat.h will work for now.  (MythTV does not directly use
this function.)


  Commit: becf39078077367ca122c86440ea6022ade808fa
      https://github.com/MythTV/mythtv/commit/becf39078077367ca122c86440ea6022ade808fa
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  lavf/utils.c: silence -Wdeclaration-after-statement


  Commit: 568e58e52f71d2b03356981b1512e66f88782e88
      https://github.com/MythTV/mythtv/commit/568e58e52f71d2b03356981b1512e66f88782e88
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/mpeg12dec.c

  Log Message:
  -----------
  libavcodec/mpeg12dec.c: silence -Wunused-variable from MythTV modification


  Commit: 247c7fc17e70887a79444f74ec05122edec7a017
      https://github.com/MythTV/mythtv/commit/247c7fc17e70887a79444f74ec05122edec7a017
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c

  Log Message:
  -----------
  lavf/mpegts-mythtv.c: silence -Wdeclaration-after-statement


  Commit: d758e1004cf3bcff79359966074503d6b9819c98
      https://github.com/MythTV/mythtv/commit/d758e1004cf3bcff79359966074503d6b9819c98
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c

  Log Message:
  -----------
  libavformat/mpegts-mythtv.c: silence -Wformat

st is a pointer not an unsigned int.


  Commit: ddf6bba481dd437ab2660d816bd2b9328c176302
      https://github.com/MythTV/mythtv/commit/ddf6bba481dd437ab2660d816bd2b9328c176302
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c

  Log Message:
  -----------
  libavformat/mpegts-mythtv.c: silence -Wunused-variable


  Commit: b8c25d5e7822fb9140ee2989a162e9e92b780806
      https://github.com/MythTV/mythtv/commit/b8c25d5e7822fb9140ee2989a162e9e92b780806
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c

  Log Message:
  -----------
  libavformat/mpegts-mythtv.c: silence -Wundef


  Commit: a51356fa7533aa5f8cb2df5aba7db5382d9b38cb
      https://github.com/MythTV/mythtv/commit/a51356fa7533aa5f8cb2df5aba7db5382d9b38cb
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c

  Log Message:
  -----------
  libavformat/mpegts-mythtv.c: silence -Wunused-function


  Commit: 4d5b80343c979b21a53a9b39845f088d4233adce
      https://github.com/MythTV/mythtv/commit/4d5b80343c979b21a53a9b39845f088d4233adce
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c

  Log Message:
  -----------
  libavformat/mpegts-mythtv.c: silence -Wdiscarded-qualifiers

The warning was:

libavformat/mpegts-mythtv.c: In function ‘pmt_cb’:
libavformat/mpegts-mythtv.c:1971:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1971 |         tmp0 = avctx->cur_pmt_sect;
      |              ^


  Commit: 118673dba753a9ec58a06493edb78d8dad45b598
      https://github.com/MythTV/mythtv/commit/118673dba753a9ec58a06493edb78d8dad45b598
  Author: ulmus-scott <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c

  Log Message:
  -----------
  libavformat/mpegts-mythtv.c: move MythTV only stuff first

This is intended to make copying over the current FFmpeg mpegts.c produce a better diff.

No functional change.


  Commit: ecdcfe19367e333f349906efed389d013e6b9daf
      https://github.com/MythTV/mythtv/commit/ecdcfe19367e333f349906efed389d013e6b9daf
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavcodec/libavcodec.v
    M mythtv/external/FFmpeg/libavformat/libavformat.v

  Log Message:
  -----------
  FFmpeg: remove now unecessary added exports


  Commit: 943dd4de1c207105f8ce3628ccea73073feddae2
      https://github.com/MythTV/mythtv/commit/943dd4de1c207105f8ce3628ccea73073feddae2
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  libavformat/utils.c: av_remove_stream() #if 0 the entire if else ladder

This was from https://github.com/MythTV/mythtv/commit/9cb02dee588127240fb8a843ed92347a33c7e0e1

when it was still part of utils.c.


  Commit: 50c21a9183e1986233a413193dac6b821e2ba062
      https://github.com/MythTV/mythtv/commit/50c21a9183e1986233a413193dac6b821e2ba062
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  libavformat/utils.c: silence final MythTV warning

No functional change, but AVStream.codec was removed in FFmpeg 5.0.

This should enable it to compile with FFmpeg 5.0, since it will then be
not compiled.


  Commit: 0c8444bd33b4dbb16dc694c8a7cb2489fb368f91
      https://github.com/MythTV/mythtv/commit/0c8444bd33b4dbb16dc694c8a7cb2489fb368f91
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/os_support.h

  Log Message:
  -----------
  lavf/os_support.h: remove MythTV customization

that silenced a compiler warning, but this file is no longer included
by MythTV, so the change is no longer necessary.


  Commit: e25020746a1a3fbca82ba8cf6a4ac9323afeef75
      https://github.com/MythTV/mythtv/commit/e25020746a1a3fbca82ba8cf6a4ac9323afeef75
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.h

  Log Message:
  -----------
  mpegts-mythtv.h: harmonize with mpegts.h

Almost a superset.  Different function names and ff_parse_mpeg2_descriptor()
takes an extra parameter.


  Commit: 446c530442b4627595a2c3890ae13b5d50731590
      https://github.com/MythTV/mythtv/commit/446c530442b4627595a2c3890ae13b5d50731590
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/mpegts-mythtv.c
    M mythtv/libs/libmythtv/decoders/avformatdecoder.cpp

  Log Message:
  -----------
  mpegts-mythtv.c: export disposition from ISO_639_LANGUAGE_DESCRIPTOR

This replaces the use of the MythTV added, exported PMT for detecting
these in AvFormatDecoder::GetAudioTrackType().

disposition is copied over to the AVStream in mpegts_add_stream().

language is only 4 bytes, so don't write past the end.
i.e. the loop is invalid.


  Commit: bd41df47c69fdb8585b90b735256dc9969b0b1f2
      https://github.com/MythTV/mythtv/commit/bd41df47c69fdb8585b90b735256dc9969b0b1f2
  Author: Scott Theisen <scott.the.elm at gmail.com>
  Date:   2022-07-01 (Fri, 01 Jul 2022)

  Changed paths:
    M mythtv/external/FFmpeg/libavformat/utils.c

  Log Message:
  -----------
  libavformat/utils.c: fixup create mythtv custom mpegts demuxer

Since MythTV now allows forcing the use of FFmpeg's demuxer,
these comparisons need an additional comparison against
"mpegts-ffmpeg" for the behavior of both to be the same.

This bug presented itself as incorrect durations of files
when using the mpegts-ffmpeg demuxer.


Compare: https://github.com/MythTV/mythtv/compare/e599594ad542...bd41df47c69f



More information about the mythtv-commits mailing list