View unanswered posts    View active topics

All times are UTC - 6 hours





Post new topic Reply to topic  [ 48 posts ] 
Go to page 1, 2, 3, 4  Next

Print view Previous topic   Next topic  
Author Message
Search for:
PostPosted: Sun Jan 07, 2007 4:51 pm 
Offline
Joined: Sun Dec 31, 2006 10:55 am
Posts: 66
I've been experimenting with a Myth deployment where the frontend is running under Mac OS X on a Mac Mini and the backend is running on an older Athlon machine. I'm seeing HDTV problems on the Mini, like jerky, juddery picture and interlace artifacts.

Here's a summary of my setup:

Backend
- Soyo SY-K7V Dragon Plus MOBO
- Athlon 1800+
- 1 GB RAM
- 300 GB Seagate ATA hard drive
- KnoppMyth R5E50

Tuner
- HDHomerun (with both tuners configured for OTA)

Frontend
- Mac Mini running Mac OS X 10.4.8 with all updates
- 1.83 Ghz Intel Core Duo
- 1 GB RAM
- MythFrontend 0.20.0.svn20061001

HDTV
- Zenith IQB64W10W

The TV is 7 years old, so it predates HDMI. It also only handles 1080i natively. With its internal tuner, it downconverts 720p to 1080i. It cannot handle 720p inputs.

The Mini is hooked to the TV via VGA. I used DisplayConfigX to set up 1080i and 540p resolutions on the Mini. I'm familiar with setting up custom resolutions due to past experience with a Windows based HTPC running at 540p. With DisplayConfigX I set up standard 1080i and 540p, as well as overscan corrected resolutions.

As per the "Myth on Mac x86" page, I've made sure that my MythFrontend has the 'enable vector optimized colorspace conversion' option turned on. But since I downloaded the binary from collectivity.goof.com rather than building it myself, I can't be sure whether or not it was compiled with the MMX option on.

Here's some of the configuration variants that I've tried so far:

1080i
My first thought was to try 1080i and avoid any interlace related artifacts. However when I configured the Mini for 1080i, the result was a jerky, unwatchable picture on every channel.

On top of that, there were very bad interlace artifacts, which leads me to believe that perhaps the Mini running Mac OS X cannot generate a true interlaced signal. Enabling the "Deinterlace playback" option helped reduce the artifacts. But the picture was still unwatchable due to the judder.

540p
Since 1080i didn't work, and it didn't look like the output was interlaced anyway, I decided to try 540p. This worked much better, but I still see regular jerkyness (once a second or so) on 720p channels. It's very distracting.

On 1080i channels, it's much smoother, but overall it feels slightly "slowmo" compared to the TV's tuner. And I definitely see some judder when the camera pans, or if objects are moving across the screen. Changing the preferred MPEG2 decoder from "standard" to "libmpeg2" doesn't seem to make any difference.

Also, with both live TV and recorded programs, the interlace artifacts are still pretty visible. They seem much worse on the 720p channels, or programs recorded from 720p. The artifacts are particularly bad during scene changes. Changing the deinterlace algorithm in the setup GUI doesn't seem to make any difference.

Running top on the Mini while watching live TV shows the frontend taking about 95% of the processors. Although I've seen it as high as 105%. The Mac Windows server process takes about 30%. The amount of processor used does not seem to vary between 720p and 1080i channels.

------------------------

I'm not sure what else I can do to get a decent picture under Mac OS X. Maybe the next thing to try is netbooting the Mini as Linux instead. But that looks like it will take a fair amount of effort. And frankly, the appeal of Myth was that I could stick with the Mac OS for the frontend, which would help with my family's acceptance.

If anyone has direct experience with the Mini running Linux, or any other suggestions for improving HD playback under Mac OS X, I'd appreciate your feedback.

_________________
Best,

Allen Cronce


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 08, 2007 1:36 am 
Offline
Joined: Sun Dec 31, 2006 10:55 am
Posts: 66
I've had some success on the video stutter front. What I did was turn the Setup/Utilities -> Setup -> TV Settings -> Playback -> horizontal and vertical under/overscan percentages back to their default of 0. Now when I watch live TV at 540p, the stutter is mostly gone.

I can even watch live TV and recordings at 1080i and it's good quality. But only if I disable the "Scale video as necessary" option. If I enable scaling, I get chop on many channels and all recordings. But if scaling is disabled, then several channels display really tiny.

Looks like I'll have to keep playing with options combinations to see what end's up providing me with the best overall picture and performance.

_________________
Best,

Allen Cronce


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 08, 2007 10:14 am 
Offline
Joined: Sat Feb 11, 2006 10:27 pm
Posts: 44
I've also noticed that the overscan setting on the Mac frontend causes video to be jerky. I guess that code isn't optimized.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 09, 2007 5:06 am 
Offline
Joined: Wed Mar 03, 2004 7:43 pm
Posts: 748
Location: Sydney, Australia
I am surprised that scaling and overscan impacts performance that much(stuttering). On my MacBook's internal video I don't see this much.

Can you tell me your Mac's video settings?

Or maybe some output from MythFrontend.app/Contents/MacOS/mythfrontend -v playback

_________________
| Nigel Pearson, nigel.pearson.au@gmail.com
| "Things you own end up owning you" - Tyler, Fight Club


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 09, 2007 10:33 am 
Offline
Joined: Sun Dec 31, 2006 10:55 am
Posts: 66
nigelpearson wrote:
I am surprised that scaling and overscan impacts performance that much(stuttering). On my MacBook's internal video I don't see this much.

My MacBook Pro doesn't stutter much either, and it's running at a higher resolution (i.e. 1440 x 900 progressive). But the problems I saw were on a Mini, which is slower and has less memory.

nigelpearson wrote:
Can you tell me your Mac's video settings?

I was using Millions of colors with custom resolutions for 1080i, 540p and 540p modified for overscan correction for my set. The 1080i resolution was the stock one that comes with DisplayConfigX. I made up the 540p resolution since DisplayConfigX didn't include one. The overscan corrected 540p variant for my set worked out to be 968 x 491, with front and back porch modifications to maintain the horizontal and vertical totals.

In addition to the stuttering, I noticed another oddity that I hadn't mentioned. When I used my overscan corrected 540p resolution, live and recorded TV was not displayed in the full screen. Instead it was displayed in an inset box with an inch or so of black space at the top and bottom, and about 6 inches on each side.

I thought this inset effect was really odd. Because with my modified resolution, the Mac Desktop is placed almost perfectly in the screen. Why would Myth decide to inset the playback area?

Anyway it was this inset effect that prompted me to change the horizontal and vertical under/overscan percentages values to try and get the image back to full screen. And that change turned out to be the cause of the worse of the stuttering.

Note that I've realized since the original post that my 540p custom resolution probably had an incorrect number of vertical lines, but I doubt that that would affect very much. I'm going to try correcting the resolution this weekend to see if it makes a difference.

nigelpearson wrote:
Or maybe some output from MythFrontend.app/Contents/MacOS/mythfrontend -v playback

Unfortunately the Mac Mini I used was borrowed. I had to return it this week. But I'll have access to it again this weekend for more experimentation.

In the meantime, here's a summary of where I am now:

At the standard 1080i resolution (not overscan corrected), I see stuttering on some channels and recordings unless I disable the "Scale video as necessary" option. But when I do that, all the SD 480 channels appear tiny because they are not getting scaled.

Even when I have 1080i working relatively smoothly, I see noticeable judder or tearing when the camera is panning, or when there's fast horizontal motion. I can reduce this some by enabling deinterlacing. But none of the deinterlace options really make this look as good as my built in TV tuner.

When I use 540p (either stock or overscan corrected), I get OK results as long as I don't specify any overscan percentages in Myth. But the image is not as good as with 1080i. I see artifacts in the image. They look like scaling errors or something. They're kind of like horizontal line glitches that pop up periodically, probably based on the content being displayed.

_________________
Best,

Allen Cronce


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jan 14, 2007 10:10 am 
Offline
Joined: Sun Dec 31, 2006 10:55 am
Posts: 66
So I was able to get my hands on another Mac Mini for experimentation this weekend. Note that this Mini is a 1.6 Ghz Core Duo, not the 1.8 Ghz I originally tried. But 1.6 is supposed to work with HD. And it gave me the advantage of starting over and be more scientific with my fontend settings.

What I did was setup the Mini with a stock 1080i HD resolution. Other than a theme change, the only substantive frontend setting change was to enable deinterlacing in OneField mode.

Then I ran the frontend in verbose mode and played back a prerecorded copy of a "Heros" episode. The playback was stuttering, just like before.

Here's the verbose output from the frontend:

Code:
2007-01-14 07:40:59.988 Using runtime prefix = /Applications/MythFrontend.app/Contents/Resources
2007-01-14 07:41:00.067 New DB connection, total: 1
2007-01-14 07:41:00.353 Connected to database 'mythconverg' at host: 192.168.200.50
2007-01-14 07:41:00.355 Total desktop dim: 1920x1080, with 1 screen[s].
2007-01-14 07:41:00.405 Using screen 0, 1920x1080 at 0,0
2007-01-14 07:41:00.554 user: 501 effective user: 501 before privileged thread
2007-01-14 07:41:00.555 user: 501 effective user: 501 after privileged thread
2007-01-14 07:41:00.555 user: 501 effective user: 501 run_priv_thread
2007-01-14 07:41:00.557 Current Schema Version: 1160
2007-01-14 07:41:00.558 mythfrontend version: 0.20.20060828-3 www.mythtv.org
2007-01-14 07:41:00.558 Enabled verbose msgs:  important general playback
2007-01-14 07:41:01.315 max_width: 1976 max_height: 1080
2007-01-14 07:41:01.350 SelectSetting::setValue(): invalid index 3
2007-01-14 07:41:01.354 SelectSetting::setValue(): invalid index 3
2007-01-14 07:41:01.360 SelectSetting::setValue(): invalid index 3
2007-01-14 07:41:01.444 Total desktop dim: 1920x1080, with 1 screen[s].
2007-01-14 07:41:01.445 Using screen 0, 1920x1080 at 0,0
2007-01-14 07:41:01.447 Switching to wide mode (MythCenter-wide)
2007-01-14 07:41:01.525 Using the Qt painter
2007-01-14 07:41:02.451 Loading from: /Applications/MythFrontend.app/Contents/Resources/share/mythtv/themes/default/base.xml
2007-01-14 07:41:02.874 Registering Internal as a media playback plugin.
2007-01-14 07:41:03.198 Registering MythDVD DVD Media Handler as a media handler ext()
2007-01-14 07:41:03.199 Registering MythDVD VCD Media Handler as a media handler ext()
2007-01-14 07:41:03.421 Registering MythGallery Media Handler 1/2 as a media handler ext()
2007-01-14 07:41:03.421 Registering MythGallery Media Handler 2/2 as a media handler ext(gif,jpg,png)
2007-01-14 07:42:17.218 XMLParse::LoadTheme using /Applications/MythFrontend.app/Contents/Resources/share/mythtv/themes/MythCenter-wide/ui.xml
2007-01-14 07:42:18.627 Connecting to backend server: 192.168.200.50:6543 (try 1 of 5)
2007-01-14 07:42:18.666 Using protocol version 31
2007-01-14 07:42:37.958 New DB connection, total: 2
2007-01-14 07:42:38.022 Connected to database 'mythconverg' at host: 192.168.200.50
2007-01-14 07:42:38.210 TV: Attempting to change from None to WatchingPreRecorded
2007-01-14 07:42:38.280 RingBuf(myth://192.168.200.50:6543/1111_20070101215900.mpg): OpenFile(myth://192.168.200.50:6543/1111_20070101215900.mpg, 12)
2007-01-14 07:42:38.368 RingBuf(myth://192.168.200.50:6543/1111_20070101215900.mpg): CalcReadAheadThresh(4000 KB)
                         -> threshhold(402 KB) min read(32 KB) blk size(64 KB)
0: start_time: 7331.772 duration: 157.294
1: start_time: 7331.737 duration: 157.291
stream: start_time: 81463.745 duration: 1748.106 bitrate=17122 kb/s
2007-01-14 07:42:39.720 AFD: Stream #0, has id 0x49 codec id MPEG2VIDEO, type Video, bitrate 65000000 at 0x0x29b41500
2007-01-14 07:42:39.721 detectInterlace(Detect Scan, Interlaced Scan, 29.97, 1088) ->Interlaced Scan
2007-01-14 07:42:39.739 AFD: Looking for decoder for MPEG2VIDEO
2007-01-14 07:42:39.739 AFD: Opened codec 0x18bba00, id(MPEG2VIDEO) type(Video)
2007-01-14 07:42:39.739 AFD: Stream #1, has id 0x52 codec id AC3, type Audio, bitrate 384000 at 0x0x29b41700
2007-01-14 07:42:39.739 AFD: Looking for decoder for AC3
2007-01-14 07:42:39.760 AFD: Opened codec 0x18bbe00, id(AC3) type(Audio)
2007-01-14 07:42:39.762 RingBuf(myth://192.168.200.50:6543/1111_20070101215900.mpg): CalcReadAheadThresh(65384 KB)
                         -> threshhold(2650 KB) min read(32 KB) blk size(512 KB)
2007-01-14 07:42:41.085 Dec: Trying to select track (w/lang)
2007-01-14 07:42:41.085 Dec: Selecting first track
2007-01-14 07:42:41.085 Dec: Selected track #1 in the Unknown language(0)
2007-01-14 07:42:41.142 Resyncing position map. posmapStarted = 0 livetv(0) watchingRec(0)
2007-01-14 07:42:41.299 Position map filled from DB to: 45240
2007-01-14 07:42:41.299 SyncPositionMap prerecorded, from DB: 1560 entries
2007-01-14 07:42:41.300 SyncPositionMap, new totframes: 45240, new length: 1509, posMap size: 1560
2007-01-14 07:42:41.333 AFD: Position map found
2007-01-14 07:42:41.333 AFD: Successfully opened decoder for file: "myth://192.168.200.50:6543/1111_20070101215900.mpg". novideo(0)
2007-01-14 07:42:41.404 VideoOutputQuartz::Init(width=1920, height=1088, aspect=1.77778, winid=14
 winx=0, winy=0, winw=1920, winh=1080, WId embedid=0)
2007-01-14 07:42:41.406 Over/underscan. V: 0, H: 0, XOff: 0, YOff: 0
2007-01-14 07:42:41.407 VideoOutputQuartz::VideoAspectRatioChanged(aspect=1.77778) [was 8.37277e-14]
2007-01-14 07:42:41.407 Snapping width to avoid scaling: width: 1920, left: 0
2007-01-14 07:42:41.408 Display Rect  left: 0, top: 135, width: 1920, height: 810, aspect: 1.33333
2007-01-14 07:42:41.408 Video Rect    left: 0, top: 0, width: 1920, height: 1080, aspect: 1.77778
2007-01-14 07:42:41.740 Created data @0x31dfa000->0x320f7002
2007-01-14 07:42:41.740 Created data @0x320f8000->0x323f5002
2007-01-14 07:42:41.740 Created data @0x323f6000->0x326f3002
2007-01-14 07:42:41.740 Created data @0x326f4000->0x329f1002
2007-01-14 07:42:41.740 Created data @0x329f2000->0x32cef002
2007-01-14 07:42:41.741 Created data @0x32cf0000->0x32fed002
2007-01-14 07:42:41.741 Created data @0x32fee000->0x332eb002
2007-01-14 07:42:41.741 Created data @0x332ec000->0x335e9002
2007-01-14 07:42:41.741 Created data @0x335ea000->0x338e7002
2007-01-14 07:42:41.741 Created data @0x338e8000->0x33be5002
2007-01-14 07:42:41.741 Created data @0x33be6000->0x33ee3002
2007-01-14 07:42:41.741 Created data @0x33ee4000->0x341e1002
2007-01-14 07:42:41.741 Created data @0x341e2000->0x344df002
2007-01-14 07:42:41.741 Created data @0x344e0000->0x347dd002
2007-01-14 07:42:41.741 Created data @0x347de000->0x34adb002
2007-01-14 07:42:41.741 Created data @0x34adc000->0x34dd9002
2007-01-14 07:42:41.742 Created data @0x34dda000->0x350d7002
2007-01-14 07:42:41.742 Created data @0x350d8000->0x353d5002
2007-01-14 07:42:41.742 Created data @0x353d6000->0x356d3002
2007-01-14 07:42:41.742 Created data @0x356d4000->0x359d1002
2007-01-14 07:42:41.742 Created data @0x359d2000->0x35ccf002
2007-01-14 07:42:41.742 Created data @0x35cd0000->0x35fcd002
2007-01-14 07:42:41.742 Created data @0x35fce000->0x362cb002
2007-01-14 07:42:41.742 Created data @0x362cc000->0x365c9002
2007-01-14 07:42:41.742 Created data @0x365ca000->0x368c7002
2007-01-14 07:42:41.742 Created data @0x368c8000->0x36bc5002
2007-01-14 07:42:41.743 Created data @0x36bc6000->0x36ec3002
2007-01-14 07:42:41.743 Created data @0x36ec4000->0x371c1002
2007-01-14 07:42:41.743 Created data @0x371c2000->0x374bf002
2007-01-14 07:42:41.743 Created data @0x374c0000->0x377bd002
2007-01-14 07:42:41.743 Created data @0x377be000->0x37abb002
2007-01-14 07:42:41.743 Created data @0x37abc000->0x37db9002
2007-01-14 07:42:46.741 Viewport is 1920 x 1080
2007-01-14 07:42:46.741 Image is 1920 x 1088
2007-01-14 07:42:46.741 Scaling to 1.00741 of width
2007-01-14 07:42:46.767 Centering with -7, -4
2007-01-14 07:42:46.767 Snapping width to avoid scaling: width: 1920, left: 0
2007-01-14 07:42:46.767 Display Rect  left: 0, top: 135, width: 1920, height: 810, aspect: 1.33333
2007-01-14 07:42:46.767 Video Rect    left: 0, top: 0, width: 1920, height: 1080, aspect: 1.77778
2007-01-14 07:42:50.478 NVP: ClearAfterSeek(1)
2007-01-14 07:42:50.478 TV: StartPlayer(): took 11875 ms to start player.
2007-01-14 07:42:50.502 TV: Changing from None to WatchingPreRecorded
2007-01-14 07:42:50.505 VideoOutputQuartz::GetRefreshRate() [returning 60]
2007-01-14 07:42:50.523 Using deinterlace method onefield
2007-01-14 07:42:50.546 nVidiaVideoSync: Could not open device /dev/nvidia0, No such file or directory
2007-01-14 07:42:50.546 DRMVideoSync: Could not open device /dev/dri/card0, No such file or directory
2007-01-14 07:42:50.555 VideoOutputQuartz::GetRefreshRate() [returning 60]
2007-01-14 07:42:50.555 Using audio as timebase
2007-01-14 07:42:50.555 Video timing method: USleep with busy wait
2007-01-14 07:42:50.555 Refresh rate: 16666, frame interval: 33366
2007-01-14 07:42:50.584 NVP: Waiting for prebuffer.. 0                               
2007-01-14 07:42:50.721 NVP: Waiting for prebuffer.. 1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAuL
2007-01-14 07:42:50.856 NVP: Waiting for prebuffer.. 2 UUuUULuAAAAAAAAAAAAAAAAAAAAAAUU
2007-01-14 07:42:50.933 NVP: progressive frame seen after 2 interlaced  frames
2007-01-14 07:42:52.374 NVP: Video is 9.87532 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.409 Disabled deinterlacing
2007-01-14 07:42:52.413 NVP: Video is 16.9521 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.417 NVP: Video is 22.2073 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.421 NVP: Video is 25.804 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.426 NVP: Video is 28.2917 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.430 NVP: Video is 29.8129 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.435 NVP: Video is 30 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.438 NVP: Video is 30 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.442 NVP: Video is 30 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.446 NVP: Video is 30 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.450 NVP: Video is 30 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.454 NVP: Video is 29.6516 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.458 NVP: Video is 28.9147 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.461 NVP: Video is 28.0173 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.465 NVP: Video is 27.127 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.469 NVP: Video is 26.1145 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.473 NVP: Video is 25.1305 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.477 NVP: Video is 24.0477 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.481 NVP: Video is 23.0184 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.485 NVP: Video is 21.9018 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.489 NVP: Video is 20.8395 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.493 NVP: Video is 19.6981 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.497 NVP: Video is 18.6248 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.501 NVP: Video is 17.4677 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.505 NVP: Video is 16.3825 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.509 NVP: Video is 15.224 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.512 NVP: Video is 14.1303 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.516 NVP: Video is 12.9654 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.520 NVP: Video is 11.867 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.524 NVP: Video is 10.7059 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.528 NVP: Video is 9.61038 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.532 NVP: Video is 8.44407 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.536 NVP: Video is 7.34454 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.540 NVP: Video is 6.17524 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.544 NVP: Video is 5.07349 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.544 NVP: prebuffering pause
2007-01-14 07:42:52.544 NVP: Waiting for prebuffer.. 0 AALAAALAAAAAAAAAAAAAAAAAAAAAAAu
2007-01-14 07:42:52.678 NVP: Waiting for prebuffer.. 1 AAUAAuUULUUAULAAAAAAAAAAAAAAAAU
2007-01-14 07:42:52.733 Dec: Selected track #1 in the Unknown language(0)
2007-01-14 07:42:52.771 NVP: Video is 3.91 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:52.775 NVP: Video is 4.48346 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.311 NVP: Video is 3.64254 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.316 NVP: Video is 3.80333 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.321 NVP: Video is 3.71414 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.326 NVP: Video is 3.30258 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.658 NVP: Video is 3.38506 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.663 NVP: Video is 3.46038 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.669 NVP: Video is 3.1797 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.944 NVP: Video is 3.25619 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.955 NVP: Video is 3.25133 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:53.960 NVP: Video is 3.09036 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.245 NVP: Video is 3.3571 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.250 NVP: Video is 3.46188 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.255 NVP: Video is 3.20329 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.532 NVP: Video is 3.4335 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.542 NVP: Video is 3.42178 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.552 NVP: Video is 3.24066 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.885 NVP: Video is 3.41677 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.898 NVP: Video is 3.55161 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.902 NVP: Video is 3.50288 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:54.906 NVP: Video is 3.12165 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.255 NVP: Video is 3.09522 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.262 NVP: Video is 3.32542 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.271 NVP: Video is 3.19088 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.475 NVP: Video is 3.1595 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.488 NVP: Video is 3.14886 frames behind audio (too slow), dropping frame to catch up.
'video_output' mean = '31751.62', std. dev. = '36673.86', fps = '31.49'
2007-01-14 07:42:55.710 NVP: Video is 3.34991 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.724 NVP: Video is 3.434 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.732 NVP: Video is 3.35473 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.946 NVP: Video is 3.11476 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.959 NVP: Video is 3.14527 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:55.967 NVP: Video is 3.02577 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:56.244 NVP: Video is 3.0339 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:56.261 NVP: Video is 3.197 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:56.268 NVP: Video is 3.07208 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:56.529 NVP: Video is 3.33549 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:56.533 NVP: Video is 3.31083 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:56.544 NVP: Video is 3.08251 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:56.814 NVP: Video is 3.05769 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:56.845 NVP: Video is 3.10996 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:56.898 NVP: Video is 3.01373 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.126 NVP: Video is 3.1729 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.130 NVP: Video is 3.28628 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.134 NVP: Video is 3.15402 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.450 NVP: Video is 3.35995 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.480 NVP: Video is 3.35914 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.484 NVP: Video is 3.32854 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.673 NVP: Video is 3.04876 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.739 NVP: Video is 3.0205 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.937 NVP: Video is 3.27162 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:57.941 NVP: Video is 3.18048 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:58.138 NVP: Video is 3.16595 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:58.168 NVP: Video is 3.11623 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:58.358 NVP: Video is 3.34205 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:58.362 NVP: Video is 3.26329 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:58.504 NVP: Video is 3.04052 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:58.639 NVP: Video is 3.06594 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:58.644 NVP: Video is 3.04121 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:58.898 NVP: Video is 3.11317 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:58.910 NVP: Video is 3.14407 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:59.045 NVP: Video is 3.01549 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:59.201 NVP: Video is 3.25769 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:59.212 NVP: Video is 3.27495 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:59.216 NVP: Video is 3.10807 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:59.534 NVP: Video is 3.26143 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:59.545 NVP: Video is 3.26275 frames behind audio (too slow), dropping frame to catch up.
2007-01-14 07:42:59.549 NVP: Video is 3.0989 frames behind audio (too slow), dropping frame to catch up.
'video_output' mean = '41914.34', std. dev. = '27860.38', fps = '23.86'


If I'm interpreting this correctly, it looks like the front end thinks that the image it's displaying is 1088 lines instead of 1080. As a result, it's trying to scale to make up the 8 line difference. When this happens, I see the frontend taking nearly 100% of the processor, and the WindowServer take an additional 30%.

Apparently that pushes things beyond the Mini's processing power and results in dropped frames. For some reason scaling equals death on this platform.

If I disable the "Scale video as necessary" option, then the dropped frame problem goes away. But then all of the 480i and p channels appear tiny when viewing live TV.

I've tried all sorts of settings to work around this problem. But I can't find a middle ground that doesn't require me to change settings when going between HD and non-HD resolution content.

Also, if I change my Mac's resolution to correct for over and underscan, then I also see scaling related performance problems. I'd really like to stick with the Mac OS X frontend, resolve my overscan problems, and get smooth HD playback. But after hours of messing around, I can't seem to achieve this.

Does anyone have any suggestions as to how to configure the Mac frontend so that it scales stuff that really needs to be scaled, but doesn't scale HD content unnecessarily? Or is anyone working on scaling performance issues with the Mac frontend?

Thanks in advance.

_________________
Best,

Allen Cronce


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jan 14, 2007 7:35 pm 
Offline
Joined: Wed Mar 03, 2004 7:43 pm
Posts: 748
Location: Sydney, Australia
acronce wrote:
If I'm interpreting this correctly, it looks like the front end thinks that the image it's displaying is 1088 lines instead of 1080.
Well spotted, Allen. Yes, that is a fairly common thing. All MPEGs resolutions are divisible by 8, but some are doctored to also be divisible by 16 and 32 also, to speed up processing by 32bit optimised HW/SW.

The MythTV code should already deal with this, though:
http://cvs.mythtv.org/trac/changeset/4020
http://cvs.mythtv.org/trac/changeset/9915

Code:
2007-01-14 07:42:41.404 VideoOutputQuartz::Init(width=1920, height=1088, aspect=1.77778, winid=14
 winx=0, winy=0, winw=1920, winh=1080, WId embedid=0)
2007-01-14 07:42:41.406 Over/underscan. V: 0, H: 0, XOff: 0, YOff: 0
2007-01-14 07:42:41.407 VideoOutputQuartz::VideoAspectRatioChanged(aspect=1.77778) [was 8.37277e-14]
2007-01-14 07:42:41.407 Snapping width to avoid scaling: width: 1920, left: 0
2007-01-14 07:42:41.408 Display Rect  left: 0, top: 135, width: 1920, height: 810, aspect: 1.33333
2007-01-14 07:42:41.408 Video Rect    left: 0, top: 0, width: 1920, height: 1080, aspect: 1.77778
See the 1080 on that last line? That is the 1088 clipped to 1080 by the base video class.

I will try to do some tests tonight and compare my output to yours (assuming I can get 1080i working on an output device).

_________________
| Nigel Pearson, nigel.pearson.au@gmail.com
| "Things you own end up owning you" - Tyler, Fight Club


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 15, 2007 11:23 am 
Offline
Joined: Thu Nov 10, 2005 11:11 pm
Posts: 12
I have a fairly similar setup with a 1.6ghz mac mini frontend and older HDTV OTA tuner backend.

My mini is driving a 720p LCD tv with stock 720p resolution which results in a bit too much overscan, both on the vertical and horizontal but otherwise looks very nice.

I compiled mythfrontend.app from SVN source. It was very very easy to do. So far playback is great with the default settings in the frontend (except for enabling dienterlacing). I can offer you my precompilled binary to try (it was built on Jan 13 2007) or you can compile your own. Total compile time was under an hour.

To compile:
Before starting make sure you have the latest XCode installed along with Fink.
Open a terminal and
Code:
apt-get install svn-client

make a new directory for your svn checkout
Code:
mkdir /svn/

grab source
Code:
svn co http://svn.mythtv.org/svn/trunk/mythtv
svn co http://svn.mythtv.org/svn/trunk/mythplugins
svn co http://svn.mythtv.org/svn/trunk/myththemes


then run the automated perl script to build everything
Code:
perl /svn/mythtv/contrib/OSX/osx-packager.pl -clean


An hour or so later all dependencies will have been built and installed and a MythFrontend.app will be in the folder with the perl script ready to go.

I would be interested to hear how this works for you and any tips/hints you have come across so far.

Current problems I am working on:
Finding some way to play music (the mythmusic plugin does not work in OSX)

Passing apple remote control to VLC when using VLC to play h264 files. I think I may have to disable apple remote support and use a third party program like iRedLight to do this

A way to play iTunes purchased video - through launching Quicktime or iTunes from mythtv. Anyone with knowledge of command line calls could be of great help.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 15, 2007 3:39 pm 
Offline
Joined: Sun Dec 31, 2006 10:55 am
Posts: 66
Thanks for getting back to me nigelpearson. I looked at the source changes you indicated, and the 1080/1088 issue appears to be dealt with. However, the behavior seems to indicate that it is scaling regardless.

I'd be very interested to hear from you regarding whether you can reproduce the issue on your end.

Thanks for your suggestions and thoughts crp724. But I also don't really see the problem with 720p. Where I run into problems is when the frontend tries to display 1080i (or 1088i, rather) on my 1080i display.

I've tried to build the frontend as per your suggestions, but got the following build error:

Code:
cp -f "mythweather_fi.qm" "../../../../../build/share/mythtv/i18n/"
cp -f "mythweather_ru.qm" "../../../../../build/share/mythtv/i18n/"
cp: /svn/MythTV is a directory (not copied).
osx-bundler: Failed system call: " /bin/cp -p /svn/MythTV /svn/MythTV.app/Contents/MacOS/MythTV " with error code 1
Died at /svn/.osx-packager/src/myth-svn/mythtv/contrib/OSX/osx-bundler.pl line 113.
[osx-pkg] Failed system call: " /svn/.osx-packager/src/myth-svn/mythtv/contrib/OSX/osx-bundler.pl /svn/MythTV /svn/.osx-packager/build/lib/ /svn/.osx-packager/build/lib/mysql /svn/.osx-packager/src/qt-mac-free-3.3.6/lib " with error code 1
Died at /svn/mythtv/contrib/OSX/osx-packager.pl line 948.


The only thing I did differently than your instructions was that I cd'd to the /svn/ directory so that the initially checkout would land in that directory.

Any ideas on what I'm doing wrong with the build?

Thanks in advance.

_________________
Best,

Allen Cronce


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 15, 2007 6:36 pm 
Offline
Joined: Wed Mar 03, 2004 7:43 pm
Posts: 748
Location: Sydney, Australia
acronce wrote:
I'd be very interested to hear from you regarding whether you can reproduce the issue on your end.
Not yet. The multi-screen stuff seems to be broken again, so I had to try running my MacBook closed with an external keyboard/mouse, and I ran out of time last night. My -v playback outout is similar to yours (i.e. with the "Full screen: Centering with -7, -4" line which I think indicates the 8 extra pixels.

...
Quote:
The only thing I did differently than your instructions was that I cd'd to the /svn/ directory so that the initially checkout would land in that directory.
Strange error. There are bits missing from the start of the paths in that cp command.

Doing a cd before running the script shouldn't matter, as it creates a new volume, ./.osx-packager.dmg, which contains the source and build. It is mounted on ./.osx-packager. Source is accessed at ./.osx-packager/src/mythtv-svn/myth*

Unless you did your cd into the src tree and then did a make?

_________________
| Nigel Pearson, nigel.pearson.au@gmail.com
| "Things you own end up owning you" - Tyler, Fight Club


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 15, 2007 7:46 pm 
Offline
Joined: Sun Dec 31, 2006 10:55 am
Posts: 66
As always, thanks for your response.

nigelpearson wrote:
Not yet. The multi-screen stuff seems to be broken again, so I had to try running my MacBook closed with an external keyboard/mouse, and I ran out of time last night. My -v playback outout is similar to yours (i.e. with the "Full screen: Centering with -7, -4" line which I think indicates the 8 extra pixels.

I appreciate your efforts. But if reproducing the problem ends up being too much trouble, I understand.

nigelpearson wrote:
Unless you did your cd into the src tree and then did a make?

I cd'd to the /svn/ directory itself, which is where I did my original checkout. I performed the make there right after the checkout.

So for clarification, here are the exact steps I took:

1. Installed fink.
2. Used fink to apt-get the svn client. I generally use cvs. Guess it was time to stop living in the past ;-)
3. Made a new /svn/ directory.
4. cd'd to the /svn/ directory.
5. Grabbed the mythtv, mythplugins, and myththemes sources using the following commands:

Code:
svn co http://svn.mythtv.org/svn/trunk/mythtv
svn co http://svn.mythtv.org/svn/trunk/mythplugins
svn co http://svn.mythtv.org/svn/trunk/myththemes

At this point, my current directory looked something like this:

Code:
drwxr-xr-x   21 acronce  acronce  714 Jan 15 11:33 mythplugins
drwxr-xr-x   21 acronce  acronce  714 Jan 15 11:33 myththemes
drwxr-xr-x   25 acronce  acronce  850 Jan 15 13:13 mythtv

6. Ran the perl script with the following command:

Code:
perl /svn/mythtv/contrib/OSX/osx-packager.pl -clean

Note that I already had Xcode 2.4.1 installed. I built from a MacBook Pro Core 2 Duo.

Note that one thing I forgot to mention was that the first time I ran the perl script I got an error. That's because I have Little Snitch installed, and it prevented a curl command from executing while I was away from the computer.

So I threw away the hidden .osx-packager and .osx-packager.dmg folder and file and ran the perl script again. Then the copy error happened.

Sorry for being a noob where it comes to building the frontend. If there's something obvious I did wrong, please let me know. Otherwise I'll search around for a resolution.

Thanks again.

_________________
Best,

Allen Cronce


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 23, 2007 9:57 am 
Offline
Joined: Sun Dec 31, 2006 10:55 am
Posts: 66
My latest thinking on this problem is that if I can build the frontend from sources and it still has the performance problem scaling 1080i, then I could change the code to prevent the scaling. Further, I might be able to hack the code to not scale even when I'm using an overscan corrected resolution, which would be ideal in my case.

So I was able to get a clean build by creating a directory other than the source directory and cd'ing to it before invoking the perl script. Unfortunately when I run the application built from the bleeding edge, I get an error because my backend is running protocol version 31 and the frontend is now at version 32.

There's no way that I want to change my backend to the bleeding edge at this point. So I think that I need to do is build the last sources that supported protocol version 31. However I have no idea what tag or svn version to use to do that.

Can someone let me know what svn version to build, or point me at an information source that will help?

Thanks in advance.

_________________
Best,

Allen Cronce


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 23, 2007 3:40 pm 
Offline
Joined: Wed Mar 03, 2004 7:43 pm
Posts: 748
Location: Sydney, Australia
Trawling through the history here:
http://cvs.mythtv.org/trac/log/trunk/my ... hcontext.h
told me that revision [12151] increased the protocol version, so:
Code:
osx-packager.pl --svnrev 12150
should be safe.

_________________
| Nigel Pearson, nigel.pearson.au@gmail.com
| "Things you own end up owning you" - Tyler, Fight Club


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 23, 2007 8:08 pm 
Offline
Joined: Sun Dec 31, 2006 10:55 am
Posts: 66
Thanks Nigel. I should have updated my post because I came to the same conclusion this morning. I did a log on mytcontext.h with a GUI svn client and looked for the protocol change.

Sorry that I made you go through the same exercise. Too bad that big changes like protocol version revs are not documented more clearly.

I tried to build rev 12150 this morning, but ran into an error. Unfortunately I had to go to work so I wasn't able to debug it. But I suspect that the technique I used to build doesn't quite work right.

What I did was use the command line svn client to checkout revision 12150, then built from those sources with the "-clean -nohead" options. I forget the error at this point, and unfortunately did not keep a copy of it and had to reboot for unrelated reasons.

In any case, I'll try a build again when I get home tonight using your suggested --svnrev option and see what happens.

Thanks again for your continued help.

_________________
Best,

Allen Cronce


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jan 24, 2007 9:43 am 
Offline
Joined: Sun Dec 31, 2006 10:55 am
Posts: 66
I'm still not having much luck building. Here's the error from my attempt to build revision 12150 with the -svnrev option:

Code:
cp -f "mythweather_ru.qm" "../../../../../build/share/mythtv/i18n/"
cp: /Third_Party_Sources/mythtv/builds/12150/.osx-packager/src/myth-svn/mythtv/programs/mythfrontend/mythfrontend: No such file or directory
[osx-pkg] Failed system call: " cp /Third_Party_Sources/mythtv/builds/12150/.osx-packager/src/myth-svn/mythtv/programs/mythfrontend/mythfrontend /Third_Party_Sources/mythtv/builds/12150/MythFrontend " with error code 1
Died at /Third_Party_Sources/mythtv/svn/mythtv/contrib/OSX/osx-packager.pl line 944.


There is no file or folder at this location:

Code:
.osx-packager/src/myth-svn/mythtv/programs/mythfrontend/mythfrontend

There is only a mythfrontend.app at that location.

Maybe some information regarding my build environment would help. I started the build from bleeding edge sources located here:

Code:
/Third_Party_Sources/mythtv/svn/

My build folder (which I cd'd to before building) is here:

Code:
/Third_Party_Sources/mythtv/builds/12150

And here's the command I used to build:

Code:
/Third_Party_Sources/mythtv/svn/mythtv/contrib/OSX/osx-packager.pl -svnrev 12150

Maybe there are problems when you use a bleeding edge perl script to build an older revision?

As an aside, should I be posting these build issues elsewhere? I mean, the original problem was related to HD performance. Ideally I might be able to address that problem if I can reliably build the right revision. But maybe there's a more appropriate forum for dealing with build issues.

Thanks for any suggestions.

_________________
Best,

Allen Cronce


Top
 Profile  
 

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 48 posts ] 
Go to page 1, 2, 3, 4  Next



All times are UTC - 6 hours




Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group

Theme Created By ceyhansuyu