MythTV port committed (was: Possible FreeBSD port?)

Torfinn Ingolfsen torfinn.ingolfsen at broadpark.no
Sat Dec 23 16:33:12 PST 2006


Hi everyone!

On Sat, 23 Dec 2006 09:23:05 +1030
Greg 'groggy' Lehey <grog at FreeBSD.org> wrote:

> I didn't know about this script, but I have committed a new

Hmm, perhaps you didn't get the mail I sent you (private)?

> > I will try to get the port working under FreeBSD/amd64 so that I can
> > test it.
> 
> Thanks.  Please let me know if you make any progress.  Yesterday I
> marked it i386 only, so you'll have to frob the Makefile.

Ok. here is a short status on getting MythTV working under
FreeBSD/amd64.
1) libdts. If you have libdts (multimedia/libdts) installed, you will
hit this one. MythTV's configure isn't able to figure out that libdts on
amd64 is named libdts_pic. Easy workaround: add '--disble-dts' to the
configure line in the port Makefile .
Proper fix: I really don't know.

2) when compiling libmythtv (libs/libmythtv) it fails on the file
yuv2rgb.cpp, with this error:
yuv2rgb.cpp: In function `void yuv420_argb32_non_mmx(unsigned char*, unsigned char*, unsigned char*, unsigned char*, int, int, int, int, int, int)':
yuv2rgb.cpp:444: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:444: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:444: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:445: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:445: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:445: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:446: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:446: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:446: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:447: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:447: error: no matching function for call to `min(unsigned int, const int&)'
yuv2rgb.cpp:447: error: no matching function for call to `min(unsigned int, const int&)'
*** Error code 1

Stop in /usr/ports/multimedia/mythtv/work/mythtv-0.20/libs/libmythtv.
*** Error code 1

The function call in line 444 of that file is this:
RGBOUT(d1[R_OI],   d1[G_OI],   d1[B_OI],   y1_ptr[0]);

Which is defined at line 392 as:
#define RGBOUT(r, g, b, y1)\
{\
    y = (y1 - 16) * C_Y;\
    r = std::min(UCHAR_MAX, std::max(0, (y + r_add) >> SCALE_BITS));\
    g = std::min(UCHAR_MAX, std::max(0, (y + g_add) >> SCALE_BITS));\
    b = std::min(UCHAR_MAX, std::max(0, (y + b_add) >> SCALE_BITS));\
}

which is only using the standard min template from algorithm, I think.
At the beginning of the yuv2rgb.cpp file we have these lines:
#include <cstdio>
#include <cstdlib>
#include <algorithm>

So, can anyone explain to me why this fails?
I tried searching Google, but didn't find anything.

And that is the point at which I'm stuck now.

Oh, and Merry Christmas, all of you!
-- 
Regards,
Torfinn Ingolfsen,
Norway



More information about the freebsd-multimedia mailing list