Hi,
I am sending some more patches:
1) LUT8 fix -> lut8 palette entries (which are in RGB) were erroneously
converted from YUV to RGB in the software renderer.
2) dfbscreen test app enhancement
3) dfblayer test app enhancement - allows to set layer's screen location
& size
4) add DSPF_VYU and DSPF_AVYU to dfbinspector test app
5) add DSOC_656 to DFBScreenOutputConnectors (DirectFB already has 656
as signal type)
6) since the non public CORE_TI_CMEM type exists - can we have a
CORE_STMFBDEV system, too. I will send the system's implementation to
the list (for inclusion) if considered useful (I doubt it is, given that
it targets our driver, which is free though...), but in any case having
the system identifier reserved would be useful :-)
Basically, I found it dissatisfying that the devmem system requires
users to specify physical addresses as directfb options for graphics
memory and mmio... but I still wanted its flexibility.
It's in essence an fbdev system without any screen and layers.
Cheers,
Andre'
From d795624fd17f410777148cae04a8150b17b6c578 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Andr=C3=A9=20Draszik?= <andre.dras...@st.com>
Date: Fri, 29 Jan 2010 11:34:03 +0000
Subject: [PATCH 2/8] generic: LUT8 is not a YUV format
---
src/gfx/generic/generic.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/gfx/generic/generic.c b/src/gfx/generic/generic.c
index bf93185..59bbfe2 100644
--- a/src/gfx/generic/generic.c
+++ b/src/gfx/generic/generic.c
@@ -355,7 +355,7 @@ static bool is_ycbcr[DFB_NUM_PIXELFORMATS] = {
true, /* DSPF_UYVY */
true, /* DSPF_I420 */
true, /* DSPF_YV12 */
- true, /* DSPF_LUT8 */
+ false, /* DSPF_LUT8 */
false, /* DSPF_ALUT44 */
false, /* DSPF_AiRGB */
false, /* DSPF_A1 */
--
1.6.3.3
From d7bf7751148d0c3801dec17b8b30ac85ab914993 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Andr=C3=A9=20Draszik?= <andre.dras...@st.com>
Date: Thu, 7 May 2009 03:45:18 +0100
Subject: [PATCH 1/8] dfbscreen: little fixes
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
print background alpha, too
fix printing of scan mode name
Signed-off-by: André Draszik <andre.dras...@st.com>
---
include/Makefile.am | 3 +++
tools/dfbscreen.c | 6 +++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/include/Makefile.am b/include/Makefile.am
index 2f0f4ff..66b58af 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -112,6 +112,9 @@ directfb_strings.h: directfb.h $(MKNAMES) Makefile
$(MKNAMES) DFBScreenEncoderScanMode DSESM UNKNOWN ScreenEncoderScanMode
scan_mode $(INCP)/directfb.h \
| grep -v DSESM_ALL >> $@
+ $(MKNAMES) DFBScreenEncoderConfigFlags DSECONF UNKNOWN
ScreenEncoderConfigFlags config_flags $(INCP)/directfb.h \
+ | grep -v DSECONF_ALL >> $@
+
$(MKNAMES) DFBScreenEncoderFrequency DSEF UNKNOWN
ScreenEncoderFrequency frequency $(INCP)/directfb.h \
| grep -v DSEF_ALL >> $@
diff --git a/tools/dfbscreen.c b/tools/dfbscreen.c
index 1957aee..c593a35 100644
--- a/tools/dfbscreen.c
+++ b/tools/dfbscreen.c
@@ -593,8 +593,8 @@ dump_mixer_config( const DFBScreenMixerConfig *config )
}
if (config->flags & DSMCONF_BACKGROUND)
- printf( "Background: 0x%02x, 0x%02x, 0x%02x (RGB)\n",
- config->background.r, config->background.g,
config->background.b );
+ printf( "Background: 0x%02x, 0x%02x, 0x%02x, 0x%02x (ARGB)\n",
+ config->background.a, config->background.r,
config->background.g, config->background.b );
printf( "\n" );
}
@@ -628,7 +628,7 @@ resolution_name( DFBScreenOutputResolution resolution )
}
static const char *
-scan_mode_name( DFBScreenEncoderTestPicture scan_mode )
+scan_mode_name( DFBScreenEncoderScanMode scan_mode )
{
int i;
--
1.6.3.3
From 06006e2d4d9145f493bc4953ac5f6f81f40877b6 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Andr=C3=A9=20Draszik?= <andre.dras...@st.com>
Date: Fri, 29 Jan 2010 17:32:59 +0000
Subject: [PATCH 7/8] dfblayer: allow to set layer position and size using
command line
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Signed-off-by: André Draszik <andre.dras...@st.com>
---
tools/dfblayer.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/tools/dfblayer.c b/tools/dfblayer.c
index 6519be1..f81caed 100644
--- a/tools/dfblayer.c
+++ b/tools/dfblayer.c
@@ -55,6 +55,9 @@ static DFBDisplayLayerDescription desc;
static DFBDisplayLayerID id = DLID_PRIMARY;
static int width = 0;
static int height = 0;
+static DFBBoolean set_dest_coord = DFB_FALSE;
+static DFBBoolean set_dest_dim = DFB_FALSE;
+static DFBRectangle dest;
static DFBSurfacePixelFormat format = DSPF_UNKNOWN;
static DFBDisplayLayerBufferMode buffermode = -1;
static int opacity = -1;
@@ -173,6 +176,8 @@ print_usage (const char *prg_name)
fprintf (stderr, "Options:\n");
fprintf (stderr, " -l, --layer <id> Use the
specified layer, default is primary\n");
fprintf (stderr, " -m, --mode <width>x<height> Change the
resolution (pixels)\n");
+ fprintf (stderr, " -d, --dest <width>x<height> Change the
destination resolution (pixels)\n");
+ fprintf (stderr, " -c, --coord <x>x<y> Change the
destination coordinates (pixels)\n");
fprintf (stderr, " -f, --format <pixelformat> Change the
pixel format\n");
fprintf (stderr, " -b, --buffer <buffermode> Change the
buffer mode (single/video/system)\n");
fprintf (stderr, " -o, --opacity <opacity> Change the
layer's opacity (0-255)\n");
@@ -240,10 +245,12 @@ parse_layer( const char *arg )
}
static DFBBoolean
-parse_mode( const char *arg )
+parse_mode( const char *arg,
+ int *width_,
+ int *height_ )
{
- if (sscanf( arg, "%dx%d", &width, &height ) != 2 ||
- width < 1 || height < 1)
+ if (sscanf( arg, "%dx%d", width_, height_ ) != 2 ||
+ *width_ < 0 || *height_ < 0)
{
fprintf (stderr, "\nInvalid mode specified!\n\n" );
return DFB_FALSE;
@@ -368,12 +375,40 @@ parse_command_line( int argc, char *argv[] )
return DFB_FALSE;
}
- if (!parse_mode( argv[n] ))
+ if (!parse_mode( argv[n], &width, &height ))
return DFB_FALSE;
continue;
}
+ if (strcmp (arg, "-d") == 0 || strcmp (arg, "--dest") == 0) {
+ if (++n == argc) {
+ print_usage (argv[0]);
+ return DFB_FALSE;
+ }
+
+ if (!parse_mode( argv[n], &dest.w, &dest.h ))
+ return DFB_FALSE;
+
+ set_dest_dim = DFB_TRUE;
+
+ continue;
+ }
+
+ if (strcmp (arg, "-c") == 0 || strcmp (arg, "--coord") == 0) {
+ if (++n == argc) {
+ print_usage (argv[0]);
+ return DFB_FALSE;
+ }
+
+ if (!parse_mode( argv[n], &dest.x, &dest.y ))
+ return DFB_FALSE;
+
+ set_dest_coord = DFB_TRUE;
+
+ continue;
+ }
+
if (strcmp (arg, "-f") == 0 || strcmp (arg, "--format") == 0) {
if (++n == argc) {
print_usage (argv[0]);
@@ -541,6 +576,22 @@ set_configuration( void )
DirectFBError( "IDirectFBDisplayLayer::SetRotation() failed",
ret );
}
+ if (set_dest_dim) {
+ ret = layer->SetScreenRectangle( layer,
+ dest.x, dest.y, dest.w, dest.h );
+ if (ret == DFB_UNSUPPORTED)
+ fprintf( stderr, "ScreenRectangle not supported!\n\n" );
+ else if (ret)
+ DirectFBError( "IDirectFBDisplayLayer::SetScreenRectangle()
failed", ret );
+ }
+ else if (set_dest_coord) {
+ ret = layer->SetScreenPosition( layer, dest.x, dest.y );
+ if (ret == DFB_UNSUPPORTED)
+ fprintf( stderr, "ScreenPosition not supported!\n\n" );
+ else if (ret)
+ DirectFBError( "IDirectFBDisplayLayer::SetScreenPosition()
failed", ret );
+ }
+
if (config.flags & DLCONF_WIDTH)
printf( "Width %d\n", config.width );
--
1.6.3.3
From 801689c1648018d7299518f7536cb0a4b3e188f3 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Andr=C3=A9=20Draszik?= <andre.dras...@st.com>
Date: Fri, 29 Jan 2010 17:33:30 +0000
Subject: [PATCH 8/8] dfbinspector: add DSPF_AVYU and DSPF_VYU pixelformats
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Signed-off-by: André Draszik <andre.dras...@st.com>
---
tools/dfbinspector.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/tools/dfbinspector.c b/tools/dfbinspector.c
index 489d854..ebcc879 100644
--- a/tools/dfbinspector.c
+++ b/tools/dfbinspector.c
@@ -106,6 +106,8 @@ Inspector_Run( Inspector *inspector )
DSPF_NV16,
DSPF_AYUV,
DSPF_YUV444P,
+ DSPF_AVYU,
+ DSPF_VYU,
};
int i, j, n;
--
1.6.3.3
From 0ace24385c69a63311848a6ae9ab2a9f6d319add Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Andr=C3=A9=20Draszik?= <andre.dras...@st.com>
Date: Fri, 29 Jan 2010 16:31:39 +0000
Subject: [PATCH 5/8] directfb.h: add a DVO 656 'connector'
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Signed-off-by: André Draszik <andre.dras...@st.com>
---
include/directfb.h | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/include/directfb.h b/include/directfb.h
index a4edf43..8dfdcbd 100644
--- a/include/directfb.h
+++ b/include/directfb.h
@@ -2218,7 +2218,8 @@ typedef enum {
DSOC_CVBS = 0x00000008, /* CVBS connector */
DSOC_SCART2 = 0x00000010, /* 2nd SCART connector */
DSOC_COMPONENT = 0x00000020, /* Component video connector */
- DSOC_HDMI = 0x00000040 /* HDMI connector */
+ DSOC_HDMI = 0x00000040, /* HDMI connector */
+ DSOC_656 = 0x00000080, /* DVO connector */
} DFBScreenOutputConnectors;
/*
--
1.6.3.3
From ed33d9184d2fe25d44ec1c1d036e52c65dfbbfd2 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Andr=C3=A9=20Draszik?= <andre.dras...@st.com>
Date: Fri, 29 Jan 2010 16:33:13 +0000
Subject: [PATCH 6/8] systems: add CORE_STMFBDEV system
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Signed-off-by: André Draszik <andre.dras...@st.com>
---
src/core/system.h | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/core/system.h b/src/core/system.h
index 8ecc564..6b8c217 100644
--- a/src/core/system.h
+++ b/src/core/system.h
@@ -45,7 +45,8 @@ typedef enum {
CORE_SDL,
CORE_VNC,
CORE_DEVMEM,
- CORE_TI_CMEM
+ CORE_TI_CMEM,
+ CORE_STMFBDEV,
} CoreSystemType;
typedef enum {
--
1.6.3.3
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev