1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Using different names for the Aspect parameter

This commit is contained in:
Klaus Schmidinger 2009-06-06 11:20:52 +02:00
parent 03245bdaf6
commit 1f798b0f8e
6 changed files with 42 additions and 38 deletions

View File

@ -1216,7 +1216,6 @@ Reinhard Nissl <rnissl@gmx.de>
for making sure vdr-xine no longer needs cDvbPlayer::Action() to call DeviceFlush() for making sure vdr-xine no longer needs cDvbPlayer::Action() to call DeviceFlush()
for fixing the 'VideoOnly' condition in the PlayPes() and PlayTs() calls in for fixing the 'VideoOnly' condition in the PlayPes() and PlayTs() calls in
cDvbPlayer::Action() cDvbPlayer::Action()
for reporting a typo in aspect ratio 2.21:1
for reporting a problem in case the PIDs change during recording for reporting a problem in case the PIDs change during recording
for reporting a memory leak when reaching the end of a recording during replay for reporting a memory leak when reaching the end of a recording during replay
for reporting a call to close(-1) in cUnbufferedFile::Close() for reporting a call to close(-1) in cUnbufferedFile::Close()
@ -1224,6 +1223,8 @@ Reinhard Nissl <rnissl@gmx.de>
for fixing cOsdMenu::Display() in case the menu size has changed for fixing cOsdMenu::Display() in case the menu size has changed
for suggesting to change the type of the Aspect parameter of GetVideoSize() for suggesting to change the type of the Aspect parameter of GetVideoSize()
to 'double' to 'double'
for suggesting to use different names for the Aspect parameter in GetVideoSize()
and GetOsdSize()
Richard Robson <richard_robson@beeb.net> Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the for reporting freezing replay if a timer starts while in Transfer Mode from the

View File

@ -6077,7 +6077,6 @@ Video Disk Recorder Revision History
2009-06-01: Version 1.7.8 2009-06-01: Version 1.7.8
- Fixed a typo in aspect ratio 2.21:1 (reported by Reinhard Nissl).
- The name of the function cDevice::GetVideoSize() wasn't very well chosen - The name of the function cDevice::GetVideoSize() wasn't very well chosen
for its purpose of defining the optimum size of the OSD for the current for its purpose of defining the optimum size of the OSD for the current
output device. Therefore a new function named cDevice::GetOsdSize() has output device. Therefore a new function named cDevice::GetOsdSize() has
@ -6086,9 +6085,11 @@ Video Disk Recorder Revision History
to replay video. cDevice::GetVideoSize() still exists and should return the to replay video. cDevice::GetVideoSize() still exists and should return the
actual size of the video material that is currently replayed. Note that actual size of the video material that is currently replayed. Note that
because of the many possible aspect ratios for video material, the type because of the many possible aspect ratios for video material, the type
of the Aspect parameter of GetVideoSize() has been changed to 'double' of the Aspect parameter of GetVideoSize() has been changed to 'double',
(suggested by Reinhard Nissl). Thanks to Oliver Endriss for his input on and the Aspect parameter in both functions is named differently, because
calculating the Aspect factor in GetOsdSize(). it returns different values (suggested by Reinhard Nissl).
Thanks to Oliver Endriss for his input on calculating the Aspect factor in
GetOsdSize().
- Fixed the way the OSD size is determined on full featured DVB cards (thanks - Fixed the way the OSD size is determined on full featured DVB cards (thanks
to Oliver Endriss). to Oliver Endriss).
- Increased MAXOSDHEIGHT to 1200 (suggested by Nicolas Huillard). - Increased MAXOSDHEIGHT to 1200 (suggested by Nicolas Huillard).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: device.c 2.21 2009/06/01 15:07:03 kls Exp $ * $Id: device.c 2.22 2009/06/06 11:17:05 kls Exp $
*/ */
#include "device.h" #include "device.h"
@ -384,18 +384,18 @@ eVideoSystem cDevice::GetVideoSystem(void)
return vsPAL; return vsPAL;
} }
void cDevice::GetVideoSize(int &Width, int &Height, double &Aspect) void cDevice::GetVideoSize(int &Width, int &Height, double &VideoAspect)
{ {
Width = 0; Width = 0;
Height = 0; Height = 0;
Aspect = 1.0; VideoAspect = 1.0;
} }
void cDevice::GetOsdSize(int &Width, int &Height, double &Aspect) void cDevice::GetOsdSize(int &Width, int &Height, double &PixelAspect)
{ {
Width = 720; Width = 720;
Height = 480; Height = 480;
Aspect = 1.0; PixelAspect = 1.0;
} }
//#define PRINTPIDS(s) { char b[500]; char *q = b; q += sprintf(q, "%d %s ", CardIndex(), s); for (int i = 0; i < MAXPIDHANDLES; i++) q += sprintf(q, " %s%4d %d", i == ptOther ? "* " : "", pidHandles[i].pid, pidHandles[i].used); dsyslog(b); } //#define PRINTPIDS(s) { char b[500]; char *q = b; q += sprintf(q, "%d %s ", CardIndex(), s); for (int i = 0; i < MAXPIDHANDLES; i++) q += sprintf(q, " %s%4d %d", i == ptOther ? "* " : "", pidHandles[i].pid, pidHandles[i].used); dsyslog(b); }

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: device.h 2.14 2009/06/01 15:07:10 kls Exp $ * $Id: device.h 2.15 2009/06/06 11:15:49 kls Exp $
*/ */
#ifndef __DEVICE_H #ifndef __DEVICE_H
@ -377,23 +377,25 @@ public:
virtual eVideoSystem GetVideoSystem(void); virtual eVideoSystem GetVideoSystem(void);
///< Returns the video system of the currently displayed material ///< Returns the video system of the currently displayed material
///< (default is PAL). ///< (default is PAL).
virtual void GetVideoSize(int &Width, int &Height, double &Aspect); virtual void GetVideoSize(int &Width, int &Height, double &VideoAspect);
///< Returns the With, Height and Aspect ratio of the currently ///< Returns the With, Height and VideoAspect ratio of the currently
///< displayed material. The data returned by this function is ///< displayed video material. The data returned by this function is
///< only used for informational purposes (if any). Width and ///< only used for informational purposes (if any). Width and
///< Height are given in pixel (e.g. 720x576) and Aspect is ///< Height are given in pixel (e.g. 720x576) and VideoAspect is
///< e.g. 1.3333x33 for a 4:3 broadcast, or 1.77778 for 16:9. ///< e.g. 1.33333 for a 4:3 broadcast, or 1.77778 for 16:9.
///< The default implementation returns 0 for Width and Height ///< The default implementation returns 0 for Width and Height
///< and 1.0 for Aspect. ///< and 1.0 for VideoAspect.
virtual void GetOsdSize(int &Width, int &Height, double &Aspect); virtual void GetOsdSize(int &Width, int &Height, double &PixelAspect);
///< Returns the With, Height and Aspect ratio the OSD should use ///< Returns the With, Height and PixelAspect ratio the OSD should use
///< to best fit the resolution of the output device. If Aspect ///< to best fit the resolution of the output device. If PixelAspect
///< is not 1.0, the OSD may take this as a hint to stretch its ///< is not 1.0, the OSD may take this as a hint to scale its
///< graphics in a way that, e.g., a circle will actually ///< graphics in a way that, e.g., a circle will actually
///< show up as a circle on the screen, and not as an ellipse. ///< show up as a circle on the screen, and not as an ellipse.
///< Values greater than 1.0 will stretch the graphics in the ///< Values greater than 1.0 mean to stretch the graphics in the
///< vertical direction. Note that the OSD is not guaranteed to ///< vertical direction (or shrink it in the horizontal direction,
///< actually use this hint. ///< depending on which dimension shall be fixed). Values less than
///< 1.0 work the other way round. Note that the OSD is not guaranteed
///< to actually use this hint.
// Track facilities // Track facilities

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: dvbdevice.c 2.20 2009/06/01 14:44:54 kls Exp $ * $Id: dvbdevice.c 2.21 2009/06/06 11:17:20 kls Exp $
*/ */
#include "dvbdevice.h" #include "dvbdevice.h"
@ -748,7 +748,7 @@ eVideoSystem cDvbDevice::GetVideoSystem(void)
return VideoSystem; return VideoSystem;
} }
void cDvbDevice::GetVideoSize(int &Width, int &Height, double &Aspect) void cDvbDevice::GetVideoSize(int &Width, int &Height, double &VideoAspect)
{ {
if (fd_video >= 0) { if (fd_video >= 0) {
video_size_t vs; video_size_t vs;
@ -757,19 +757,19 @@ void cDvbDevice::GetVideoSize(int &Width, int &Height, double &Aspect)
Height = vs.h; Height = vs.h;
switch (vs.aspect_ratio) { switch (vs.aspect_ratio) {
default: default:
case VIDEO_FORMAT_4_3: Aspect = 4.0 / 3.0; break; case VIDEO_FORMAT_4_3: VideoAspect = 4.0 / 3.0; break;
case VIDEO_FORMAT_16_9: Aspect = 16.0 / 9.0; break; case VIDEO_FORMAT_16_9: VideoAspect = 16.0 / 9.0; break;
case VIDEO_FORMAT_221_1: Aspect = 2.21; break; case VIDEO_FORMAT_221_1: VideoAspect = 2.21; break;
} }
return; return;
} }
else else
LOG_ERROR; LOG_ERROR;
} }
cDevice::GetVideoSize(Width, Height, Aspect); cDevice::GetVideoSize(Width, Height, VideoAspect);
} }
void cDvbDevice::GetOsdSize(int &Width, int &Height, double &Aspect) void cDvbDevice::GetOsdSize(int &Width, int &Height, double &PixelAspect)
{ {
if (fd_video >= 0) { if (fd_video >= 0) {
video_size_t vs; video_size_t vs;
@ -781,17 +781,17 @@ void cDvbDevice::GetOsdSize(int &Width, int &Height, double &Aspect)
Height = 480; // NTSC Height = 480; // NTSC
switch (Setup.VideoFormat ? vs.aspect_ratio : VIDEO_FORMAT_4_3) { switch (Setup.VideoFormat ? vs.aspect_ratio : VIDEO_FORMAT_4_3) {
default: default:
case VIDEO_FORMAT_4_3: Aspect = 4.0 / 3.0; break; case VIDEO_FORMAT_4_3: PixelAspect = 4.0 / 3.0; break;
case VIDEO_FORMAT_221_1: // FF DVB cards only distinguish between 4:3 and 16:9 case VIDEO_FORMAT_221_1: // FF DVB cards only distinguish between 4:3 and 16:9
case VIDEO_FORMAT_16_9: Aspect = 16.0 / 9.0; break; case VIDEO_FORMAT_16_9: PixelAspect = 16.0 / 9.0; break;
} }
Aspect /= double(Width) / Height; PixelAspect /= double(Width) / Height;
return; return;
} }
else else
LOG_ERROR; LOG_ERROR;
} }
cDevice::GetOsdSize(Width, Height, Aspect); cDevice::GetOsdSize(Width, Height, PixelAspect);
} }
bool cDvbDevice::SetAudioBypass(bool On) bool cDvbDevice::SetAudioBypass(bool On)

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: dvbdevice.h 2.7 2009/06/01 14:09:05 kls Exp $ * $Id: dvbdevice.h 2.8 2009/06/06 11:16:47 kls Exp $
*/ */
#ifndef __DVBDEVICE_H #ifndef __DVBDEVICE_H
@ -108,8 +108,8 @@ public:
virtual void SetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat); virtual void SetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat);
virtual void SetVideoFormat(bool VideoFormat16_9); virtual void SetVideoFormat(bool VideoFormat16_9);
virtual eVideoSystem GetVideoSystem(void); virtual eVideoSystem GetVideoSystem(void);
virtual void GetVideoSize(int &Width, int &Height, double &Aspect); virtual void GetVideoSize(int &Width, int &Height, double &VideoAspect);
virtual void GetOsdSize(int &Width, int &Height, double &Aspect); virtual void GetOsdSize(int &Width, int &Height, double &PixelAspect);
// Track facilities // Track facilities