Ticket #2131: myth-zoom.patch

File myth-zoom.patch, 3.2 KB (added by pc-mythtrac06a@…, 18 years ago)
  • libs/libmythtv/videoout_quartz.cpp

     
    347347    {
    348348        case kLetterbox_4_3_Zoom:
    349349            // height only fills 3/4 of image, zoom up
     350            // (9/16)*4 is 2.25, using 2.25 of 3
    350351            hscale = vscale = h * 1.0 / (sh * 0.75);
    351352            break;
     353        case kLetterbox_14_9_Zoom:
     354            // height only fills part of image, zoom up
     355            // (9/14)*4 is about 2.57, using 2.57 of 3
     356            hscale = vscale = w * 7.0 / (sw * 6);
     357            break;
    352358        case kLetterbox_16_9_Zoom:
    353359            // width only fills 3/4 of image, zoom up
    354360            hscale = vscale = w * 1.0 / (sw * 0.75);
  • libs/libmythtv/tv_play.cpp

     
    50685068        case kLetterbox_4_3:          text = tr("4:3"); break;
    50695069        case kLetterbox_16_9:         text = tr("16:9"); break;
    50705070        case kLetterbox_4_3_Zoom:     text = tr("4:3 Zoom"); break;
     5071        case kLetterbox_14_9_Zoom:    text = tr("14:9 Zoom"); break;
    50715072        case kLetterbox_16_9_Zoom:    text = tr("16:9 Zoom"); break;
    50725073        case kLetterbox_16_9_Stretch: text = tr("16:9 Stretch"); break;
    50735074        case kLetterbox_Fill:         text = tr("Fill"); break;
  • libs/libmythtv/videooutbase.cpp

     
    387387    {
    388388        letterboxed_video_aspect = 4.0f / 3.0f;
    389389    }
     390    else if ((kLetterbox_14_9_Zoom == letterbox))
     391    {
     392        letterboxed_video_aspect = 4.0f / 3.0f;
     393    }
    390394    else if ((kLetterbox_16_9      == letterbox) ||
    391395             (kLetterbox_16_9_Zoom == letterbox))
    392396    {
     
    778782            display_video_rect.width()  * 4 / 3,
    779783            display_video_rect.height() * 4 / 3);
    780784    }
     785    else if (letterbox == kLetterbox_14_9_Zoom)
     786    {
     787        // Zoom mode -- Expand by 7/6 and overscan.
     788        // Intended to be used to eliminate the top bars
     789        // on 14:9 material.
     790        // Expanding by 7/6, so remove 1/6 of original from overscan;
     791        // take half from each side, so remove 1/12.
     792        display_video_rect = QRect(
     793            display_video_rect.left() - (display_video_rect.width()  / 12),
     794            display_video_rect.top()  - (display_video_rect.height() / 12),
     795            display_video_rect.width()  * 7 / 6,
     796            display_video_rect.height() * 7 / 6);
     797    }
     798
    781799    else if (letterbox == kLetterbox_16_9_Stretch)
    782800    {
    783801        // Stretch mode -- intended to be used to eliminate side
  • libs/libmythtv/videooutbase.h

     
    9393{
    9494    kLetterbox_Toggle = -1,
    9595    kLetterbox_Off = 0,
     96    kLetterbox_14_9_Zoom,
    9697    kLetterbox_4_3,
    9798    kLetterbox_16_9,
    9899    kLetterbox_4_3_Zoom,