mirror of
https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
synced 2023-10-10 19:16:51 +02:00
Release Version 0.4.0.
This commit is contained in:
parent
e32857a27a
commit
fa27a1c73a
@ -1,5 +1,5 @@
|
|||||||
User johns
|
User johns
|
||||||
Date:
|
Date: Sat Jan 21 15:49:16 CET 2012
|
||||||
|
|
||||||
Release Version 0.4.0
|
Release Version 0.4.0
|
||||||
VDPAU: Add grab image support.
|
VDPAU: Add grab image support.
|
||||||
|
14
Todo
14
Todo
@ -25,14 +25,15 @@ missing:
|
|||||||
ITU BT601, ITU BT709 (HD), RGB studio levels (16-235)?
|
ITU BT601, ITU BT709 (HD), RGB studio levels (16-235)?
|
||||||
suspend output / energie saver: stop audio, stop video, configurable
|
suspend output / energie saver: stop audio, stop video, configurable
|
||||||
Option deinterlace off / deinterlace force!
|
Option deinterlace off / deinterlace force!
|
||||||
Make output drivers better modular.
|
Make output drivers better modular (under construction).
|
||||||
|
|
||||||
video:
|
video:
|
||||||
subtitle not cleared
|
subtitle not cleared
|
||||||
subtitle could be asyncron
|
subtitle could be asyncron
|
||||||
|
reduce warnings after channel switch
|
||||||
|
|
||||||
vdpau:
|
vdpau:
|
||||||
VdpPreemptionCallback handling
|
VdpPreemptionCallback handling (under construction)
|
||||||
hard channel switch
|
hard channel switch
|
||||||
suspendoutput didn't show logo or black picture.
|
suspendoutput didn't show logo or black picture.
|
||||||
|
|
||||||
@ -41,10 +42,14 @@ libva:
|
|||||||
yaepghd (VaapiSetOutputPosition) support
|
yaepghd (VaapiSetOutputPosition) support
|
||||||
can associate ony displayed part of osd
|
can associate ony displayed part of osd
|
||||||
auto crop for va-api
|
auto crop for va-api
|
||||||
|
grab image for va-api
|
||||||
|
|
||||||
|
libva: branch vaapi-ext
|
||||||
|
add support for vaapi-ext
|
||||||
|
|
||||||
libva-intel-driver:
|
libva-intel-driver:
|
||||||
intel still has hangups most with 1080i
|
intel still has hangups most with 1080i
|
||||||
1080i does no v-sync (workaround written)
|
1080i does no v-sync (workaround written, fixed with vaapi-ext)
|
||||||
OSD has sometimes wrong size (workaround written)
|
OSD has sometimes wrong size (workaround written)
|
||||||
|
|
||||||
libva-vdpau-driver:
|
libva-vdpau-driver:
|
||||||
@ -91,7 +96,6 @@ setup:
|
|||||||
Setup 4:3 zoom type
|
Setup 4:3 zoom type
|
||||||
Some setup parameters are not used until restart.
|
Some setup parameters are not used until restart.
|
||||||
Can a notice be added to the setup menu?
|
Can a notice be added to the setup menu?
|
||||||
576i, 720p, fake 1080i, 1080i
|
|
||||||
|
|
||||||
unsorted:
|
unsorted:
|
||||||
Menu -> Setup -> Plugins -> skingenigmang -> General
|
Menu -> Setup -> Plugins -> skingenigmang -> General
|
||||||
@ -105,5 +109,7 @@ future features (not planed for 1.0 - 1.5)
|
|||||||
software decoder for xv / opengl
|
software decoder for xv / opengl
|
||||||
atmolight support
|
atmolight support
|
||||||
multistream handling
|
multistream handling
|
||||||
|
pip support
|
||||||
|
grab image with jpeg
|
||||||
|
|
||||||
upmix stereo to AC-3
|
upmix stereo to AC-3
|
||||||
|
11
softhddev.c
11
softhddev.c
@ -1140,8 +1140,12 @@ static void StartXServer(void)
|
|||||||
*/
|
*/
|
||||||
void SoftHdDeviceExit(void)
|
void SoftHdDeviceExit(void)
|
||||||
{
|
{
|
||||||
// lets hope that vdr does a good thead cleanup
|
// lets hope that vdr does a good thread cleanup
|
||||||
// no it doesn't do a good thread cleanup
|
|
||||||
|
VideoOsdExit();
|
||||||
|
VideoExit();
|
||||||
|
AudioExit();
|
||||||
|
|
||||||
if (MyVideoDecoder) {
|
if (MyVideoDecoder) {
|
||||||
CodecVideoClose(MyVideoDecoder);
|
CodecVideoClose(MyVideoDecoder);
|
||||||
// FIXME: CodecDelVideoDecoder(MyVideoDecoder);
|
// FIXME: CodecDelVideoDecoder(MyVideoDecoder);
|
||||||
@ -1153,9 +1157,6 @@ void SoftHdDeviceExit(void)
|
|||||||
MyAudioDecoder = NULL;
|
MyAudioDecoder = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
VideoOsdExit();
|
|
||||||
VideoExit();
|
|
||||||
AudioExit();
|
|
||||||
CodecExit();
|
CodecExit();
|
||||||
VideoPacketExit();
|
VideoPacketExit();
|
||||||
|
|
||||||
|
@ -148,12 +148,13 @@ class cSoftOsd:public cOsd
|
|||||||
cSoftOsd::cSoftOsd(int left, int top, uint level)
|
cSoftOsd::cSoftOsd(int left, int top, uint level)
|
||||||
:cOsd(left, top, level)
|
:cOsd(left, top, level)
|
||||||
{
|
{
|
||||||
// FIXME: OsdWidth/OsdHeight not correct!
|
/* FIXME: OsdWidth/OsdHeight not correct!
|
||||||
dsyslog("[softhddev]%s: %dx%d+%d+%d, %d\n", __FUNCTION__, OsdWidth(),
|
dsyslog("[softhddev]%s: %dx%d+%d+%d, %d\n", __FUNCTION__, OsdWidth(),
|
||||||
OsdHeight(), left, top, level);
|
OsdHeight(), left, top, level);
|
||||||
|
*/
|
||||||
|
|
||||||
this->Level = level;
|
this->Level = level;
|
||||||
//SetActive(true);
|
SetActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
cSoftOsd::~cSoftOsd(void)
|
cSoftOsd::~cSoftOsd(void)
|
||||||
@ -847,7 +848,7 @@ uchar *cSoftHdDevice::GrabImage(int &size, bool jpeg, int quality, int width,
|
|||||||
dsyslog("[softhddev]%s: %d, %d, %d, %dx%d\n", __FUNCTION__, size, jpeg,
|
dsyslog("[softhddev]%s: %d, %d, %d, %dx%d\n", __FUNCTION__, size, jpeg,
|
||||||
quality, width, height);
|
quality, width, height);
|
||||||
|
|
||||||
return ::GrabImage(&size, jpeg, quality, width, height);
|
return::GrabImage(&size, jpeg, quality, width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
10
video.c
10
video.c
@ -991,7 +991,7 @@ static void AutoCropDetect(AutoCropCtx * autocrop, int width, int height,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (y1 > SKIP_Y || x1 > SKIP_X) {
|
if (0 && (y1 > SKIP_Y || x1 > SKIP_X)) {
|
||||||
Debug(3, "video/autocrop: top=%d bottom=%d left=%d right=%d\n", y1, y2,
|
Debug(3, "video/autocrop: top=%d bottom=%d left=%d right=%d\n", y1, y2,
|
||||||
x1, x2);
|
x1, x2);
|
||||||
}
|
}
|
||||||
@ -6981,12 +6981,12 @@ static void VideoEvent(void)
|
|||||||
|
|
||||||
case MapNotify:
|
case MapNotify:
|
||||||
Debug(3, "video/event: MapNotify\n");
|
Debug(3, "video/event: MapNotify\n");
|
||||||
// µwn workaround
|
// µwm workaround
|
||||||
xcb_change_window_attributes(Connection, VideoWindow,
|
xcb_change_window_attributes(Connection, VideoWindow,
|
||||||
XCB_CW_CURSOR, &VideoBlankCursor);
|
XCB_CW_CURSOR, &VideoBlankCursor);
|
||||||
break;
|
break;
|
||||||
case Expose:
|
case Expose:
|
||||||
Debug(3, "video/event: Expose\n");
|
//Debug(3, "video/event: Expose\n");
|
||||||
break;
|
break;
|
||||||
case ReparentNotify:
|
case ReparentNotify:
|
||||||
Debug(3, "video/event: ReparentNotify\n");
|
Debug(3, "video/event: ReparentNotify\n");
|
||||||
@ -7330,7 +7330,7 @@ static void VideoSetPts(int64_t * pts_p, int interlaced, const AVFrame * frame)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (*pts_p != pts) {
|
if (*pts_p != pts) {
|
||||||
Debug(3,
|
Debug(4,
|
||||||
"video: %#012" PRIx64 "->%#012" PRIx64 " %4" PRId64 " pts\n",
|
"video: %#012" PRIx64 "->%#012" PRIx64 " %4" PRId64 " pts\n",
|
||||||
*pts_p, pts, pts - *pts_p);
|
*pts_p, pts, pts - *pts_p);
|
||||||
*pts_p = pts;
|
*pts_p = pts;
|
||||||
@ -7708,7 +7708,7 @@ void VideoSetVideoMode( __attribute__ ((unused))
|
|||||||
int x, __attribute__ ((unused))
|
int x, __attribute__ ((unused))
|
||||||
int y, int width, int height)
|
int y, int width, int height)
|
||||||
{
|
{
|
||||||
Debug(3, "video: %s %dx%d%+d%+d\n", __FUNCTION__, width, height, x, y);
|
Debug(4, "video: %s %dx%d%+d%+d\n", __FUNCTION__, width, height, x, y);
|
||||||
|
|
||||||
if ((unsigned)width == VideoWindowWidth
|
if ((unsigned)width == VideoWindowWidth
|
||||||
&& (unsigned)height == VideoWindowHeight) {
|
&& (unsigned)height == VideoWindowHeight) {
|
||||||
|
Loading…
Reference in New Issue
Block a user