summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--Todo14
-rw-r--r--softhddev.c11
-rw-r--r--softhddevice.cpp11
-rw-r--r--video.c10
5 files changed, 28 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog
index dab8a51..ce22b71 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,5 @@
User johns
-Date:
+Date: Sat Jan 21 15:49:16 CET 2012
Release Version 0.4.0
VDPAU: Add grab image support.
diff --git a/Todo b/Todo
index 6ba8992..80bd9a0 100644
--- a/Todo
+++ b/Todo
@@ -25,14 +25,15 @@ missing:
ITU BT601, ITU BT709 (HD), RGB studio levels (16-235)?
suspend output / energie saver: stop audio, stop video, configurable
Option deinterlace off / deinterlace force!
- Make output drivers better modular.
+ Make output drivers better modular (under construction).
video:
subtitle not cleared
subtitle could be asyncron
+ reduce warnings after channel switch
vdpau:
- VdpPreemptionCallback handling
+ VdpPreemptionCallback handling (under construction)
hard channel switch
suspendoutput didn't show logo or black picture.
@@ -41,10 +42,14 @@ libva:
yaepghd (VaapiSetOutputPosition) support
can associate ony displayed part of osd
auto crop for va-api
+ grab image for va-api
+
+libva: branch vaapi-ext
+ add support for vaapi-ext
libva-intel-driver:
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)
libva-vdpau-driver:
@@ -91,7 +96,6 @@ setup:
Setup 4:3 zoom type
Some setup parameters are not used until restart.
Can a notice be added to the setup menu?
- 576i, 720p, fake 1080i, 1080i
unsorted:
Menu -> Setup -> Plugins -> skingenigmang -> General
@@ -105,5 +109,7 @@ future features (not planed for 1.0 - 1.5)
software decoder for xv / opengl
atmolight support
multistream handling
+ pip support
+ grab image with jpeg
upmix stereo to AC-3
diff --git a/softhddev.c b/softhddev.c
index 4ddf06c..af0bd8c 100644
--- a/softhddev.c
+++ b/softhddev.c
@@ -1140,8 +1140,12 @@ static void StartXServer(void)
*/
void SoftHdDeviceExit(void)
{
- // lets hope that vdr does a good thead cleanup
- // no it doesn't do a good thread cleanup
+ // lets hope that vdr does a good thread cleanup
+
+ VideoOsdExit();
+ VideoExit();
+ AudioExit();
+
if (MyVideoDecoder) {
CodecVideoClose(MyVideoDecoder);
// FIXME: CodecDelVideoDecoder(MyVideoDecoder);
@@ -1153,9 +1157,6 @@ void SoftHdDeviceExit(void)
MyAudioDecoder = NULL;
}
- VideoOsdExit();
- VideoExit();
- AudioExit();
CodecExit();
VideoPacketExit();
diff --git a/softhddevice.cpp b/softhddevice.cpp
index cbfd242..f48f263 100644
--- a/softhddevice.cpp
+++ b/softhddevice.cpp
@@ -148,12 +148,13 @@ class cSoftOsd:public cOsd
cSoftOsd::cSoftOsd(int left, int top, uint level)
:cOsd(left, top, level)
{
- // FIXME: OsdWidth/OsdHeight not correct!
- dsyslog("[softhddev]%s: %dx%d+%d+%d, %d\n", __FUNCTION__, OsdWidth(),
- OsdHeight(), left, top, level);
+ /* FIXME: OsdWidth/OsdHeight not correct!
+ dsyslog("[softhddev]%s: %dx%d+%d+%d, %d\n", __FUNCTION__, OsdWidth(),
+ OsdHeight(), left, top, level);
+ */
this->Level = level;
- //SetActive(true);
+ SetActive(true);
}
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,
quality, width, height);
- return ::GrabImage(&size, jpeg, quality, width, height);
+ return::GrabImage(&size, jpeg, quality, width, height);
}
//////////////////////////////////////////////////////////////////////////////
diff --git a/video.c b/video.c
index 27bdb43..bb93a83 100644
--- a/video.c
+++ b/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,
x1, x2);
}
@@ -6981,12 +6981,12 @@ static void VideoEvent(void)
case MapNotify:
Debug(3, "video/event: MapNotify\n");
- // µwn workaround
+ // µwm workaround
xcb_change_window_attributes(Connection, VideoWindow,
XCB_CW_CURSOR, &VideoBlankCursor);
break;
case Expose:
- Debug(3, "video/event: Expose\n");
+ //Debug(3, "video/event: Expose\n");
break;
case ReparentNotify:
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) {
- Debug(3,
+ Debug(4,
"video: %#012" PRIx64 "->%#012" PRIx64 " %4" PRId64 " pts\n",
*pts_p, pts, pts - *pts_p);
*pts_p = pts;
@@ -7708,7 +7708,7 @@ void VideoSetVideoMode( __attribute__ ((unused))
int x, __attribute__ ((unused))
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
&& (unsigned)height == VideoWindowHeight) {