Opened 11 years ago

Closed 11 years ago

#4631 closed patch (fixed)

Create some nicer default video profiles

Reported by: danielk Owned by: danielk
Priority: critical Milestone: 0.21
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

CPU++/CPU+/CPU-- aren't cutting it...

Attachments (1)

4631-v1.patch (10.1 KB) - added by danielk 11 years ago.
Creates new profiles "High Quality", "Normal", & "Slim" -- plus adds QObject::tr() for the default profile names.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 11 years ago by Nigel

May I suggest tr("CPU intensive"), tr("Normal"), tr("Hardware assisted")

comment:2 in reply to:  1 Changed 11 years ago by Marc Randolph <mrandtx@…>

May I suggest tr("CPU intensive"), tr("Normal"), tr("Hardware assisted")

While I like the much more descriptive wording, the word Normal doesn't have much meaning to me in this context. Maybe this is closer:

tr("No hardware assist - ffmpeg"), tr("Hardware assist HD - if possible"), tr("Hardware assist all res - if possible")

More info about profiles: http://www.mythtv.org/wiki/index.php/Playback_profiles

comment:3 Changed 11 years ago by Isaac Richards

Priority: minorcritical

Changed 11 years ago by danielk

Attachment: 4631-v1.patch added

Creates new profiles "High Quality", "Normal", & "Slim" -- plus adds QObject::tr() for the default profile names.

comment:4 Changed 11 years ago by danielk

Type: taskpatch

comment:5 Changed 11 years ago by andrei@…

Since we are working on this, should we maybe think about creating profiles with compiled-in decoders/renderers only? How much sense does it make to create "quartz-blit" profiles on Linux or xv-blit on Win32? And how much sense does it make not to create Direct3D profile on Win32, while we are at it?

comment:6 Changed 11 years ago by danielk

Resolution: fixed
Status: newclosed

(In [16430]) Fixes #4631. Adds three new video profiles.

This adds "High Quality", "Normal", and "Slim" video output profiles, and makes "Normal" the new default if you had one of the old sample profiles selected.

There were some valid complaints that the previous defaults were not ideal because they were complex examples and also relied on good V-Sync to get results better than the old defaults.

The new "High Quality" profile assumes that you have a dual core system, but not a top of the line one. This means we use the heavy duty Yadif deinterlacer for SD material and the less heavy duty "Linear Blend" for 1080i material; and we use alpha blended animated fades for the OSD for both SD and HD material.

The new "Normal" default profile assumes that you have a single core P4 @ 3000 Mhz system. We use the slightly less heavy duty Greedy 2x deinterlacer for SD material when the display's frame rate is high enough and the old standby kerneldeint otherwise. For HD material we use Linear Blend, as in the "High Quality" profile, but we disable OSD fading so as to avoid studder.

The new "Slim" profile assumes that you have a decent enough system to play the material that you play, but just barely. For this profile the resolution killing onefield is used for HD material and linearblend is used for SD material. Like in "Normal" the OSD fade is disabled for HD material but not for SD material.

None of these profiles take advantage of turning off deinterlacing when the display resolution matches the video resolution on an interlaced display, nor do they take advantage of bobdeint which does a good job with deinterlacing when V-Sync is maintained. HW acceleration is also not used in any of these profiles. The reason is simply that these often need to be customized for a particular setup and driver stack, so we leave it up to the user to create their own profiles for these. Finally, because OpenGL rendering has been disabled in the 0.21 release due to stability problems, it is not used by any of these profiles.

All of these profiles are designed to give decent quality video output with both X11 and OSX; other platforms will use their default playback methods.

Note: See TracTickets for help on using tickets.