Klaus Schmidinger 5a28d99936 Version 1.7.22
Original announce message:
VDR developer version 1.7.22 is now available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.22.tar.bz2

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.21-1.7.22.diff

MD5 checksums:

b9c0fe1aac8e653c0d0234bc72c2bb2c  vdr-1.7.22.tar.bz2
868bb332342c9a78beda17cc85e0bb93  vdr-1.7.21-1.7.22.diff

WARNING:
========

This is a developer version. Even though I use it in my productive
environment. I strongly recommend that you only use it under controlled
conditions and for testing and debugging.

From the HISTORY file:
- Fixed scaling subtitles in case the primary device's GetVideoSize() function doesn't
  return actual values (thanks to Luca Olivetti).
- The DiSEqC codes are now copied in the call to cDiseqc::Execute().
- VDR now supports "Satellite Channel Routing" (SCR) according to EN50494 (based on
  the "unicable" patch from Lars Hanisch).
  Since "Unicable" is a registered trademark and stands for only one of many
  implementations of SCR, the following changes have been made compared to the patch,
  which need to be taken into account by people who have set up their system using
  the patch:
  - The 'U' parameter in the diseqc.conf file has been changed to 'S' ("Scr").
  - The configuration file name has been changed from "unicable.conf" to "scr.conf".
- Updated sources.conf (thanks to Arthur Konovalov).
- The SVDRP command LSTC now also accepts channel IDs (thanks to Dominic Evans).
- Fixed handling DVB subtitles and implemented decoding textual DVB subtitles (thanks
  to Rolf Ahrenberg).
- Added cap_net_raw to the capabilities that are not dropped (thanks to Dominic Evans).
- Fixed setting the start time of an edited recording (thanks to Christoph Haubrich).
- Temporarily switching free devices to transponders in order to have their running
  status updated is now done by marking the devices as "occupied" for a certain
  amount of time.
- The new setup options "LNB/Device n connected to sat cable" can be used to define
  which DVB-S devices are connected to the same sat cable and are therefore "bonded".
  This obsoletes the LNBSHARE patch. Users of the LNBSHARE patch will need to newly
  set up their sat devices with the above options.
- Fixed a crash when deleting a recording while cutting it (thanks to Ville Skyttä).
- Fixed several spelling errors (thanks to Ville Skyttä).
- The new SVDRP command UPDR can be used to trigger an update of the list of
  recordings (thanks to Lars Hanisch).
- Added generating a pkg-config file to the Makefile (thanks to Ville Skyttä).
- Removed the '.pl' suffix from all scripts (thanks to Ville Skyttä).
- Changed the default location for the LIRC socket to /var/run/lirc/lircd (thanks
  to Ville Skyttä).
- Added file name and line number to LOG_ERROR_STR() (thanks to Rolf Ahrenberg).
- Replaced all calls to sleep() with cCondWait::SleepMs() (thanks to Rolf Ahrenberg).
- Fixed a crash with malformed SI data (patch from vdr-portal).
2011-12-05 20:36:02 +01:00

162 lines
5.5 KiB
C

/**********************************************************************
*
* HDFF firmware command interface library
*
* Copyright (C) 2011 Andreas Regel
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*********************************************************************/
#ifndef HDFFCMD_OSD_H
#define HDFFCMD_OSD_H
#define HDFF_INVALID_HANDLE 0xFFFFFFFF
#define HDFF_SCREEN_DISPLAY_HANDLE 0xFFFFFFFE
#define HDFF_POSITION_SCREEN_CENTERED 0xFFFF
#define HDFF_SIZE_FULL_SCREEN 0xFFFF
#define HDFF_SIZE_SAME_AS_SOURCE 0xFFFE
#define HDFF_FONT_FACE_TIRESIAS 0x00000000
typedef struct HdffOsdConfig_t
{
int FontAntialiasing;
int FontKerning;
} HdffOsdConfig_t;
typedef enum HdffColorType_t
{
HDFF_COLOR_TYPE_CLUT1,
HDFF_COLOR_TYPE_CLUT2,
HDFF_COLOR_TYPE_CLUT4,
HDFF_COLOR_TYPE_CLUT8,
HDFF_COLOR_TYPE_ARGB8888,
HDFF_COLOR_TYPE_ARGB8565,
HDFF_COLOR_TYPE_ARGB4444,
HDFF_COLOR_TYPE_ARGB1555,
HDFF_COLOR_TYPE_RGB888,
HDFF_COLOR_TYPE_RGB565
} HdffColorType_t;
typedef enum HdffColorFormat_t
{
HDFF_COLOR_FORMAT_ARGB,
HDFF_COLOR_FORMAT_ACBYCR
} HdffColorFormat_t;
typedef enum HdffDrawingFlags_t
{
HDFF_DRAW_FULL,
HDFF_DRAW_HALF_TOP,
HDFF_DRAW_HALF_LEFT,
HDFF_DRAW_HALF_BOTTOM,
HDFF_DRAW_HALF_RIGHT,
HDFF_DRAW_QUARTER_TOP_LEFT,
HDFF_DRAW_QUARTER_TOP_RIGHT,
HDFF_DRAW_QUARTER_BOTTOM_LEFT,
HDFF_DRAW_QUARTER_BOTTOM_RIGHT,
HDFF_DRAW_QUARTER_TOP_LEFT_INVERTED,
HDFF_DRAW_QUARTER_TOP_RIGHT_INVERTED,
HDFF_DRAW_QUARTER_BOTTOM_LEFT_INVERTED,
HDFF_DRAW_QUARTER_BOTTOM_RIGHT_INVERTED
} HdffDrawingFlags_t;
int HdffCmdOsdConfigure(int OsdDevice, const HdffOsdConfig_t * Config);
int HdffCmdOsdReset(int OsdDevice);
int HdffCmdOsdCreateDisplay(int OsdDevice, uint16_t Width, uint16_t Height,
HdffColorType_t ColorType, uint32_t * NewDisplay);
int HdffCmdOsdDeleteDisplay(int OsdDevice, uint32_t Display);
int HdffCmdOsdEnableDisplay(int OsdDevice, uint32_t Display, int Enable);
int HdffCmdOsdSetDisplayOutputRectangle(int OsdDevice, uint32_t Display,
uint16_t X, uint16_t Y,
uint16_t Width, uint16_t Height);
int HdffCmdOsdSetDisplayClippingArea(int OsdDevice, uint32_t Display,
int Enable, uint16_t X, uint16_t Y,
uint16_t Width, uint16_t Height);
int HdffCmdOsdRenderDisplay(int OsdDevice, uint32_t Display);
int HdffCmdOsdSaveRegion(int OsdDevice, uint32_t Display,
uint16_t X, uint16_t Y,
uint16_t Width, uint16_t Height);
int HdffCmdOsdRestoreRegion(int OsdDevice, uint32_t Display);
int HdffCmdOsdCreatePalette(int OsdDevice, HdffColorType_t ColorType,
HdffColorFormat_t ColorFormat,
uint32_t NumColors, const uint32_t * Colors,
uint32_t * NewPalette);
int HdffCmdOsdDeletePalette(int OsdDevice, uint32_t Palette);
int HdffCmdOsdSetDisplayPalette(int OsdDevice, uint32_t Display,
uint32_t Palette);
int HdffCmdOsdSetPaletteColors(int OsdDevice, uint32_t Palette,
HdffColorFormat_t ColorFormat,
uint8_t StartColor, uint32_t NumColors,
const uint32_t * Colors);
int HdffCmdOsdCreateFontFace(int OsdDevice, const uint8_t * FontData,
uint32_t DataSize, uint32_t * NewFontFace);
int HdffCmdOsdDeleteFontFace(int OsdDevice, uint32_t FontFace);
int HdffCmdOsdCreateFont(int OsdDevice, uint32_t FontFace, uint32_t Size,
uint32_t * NewFont);
int HdffCmdOsdDeleteFont(int OsdDevice, uint32_t Font);
int HdffCmdOsdDrawRectangle(int OsdDevice, uint32_t Display, uint16_t X,
uint16_t Y, uint16_t Width, uint16_t Height,
uint32_t Color);
int HdffCmdOsdDrawEllipse(int OsdDevice, uint32_t Display, uint16_t CX,
uint16_t CY, uint16_t RadiusX, uint16_t RadiusY,
uint32_t Color, uint32_t Flags);
int HdffCmdOsdDrawText(int OsdDevice, uint32_t Display, uint32_t Font,
uint16_t X, uint16_t Y, const char * Text,
uint32_t Color);
int HdffCmdOsdDrawWideText(int OsdDevice, uint32_t Display, uint32_t Font,
uint16_t X, uint16_t Y, const uint16_t * Text,
uint32_t Color);
int HdffCmdOsdDrawBitmap(int OsdDevice, uint32_t Display, uint16_t X,
uint16_t Y, const uint8_t * Bitmap, uint16_t BmpWidth,
uint16_t BmpHeight, uint32_t BmpSize,
HdffColorType_t ColorType, uint32_t Palette);
#endif /* HDFFCMD_OSD_H */