[mythtv] MythTV libraries and libmythmpeg2

Scott T scott.the.elm at gmail.com
Sat Oct 9 05:37:11 UTC 2021


Hello everyone,

While making a dependency graph for the MythTV libraries (see attached, 
will eventually add to the doxygen documentation, but I’m working on 
other things first), I noticed that https://code.mythtv.org/doxygen/ 
<https://code.mythtv.org/doxygen/> 
(mythtv/docs/doxygen-architecture-document.cpp) is woefully out of date.

In particular, the libraries section:
MythTV libraries: no mention of

  * libmythmetadata
  * libmythprotoserver
  * libmythservicecontracts


The external libraries should be clearly in a separate list from the 
MythTV libraries.

Are these standalone libraries original to MythTV or are they external?

  * libmythfreemheg
  * libmythfreesurround


External

  * FFmpeg
      o nv-codec-headers

Using system libraries if available: (remove?)

  * libmythbluray
  * libmythdvdnav
  * libmythsoundtouch

External not mentioned:

  * libexiv2
  * qjsonwrapper
  * libudfread


External mentioned but no longer exists: libmythnvctrl

The *libmpeg2* comment about being faster is from May 2005 
https://github.com/MythTV/mythtv/blame/721dcc163759266a6b18d7b4ceaa317192c5dff3/mythtv/docs/doxygen-architecture-document.cpp#L192 
<https://github.com/MythTV/mythtv/blame/721dcc163759266a6b18d7b4ceaa317192c5dff3/mythtv/docs/doxygen-architecture-document.cpp#L192>
I doubt its veracity. How would this be tested?

As far as I can tell, libmythmpeg2 is libmpeg2 0.5.0 without the SSE2 or 
ARM assembly (2008-07-12). The only other changes seem to be automated 
clang-tidy “fixes.” I used diff to compare them, but looking at the 
mythtv history 0.4.0b (January 21, 2004) is more likely.

If we want to keep libmythmpeg2 in our repository, it should be moved to 
/mythtv/external. I think libmpeg2’s code is now hosted here: 
https://code.videolan.org/videolan/libmpeg2 
<https://code.videolan.org/videolan/libmpeg2> (last update 9 years ago).


The comment about *mythbackend*is 13 years old: 
https://github.com/MythTV/mythtv/blame/master/mythtv/docs/doxygen-architecture-document.cpp#L188 
<https://github.com/MythTV/mythtv/blame/master/mythtv/docs/doxygen-architecture-document.cpp#L188>
Is it still true?


Also, the libmythtv.pro file offers building different versions of 
libmythtv for using just the frontend, just the backend, or both. I’m 
not sure if it can be used, but it doesn’t make sense to me to build 
different versions of a /library/like that.

Regards,

Scott
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20211009/accfab29/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dependencies.dot
Type: application/msword-template
Size: 734 bytes
Desc: not available
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20211009/accfab29/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dependencies.dot.svg
Type: image/svg+xml
Size: 8075 bytes
Desc: not available
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20211009/accfab29/attachment.svg>


More information about the mythtv-dev mailing list