Release Version 0.4.0.

This commit is contained in:
Johns 2012-01-21 15:56:45 +01:00
parent e32857a27a
commit fa27a1c73a
5 changed files with 28 additions and 20 deletions

View File

@ -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
View File

@ -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

View File

@ -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();

View File

@ -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
View File

@ -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) {