Feed for discussion Advanced Graphics in project Graphics. http://community.qnx.com/sf/discussion/do/listTopics/projects.graphics/discussion.advanced_graphics Posts for Advanced Graphics post122392: Qnx7.1 Screen splash screen http://community.qnx.com/sf/go/post122392 Hi all, there is a quick way to load a splash screen in QNX7.1 ? Or is a demo source available using screen? Thanks, Mario mario sangalli 2023-10-16T07:52:31Z post121656: Build OpenCV c/c++ application in QNX SDP 7.1 http://community.qnx.com/sf/go/post121656 I am newly started working on QNX environment. I want to build a sample c/c++ QNX OpenCV application to run on “aarch64le”. I am using Jacinto 7 board in which QNX is running on a72 core and QNX SDP Version 7.1. Please help me to build sample opencv application to run on QNX. Yatheesha S(deleted) 2021-11-11T12:42:32Z post121655: Sample OpenCV application in QNX http://community.qnx.com/sf/go/post121655 Hi Team, I am newly started working on QNX environment. I want to build a sample c/c++ QNX OpenCV application to run on “aarch64le”. I am using Jacinto 7 board in which QNX is running on a72 core and QNX SDP Version 7.1. Please help me to build sample opencv application to run on QNX. Warm Regards, Yatheesha S ________________________________ DISCLAIMER: This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Opinions, conclusions and other information in this transmission that do not relate to the official business of QuEST Global and/or its subsidiaries, shall be understood as neither given nor endorsed by it. Any statements made herein that are tantamount to contractual obligations, promises, claims or commitments shall not be binding on the Company unless followed by written confirmation by an authorized signatory of the Company. ________________________________ Yatheesha S(deleted) 2021-11-11T12:40:59Z post121630: QNX VM guest with Vmware graphics drivers on QEMU http://community.qnx.com/sf/go/post121630 I am not sure if this is the right forum for this query. I am working on getting QNX neutrino 7.0 with vmware graphics working on QEMU. I did bit of reading and understood that QNX doesnt support this. Anyone here has any past experience with it. Any leads would be helpful. Thnx Anandu S(deleted) 2021-10-22T08:37:47Z post121574: Graphics driver for Intel Celeron Quad Core J1900 ? http://community.qnx.com/sf/go/post121574 Hi I've installed QNX 6.5 on Advantech UNO-2272G-J2AE with Intel Celeron Quad Core J1900 (Graphic Engine: Intel HD Graphic). What graphics driver should I use? I've tried devg-intelhd.so and devg-i830.so but they don't work. Only vesabios and svga are working. Best regards Waldi KOMSTER Ltd. 2021-08-31T09:29:23Z post121550: how to tell when screen mode change is applied http://community.qnx.com/sf/go/post121550 I am using the SCREEN_PROPERTY_MODE property (screen_get_display_property_pv) to set/change the graphics mode. These mode changes have an impact on graphics output and display synchronization, so it is important to know when the mode change has been fully applied. However, the method for doing this is not clear. Mode change time seems to vary drastically, taking 250ms one time and over 1.5 seconds the next. Mode change time can be seen from monitoring screen slog information as well as looking at the display. I read the mode properly after setting (which flushes the command), but it returns the new mode even though that mode is not yet applied. I tried an explicit flush command, but that had no impact. I also tried "wait_vsync", to no effect. david lavacek 2021-08-02T16:15:39Z post119804: libimg how to encode png to memory http://community.qnx.com/sf/go/post119804 Hi In my case, I want to encode a pixel buffer into a piece of memory in png format.I just write the code: BYTE* pbtBuffer = new BYTE[img.w * img.h]; s_writeBufferSize = img.w * img.h; io_stream_t* pOutStream = io_open( IO_MEM, IO_WRITE, img.w * img.h, pbtBuffer ); if ( !pOutStream ) { CLogApp::info( String::format( L"io_open error: %d", errno ) ); return FALSE; } pOutStream->output.write_f = ioMemoryWrite; But I cannot do io_open( IO_MEM...) with IO_WRITE. I search the history and find that qnx not support the write mode with io_mem. How can I do this. Can someone help me? Thanks!!!!!!!!!!!! Deng Daokuan(deleted) 2019-08-13T07:06:39Z post119693: QNX 7.0 screen configuration for Intel Skylake http://community.qnx.com/sf/go/post119693 Hello, I am using the generic Intel x86_64 BSP on a Dell computer with an Intel i3 Skylake processor with standard integrated graphics. Will Screen run on such a machine and is there a Screen configuration available that I can try? The BSP that I am using appears to provide a screen configuration for the Intel NUC only. Thanks, John John Efstathiades 2019-05-06T06:48:11Z post119447: Re: calib-touch difficult to work and not accurate http://community.qnx.com/sf/go/post119447 never mind, use legacy driver "devi" instead of "hid" solve the problem. Mike mike scott(deleted) 2019-01-24T11:01:46Z post119434: Re: calib-touch difficult to work and not accurate http://community.qnx.com/sf/go/post119434 another issue, after the first unsuccessful "accept"ed calibration, I tried to do recalibration with calib-touch -zorder=20 -config-file=/tmp/calib.localhost -recalibrate this time stuck at Figure 1 of http://www.qnx.com/developers/docs/6.6.0_anm11_wf10/#com.qnx.doc.neutrino.utilities/topic/c/calib-touch.html i.e., the target never moves no matter touch any place on the whole screen. It seems, the previous calibrated data were still in use, and blocked the recalibration. Please advise, thanks in advance. Mike mike scott(deleted) 2019-01-22T13:35:29Z post119431: calib-touch difficult to work and not accurate http://community.qnx.com/sf/go/post119431 Hi QNX, qnx sdp 6.6, qnx sdk for apps and media 1.1 release, BSP_ti-am335x-beaglebone_br-660_be-660_SVN797070_JBN574.zip beaglebonedemo.ext.anm11.258.150325_2017 touchscreen 800x480 I am working on touchscreen with beaglebone black on qnx 6.6. Touchscreen starts with calib-touch 3-point calibration. However it stuck at the last step as described in Figure 4, http://www.qnx.com/developers/docs/6.6.0_anm11_wf10/#com.qnx.doc.neutrino.utilities/topic/c/calib-touch.html exactly same situation as previous post, "calib-touch program doesn't accept or recognize that." http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/discussion.advanced_graphics.topc25633 After many times tries, calib-touch finally "accept" and save the data to calib.localhost. However, the calibration is not accurately at all. You have to estimate and try to figure out exact location, for example, in QT keyboard demo program from beaglebonedemo, push "2" maybe come out "8", very frustrating. Please advise, thanks in advance Mike mike scott(deleted) 2019-01-22T12:30:57Z post119307: How to show YUV image on RGB display panel through QNX 6.6 Screen? http://community.qnx.com/sf/go/post119307 Hi, I want to show YUV image on the RGB display panel through the APIs of Screen, but I can not work ok, could you please provide me some demos for it? The development environments are follow: 1. QNX6.6.0 2. i.MX6DL 3. Screen 4. dual lvds display pannel(1920*720) 5. NV12 images Best regards, Gary Li Chunmei(deleted) 2018-11-27T01:32:54Z post118575: Re: Gles2 app cannot find glesv2-sc-dlls http://community.qnx.com/sf/go/post118575 Alright, thank you. I'll ignore those error messages then. Benedikt Franz(deleted) 2018-02-14T09:23:19Z post118573: Re: Gles2 app cannot find glesv2-sc-dlls http://community.qnx.com/sf/go/post118573 It's an artifact of the Vivante porting layer and can be ignored (as long as there is no file named 'glesv2-sc-dlls' in LD_LIBRARY_PATH). Zygo Blaxell 2018-02-13T17:06:44Z post118564: Gles2 app cannot find glesv2-sc-dlls http://community.qnx.com/sf/go/post118564 Dear community, I have an i.MX6 quad based system running QNX6.6.0. While deploying Qt5, I noticed something a bit odd. When starting some of the example apps which came with the build, some of them would give me an error message (with LD_DEBUG=libs, the app does still start up despite the error): libs: load_object: attempt load of glesv2-sc-dlls.so libs: dlopen: Library cannot be found libs: dlopen("/usr/lib/graphics/iMX6X/libGLSLC.so",1536) Mode: LOCAL GROUP I've attached a full dump. Someone in a different post suggested it might be of no relevance but I would like to be sure. I've also attached our graphics.conf - maybe I configured the glesv2-sc-dlls section wrong - the libSLSLC.so does exist, and is located in /usr/lib/graphics/iMX6X, executable. I get the error message for gles2-gears (although as stated above, it runs fine) and also for a few Qt example apps which use gles2. Any thoughts on whether or not this error message is actually relevant? Benedikt Franz(deleted) 2018-02-13T08:10:58Z post118257: Re: RE: Img library - io_open(IO_MEM, IO_WRITE, ...) http://community.qnx.com/sf/go/post118257 Thank you for fast response. I would like to do it myself. In particular - how to properly initialize struct _io_bstream { io_stream_t stream; unsigned flags; _uint8 *buf; unsigned bufsiz, buf_pos, buf_nleft; unsigned pos, nleft; io_close_f *close_f; } in my version of "io_open_f()"? I have tried but it does not work properly (perhaps flags or sizes not set properly). Is there doc or example? Andrzej Polanski 2017-12-01T15:40:41Z post118256: RE: Img library - io_open(IO_MEM, IO_WRITE, ...) http://community.qnx.com/sf/go/post118256 No, it is a read-only interface. Only the IO_FD interface supports write functionality. -----Original Message----- From: Andrzej Polanski(deleted) [mailto:community-noreply@qnx.com] Sent: Friday, December 1, 2017 5:29 AM To: advanced-graphics <advanced-graphics@community.qnx.com> Subject: Img library - io_open(IO_MEM, IO_WRITE, ...) How to use io_open() for write into memory buffer? Try like output = io_open(IO_MEM, IO_WRITE, (unsigned)BUF_SIZE, (void*)buf); gives errno = ENOTSUP 48 /* Not supported (1003.1b-1993) */ Is it possible? Additional remark - documentation for image library is rather brief (e.g. not mentioned how to free memory allocated with img_load()) _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post118255 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2017-12-01T14:30:42Z post118255: Img library - io_open(IO_MEM, IO_WRITE, ...) http://community.qnx.com/sf/go/post118255 How to use io_open() for write into memory buffer? Try like output = io_open(IO_MEM, IO_WRITE, (unsigned)BUF_SIZE, (void*)buf); gives errno = ENOTSUP 48 /* Not supported (1003.1b-1993) */ Is it possible? Additional remark - documentation for image library is rather brief (e.g. not mentioned how to free memory allocated with img_load()) Andrzej Polanski 2017-12-01T10:28:42Z post117768: Re: RE: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board http://community.qnx.com/sf/go/post117768 Hi Mr Yang: I‘m from china too and have encountered the same problem, Have you resolved this problem? in case you have resolved, can you give me some suggestions on it? Thank you very much! andrew huang(deleted) 2017-05-27T07:58:59Z post117358: SIGSEGV fault while calling vgCreateEGLImageTargetKHR API http://community.qnx.com/sf/go/post117358 I'm creating a graphics application to run on i.MX6 Sabre SDB and I’m running into a SIGSEGV fault when I call ‘vgCreateEGLImageTargetKHR’ API. Can someone please help me figure out the root cause for this? I’m trying to use the EGL_KHR_image extension as a means to share images between the OpenGLES2 and OpenVG rendering APIs. So, I wrote some code to create an EGLImageKHR type as shown below. After successful creation of the EGLImageKHR, I was able to create an OpenGLES2 texture using the EGL image (glEGLImageTargetTexture2DOES ) and render it to the display. But, I see a SIGSEGV fault, when I attempt to create an OpenVG texture using the same EGL Image. The OpenVG extension function that I’m using is - vgCreateEGLImageTargetKHR void * driver_CreateEglImageBuffer(EGL_DDB *pDdb) { int size[2] = {pDdb->width, pDdb->height}; int format = SCREEN_FORMAT_RGBA8888; void * ret_buffer = NULL; int result; /* Create a pixmap buffer. This buffer will be used to hold the ** bitmap and eventually create an eglImage. */ result = screen_create_pixmap((screen_pixmap_t *)&(pDdb->pixmap.pixmapId), egl_layer->win.screen_ctx); if (result == 0) { int usage = SCREEN_USAGE_OPENGL_ES2 | SCREEN_USAGE_OPENVG; screen_buffer_t screen_pbuf; screen_set_pixmap_property_iv(pDdb->pixmap.pixmapId, SCREEN_PROPERTY_USAGE, &usage); screen_set_pixmap_property_iv(pDdb->pixmap.pixmapId, SCREEN_PROPERTY_FORMAT, &format); screen_set_pixmap_property_iv(pDdb->pixmap.pixmapId, SCREEN_PROPERTY_BUFFER_SIZE, size); result = screen_create_pixmap_buffer(pDdb->pixmap.pixmapId); if (result != 0) { screen_destroy_pixmap(pDdb->pixmap.pixmapId); printf("Fail! screen_create_pixmap_buffer() returned %d\n", result); } else { screen_get_pixmap_property_pv(pDdb->pixmap.pixmapId, SCREEN_PROPERTY_RENDER_BUFFERS, (void**)&screen_pbuf); /* Get the buffer pointer */ screen_get_buffer_property_pv(screen_pbuf, SCREEN_PROPERTY_POINTER, (void**)&pDdb->pixmap.pixmapBuffer); /* Get the buffer stride */ screen_get_buffer_property_iv(screen_pbuf, SCREEN_PROPERTY_STRIDE, (int *)&(pDdb->stride)); /* Create EGL Image */ pDdb->pixmap.eglImage = eglCreateImageKHR(egl_layer->win.eglDisplay, EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR, (void *)pDdb->pixmap.pixmapId, NULL); if (pDdb->pixmap.eglImage == EGL_NO_IMAGE_KHR) { EGLint eglError = eglGetError(); if (eglError != EGL_SUCCESS) { printf("eglGetError() = %i\n", eglError); } } else { ret_buffer = pDdb->pixmap.pixmapBuffer; } } } return ret_buffer; } Saleem Shaik 2017-01-20T17:29:53Z post117323: Re: RE: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board http://community.qnx.com/sf/go/post117323 All right, thanks all the same. > Yes, please ask your FAE to contact support directly on your behalf. > > Regards, > Derek > > -----Original Message----- > From: yang lei [mailto:community-noreply@qnx.com] > Sent: Monday, January 9, 2017 3:29 AM > To: advanced-graphics <advanced-graphics@community.qnx.com> > Subject: Re: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart- > devices board > > Hi, Derek > Thanks for your reply, but my FAE told me that use the standard support > plan. I new a case to request the sample source on 05/01/2017 1:34 AM(yes > because I am in China), till now the case´s status is still ¨Unassigned¨. > I don´t know how to do next... I guess I should find my FAE again.. > > Hi, > > > > Your FAE/Sale Rep should be able to provide you with the latest source. > > > > Regards, > > Derek > > > > -----Original Message----- > > From: yang lei [mailto:community-noreply@qnx.com] > > Sent: Thursday, January 5, 2017 6:01 AM > > To: advanced-graphics <advanced-graphics@community.qnx.com> > > Subject: How to get wfdcfg source code(LCD) for > > I.MX6q-sabre-smart-devices board > > > > Hi, I'm new in writing video drivers for QNX 6.6, any suggestion will > > be very helpful. > > > > My target board is freescale I.MX6Q sabre smart device. I download > > ¨ BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I > > read the sample source code(hdmi.c) for days, I can get something but > > my target board´ s display device is a 12.3 inch LCD screen. > > Unfortunately this hardware is not on the BSP support list, so I need > > a LCD driver sample source code, edit the timing data. > > How do I get the wfdcfg.c? My FAE told me that the DDK is out of > > the date, and let me go to here for help. > > > > > > > > _______________________________________________ > > > > Advanced Graphics > > http://community.qnx.com/sf/go/post117307 > > To cancel your subscription to this discussion, please e-mail > > advanced- graphics-unsubscribe@community.qnx.com > > > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post117319 > To cancel your subscription to this discussion, please e-mail advanced- > graphics-unsubscribe@community.qnx.com yang lei(deleted) 2017-01-11T01:30:05Z post117320: RE: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board http://community.qnx.com/sf/go/post117320 Yes, please ask your FAE to contact support directly on your behalf. Regards, Derek -----Original Message----- From: yang lei [mailto:community-noreply@qnx.com] Sent: Monday, January 9, 2017 3:29 AM To: advanced-graphics <advanced-graphics@community.qnx.com> Subject: Re: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board Hi, Derek Thanks for your reply, but my FAE told me that use the standard support plan. I new a case to request the sample source on 05/01/2017 1:34 AM(yes because I am in China), till now the case´s status is still ¨Unassigned¨. I don´t know how to do next... I guess I should find my FAE again.. > Hi, > > Your FAE/Sale Rep should be able to provide you with the latest source. > > Regards, > Derek > > -----Original Message----- > From: yang lei [mailto:community-noreply@qnx.com] > Sent: Thursday, January 5, 2017 6:01 AM > To: advanced-graphics <advanced-graphics@community.qnx.com> > Subject: How to get wfdcfg source code(LCD) for > I.MX6q-sabre-smart-devices board > > Hi, I'm new in writing video drivers for QNX 6.6, any suggestion will > be very helpful. > > My target board is freescale I.MX6Q sabre smart device. I download > ¨ BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I > read the sample source code(hdmi.c) for days, I can get something but > my target board´ s display device is a 12.3 inch LCD screen. > Unfortunately this hardware is not on the BSP support list, so I need > a LCD driver sample source code, edit the timing data. > How do I get the wfdcfg.c? My FAE told me that the DDK is out of > the date, and let me go to here for help. > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post117307 > To cancel your subscription to this discussion, please e-mail > advanced- graphics-unsubscribe@community.qnx.com _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post117319 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2017-01-09T13:16:56Z post117319: Re: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board http://community.qnx.com/sf/go/post117319 Hi, Derek Thanks for your reply, but my FAE told me that use the standard support plan. I new a case to request the sample source on 05/01/2017 1:34 AM(yes because I am in China), till now the case´s status is still ¨Unassigned¨. I don´t know how to do next... I guess I should find my FAE again.. > Hi, > > Your FAE/Sale Rep should be able to provide you with the latest source. > > Regards, > Derek > > -----Original Message----- > From: yang lei [mailto:community-noreply@qnx.com] > Sent: Thursday, January 5, 2017 6:01 AM > To: advanced-graphics <advanced-graphics@community.qnx.com> > Subject: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices > board > > Hi, I'm new in writing video drivers for QNX 6.6, any suggestion will be very > helpful. > > My target board is freescale I.MX6Q sabre smart device. I download ¨ > BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I read the > sample source code(hdmi.c) for days, I can get something but my target board´ > s display device is a 12.3 inch LCD screen. Unfortunately this hardware is not > on the BSP support list, so I need a LCD driver sample source code, edit the > timing data. > How do I get the wfdcfg.c? My FAE told me that the DDK is out of the date, > and let me go to here for help. > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post117307 > To cancel your subscription to this discussion, please e-mail advanced- > graphics-unsubscribe@community.qnx.com yang lei(deleted) 2017-01-09T08:29:00Z post117310: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board http://community.qnx.com/sf/go/post117310 Hi, Your FAE/Sale Rep should be able to provide you with the latest source. Regards, Derek -----Original Message----- From: yang lei [mailto:community-noreply@qnx.com] Sent: Thursday, January 5, 2017 6:01 AM To: advanced-graphics <advanced-graphics@community.qnx.com> Subject: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board Hi, I'm new in writing video drivers for QNX 6.6, any suggestion will be very helpful. My target board is freescale I.MX6Q sabre smart device. I download ¨BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I read the sample source code(hdmi.c) for days, I can get something but my target board´s display device is a 12.3 inch LCD screen. Unfortunately this hardware is not on the BSP support list, so I need a LCD driver sample source code, edit the timing data. How do I get the wfdcfg.c? My FAE told me that the DDK is out of the date, and let me go to here for help. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post117307 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2017-01-05T14:24:19Z post117307: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board http://community.qnx.com/sf/go/post117307 Hi, I'm new in writing video drivers for QNX 6.6, any suggestion will be very helpful. My target board is freescale I.MX6Q sabre smart device. I download ¨BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I read the sample source code(hdmi.c) for days, I can get something but my target board´s display device is a 12.3 inch LCD screen. Unfortunately this hardware is not on the BSP support list, so I need a LCD driver sample source code, edit the timing data. How do I get the wfdcfg.c? My FAE told me that the DDK is out of the date, and let me go to here for help. yang lei(deleted) 2017-01-05T11:00:35Z post114472: Problem with graphics performance http://community.qnx.com/sf/go/post114472 Hello, I'm quite new to all the graphics stuff under QNX. I'm using QNX 6.4.1 on i.MX515 with 320x240 16 bit display and I have a problem with performance: 1. A simple loop drawing (gf_draw_rect()) one white rectangle on the whole screen at 30fps uses 26% of CPU. 2. vsync demo uses 66% of CPU 3. egl-gears uses 80% of CPU My guess is that the software is not using hardware acceleration. I have been searching for more info about it, but can't find anything useful. What I keep finding is the sentence “(...) using hardware acceleration where possible”, but I have no idea how to make it possible. The answer is probably simple enough to not put it in tutorials, but apparently I don't have enough knowledge in that topic and I don't even know where to look for it. Could anyone point me in the right direction, please? Maciej Dębicki(deleted) 2015-09-18T09:17:52Z post114327: Re: libfont error: acessing a corrupted share lib on armv7,who can help me? http://community.qnx.com/sf/go/post114327 Hi Kevin, Sure that you use library for your CPU architecture (armle-v7). You should copy it from ${QNX_TARGET}/armle-v7/lib instead of /lib. Respectfully, Oleg 23 авг. 2015 г., в 7:33, kevin L <community-noreply@qnx.com> написал: > when I use PfAttachLocalDll, there is an error: acessing a corrupted share lib. > i find libfont in QNX installation /lib,and put in beagleboard /lib. > i put ttf font file n /usr/photon/font-repository. > > > I try it on vmware QNX, it's OK. > > hope for your help. > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post114326 > To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Oleg Bolshakov 2015-08-23T19:30:25Z post114326: libfont error: acessing a corrupted share lib on armv7,who can help me? http://community.qnx.com/sf/go/post114326 when I use PfAttachLocalDll, there is an error: acessing a corrupted share lib. i find libfont in QNX installation /lib,and put in beagleboard /lib. i put ttf font file n /usr/photon/font-repository. I try it on vmware QNX, it's OK. hope for your help. kevin L(deleted) 2015-08-23T04:33:36Z post114203: Video BIOS equivalent services for ARM http://community.qnx.com/sf/go/post114203 Hi, I am working on an application that would run on QNX RTOS 6.5. The application would run on ARM processor. The application would have to access the Video memory, to check the contents of the display, in order to set and read any random pixel, also make sure the display is not frozen, etc. I see that the services provided by Video BIOS services are what I need (e.g. vbios _ int(), vbios _ register(), etc), but these services are available only for x86 and not for ARM. My question is, are there any equivalent services that I could use for ARM? Thanks in advance. Phil Philip Abraham(deleted) 2015-08-04T02:49:32Z post113932: Re: Why QNX6.6 after the close of the program is not completed drm-intel? http://community.qnx.com/sf/go/post113932 What state is drm-intel after screen has terminated? Thanks, Dave Dave Nickerson 2015-06-08T15:42:16Z post113741: Why QNX6.6 after the close of the program is not completed drm-intel? http://community.qnx.com/sf/go/post113741 Hello, in QNX6.6 for to run the Qt-application I use the next script: ----------------------------------------------------------------------------------------------------------------------------------------------------- export LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr:/opt/qnx6/x86/lib/dll export QQNX_PHYSICAL_SCREEN_SIZE=200, 200 export QT_PLUGIN_PATH=/opt/qt5/plugins export QML2_IMPORT_PATH=/opt/qt5/qml export GRAPHICS_ROOT=/usr/lib/graphics/intel-drm drm-intel screen /root/app/my_prog qnx:no-fullscreen slay screen slay drm-intel ----------------------------------------------------------------------------------------------------------------------------------------------------- On the PC, after the close of my program, screen completed its work. But drm-intel no exited. Because of what it could be? On Vmware, when I use instead of drm-intel - vmware (though it is not explicitly called in a script), screen shuts down and I can continue to work with mqc. Thanks Vova Vova Beliy(deleted) 2015-04-22T22:59:09Z post113168: Re: screen_attach_window_buffers http://community.qnx.com/sf/go/post113168 And the attachment Kevin Stallard 2015-01-31T01:23:04Z post113167: screen_attach_window_buffers http://community.qnx.com/sf/go/post113167 Our video capture device is already using a linked list of buffers for transfer of video data via DMA. I'd like to use these same buffers for screen and just post them when they are filled. The attached code snippet outlines the basics of my approach, but it isn't working. To illustrate and try to figure this out I'm using the sync tutorial. You'll see the #ifdef clause that contains the code I would like to execute and have it work. The result of the #ifdef block is a blank screen. Of course, using the original code works. Basically I would like to allocate the memory and assign it to a screen buffer and have screen use that memory instead of its own allocation. Docs suggest that this is known and supported method, but apparently I'm missing some detail. Kevin Stallard 2015-01-31T01:17:34Z post113140: Re: Writing video driver for QNX 6.6 http://community.qnx.com/sf/go/post113140 OK, thank you very much! Somnus ueste(deleted) 2015-01-29T14:42:00Z post113138: Re: Writing video driver for QNX 6.6 http://community.qnx.com/sf/go/post113138 No, I can't provide you src. You can use this doc as reference on start: https://www.khronos.org/registry/wf/specs/OpenWF_Display_1_0_Specification.pdf Hope it helps. Good luck. Viktor Lezhava(deleted) 2015-01-29T14:18:01Z post113137: Run screen on QNX6.5 http://community.qnx.com/sf/go/post113137 I'm new to QNX os, any suggested tutorial how to run screen on QNX6.5 will be very helpful. I'm familiarized with: a) Screen Graphics Subsystem Developer's Guide b) OpenWF Display Configuration Developer's Guide Since there is no WFD and Wfdcfg driver src available to me, I have no idea how to write my hardware specific WFD drivers. My processor is TI-AM3517, there is no available binary for me. Would anyone help me on how to write WFD driver? Thank you very much! Somnus ueste(deleted) 2015-01-29T14:04:40Z post113136: Re: Writing video driver for QNX 6.6 http://community.qnx.com/sf/go/post113136 Dear Lezhava, I'm new inQNX os and I wanna run screen on QNX6.5. I have read the below articles: a) Screen Graphics Subsystem Developer's Guide b) OpenWF Display Configuration Developer's Guide But I still have no idea how to write WFD driver. Would you please provide your WFD driver src as a sample to me? My email is wangwei_1720@126.com. Thank you very much! Somnus ueste(deleted) 2015-01-29T13:53:45Z post112996: Re: gf_surface_attach returns GF_ERR_OK but img_surf is a NULL pointer. http://community.qnx.com/sf/go/post112996 As I understand you trying to show transparent image with gf_splash? To draw image with transparecy this application uses gf_draw_blit2() with configured chroma key. Does your driver supports this feature? Best regards Andrey Andrey Docuchaev 2015-01-19T16:05:56Z post112993: Re: gf_surface_attach returns GF_ERR_OK but img_surf is a NULL pointer. http://community.qnx.com/sf/go/post112993 Its the gf_splash application - available in several bsp's. Running on an arm-v7 target. Looks like there might be a possibility for gf_surface_attach to return ok but not deliver a surface opaque pointer. Any idea what (can) cause(s) this behaviour? tia George George Refseth(deleted) 2015-01-19T13:00:52Z post112992: Re: gf_surface_attach returns GF_ERR_OK but img_surf is a NULL pointer. http://community.qnx.com/sf/go/post112992 Hello George, What do you mean by "external memory"? Can you please provide a few examples of code? Best regards Andrey Andrey Docuchaev 2015-01-19T12:06:56Z post112985: gf_surface_attach returns GF_ERR_OK but img_surf is a NULL pointer. http://community.qnx.com/sf/go/post112985 QNX 6.5.0 SP1 What would cause gf_surface_attach to return GF_ERR_OK, but not create a surface for the 'external' memory? best regards George Refseth George Refseth(deleted) 2015-01-18T23:26:02Z post112721: Writing video driver for QNX 6.6 http://community.qnx.com/sf/go/post112721 I'm new in writing video drivers for QNX 6.6, and any suggested tutorial how to do this will be very helpful. I'm familiarized with: a) Screen Graphics Subsystem Developer's Guide b) OpenWF Display Configuration Developer's Guide Currently I've written my WFD.so driver with all functions implemented as stubs, set it as "wfd-dlls" in graphics.conf and after running Screen I received SIGSEGV error: "Process 106518 (screen) terminated SIGSEGV code=1 fltno=11 ip=0804f538(/sbin/screen@main+0x50f) ref=0000045c". My graphics.conf: begin khronos begin egl display 1 end egl display begin wfd device 1 wfd-dlls = WFD.so end wfd devide end khronos begin winmgr begin globals end globals begin display hdmi end display begin class framebuffer end class begin mtouch end mtouch end winmg Thanks. Viktor Lezhava(deleted) 2014-12-17T21:19:38Z post112356: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post112356 I've changed touch screen controller to HID compliant device. After figuring out what's going on, QNX support guy said that something is different between their egalax touch screen controller and mine. And if I want to go further, I have to pay 10000$ at least for priority support(bronze). Even though it works with QNX 6.5.0. Anyway, now I can touch and move the cursor on the screen but coordinates are not fit. So I've tried to calibrate but result was same as you. The cursor moves, but calib-touch program doesn't accept or recognize that. I'm using a screen with 1024x600. But when I run 'devi-hid' from command line, some suspected output displayed. # devi-hid -vvvvvvv mouse touch ... Did not find calib info for [639x479]. Attempting to use calculated transformation. ... I've set the resolution to 1024x600 through the same way as you and I don't know why that message displayed. As your result is same with me, I wonder what's the output from devi-hid from command line with -vvvvvvv? qnx1 developer(deleted) 2014-11-17T00:38:00Z post112242: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post112242 Hi, I am also trying to use touch screen with QNX 6.6 on TI Jacinto 6 (DRA74x) EVM (Rev E1) with 7" display. I have used the screen patch and apps & media and run the driver for touch as per the QNX SDP user guide that came along with the BSP. When I run the calib-touch utility, I get the calibration display but my touch inputs don't get registered. I am not able to calibrate. I have added the resolution of LCD I am using (800x480) to /etc/system/config/scaling.conf i.e. 800x480:mode=direct Here is the sloginfo output when I run screen: Jan 01 00:00:15 5 8 300 screen: starting up... Jan 01 00:00:15 5 8 300 screen: connected to powman... Jan 01 00:00:15 5 8 200 wfd: 1 wfdCreateDevice - Tiler is not available. Video buffer will be allocated in normal memory Jan 01 00:00:15 5 8 200 wfd: 1 configure_sys_clock - System clock is set to: 20000 KHz Jan 01 00:00:15 5 8 200 wfd: 1 configure_dss_func_clock - DSS func clock is set to: 192000 KHz Jan 01 00:00:15 2 8 300 screen: invalid display id: >>> begin display 1 Jan 01 00:00:15 5 8 300 screen: loading EGL display 1... Jan 01 00:00:15 2 8 100 SGX - Starting SGX release driver (version: 1.9@2291151) Jan 01 00:00:15 2 8 100 SGX - Power management turn ON Jan 01 00:00:15 2 8 100 SGX - TKT26818_OPTIMIZATION_SUBSET enabled Jan 01 00:00:15 2 8 100 SGX - SKIP_ISR_PULSE_WHEN_GPU_OFF enabled Jan 01 00:00:15 5 8 300 screen: loading blit module pvr2d... Jan 01 00:00:15 5 8 300 screen: loading composition module pvr2d... Jan 01 00:00:15 5 8 300 screen: loading mtouch module devi... Jan 01 00:00:15 5 9 200 devi[INFO]: Connected to TP on /dev/devi/touch0 Jan 01 00:00:15 5 9 100 libinputevents[INFO]: Attaching mtouch driver Jan 01 00:00:15 5 9 100 libinputevents[INFO]: Opening mtouch device #0 Jan 01 00:00:15 5 8 300 screen: attached to mtouch0 So it doesn't look like there is any problem with the driver. Can anyone suggest what could be going wrong? Thanks in advance. I am attaching the graphics.conf that I am using. Regards, Abhishek Abhishek Gupta 2014-11-04T10:56:02Z post112123: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post112123 No, I'm still stuck on it. In my case, touchscreen controller is not HID-compliant so I can't use "io-hid -dusb" instead of "io-hid -degalax". I'm using ETP-4500UG-B touchscreen controller. I've been asking to QNX support from two weeks ago but no luck yet. qnx1 developer(deleted) 2014-10-23T07:29:44Z post112098: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post112098 I solved my problem: I didn`t use egalax driver, but used usb driver: # io-usb -dehci -dohci -duhci -dxhci # io-hid -dusb # hidview HIDD v1.00, v1.00 DDK Device Address : 0 Vendor : 0x0eef (eGalax Inc.) Product : 0x0001 (USB TouchController) Version : r1.10 Usage : Pointer # devi-hid touch # screen # calib-touch -recalibrate graphics.conf: begin khronos begin egl display 1 egl-dlls = libEGL-mesa.so glesv1-dlls = libglapi-mesa.so libGLESv1_CM-mesa.so glesv2-dlls = libglapi-mesa.so libGLESv2-mesa.so end egl display begin wfd device 1 wfd-dlls = libwfdcfg-sample.so libWFDintel-drm.so pipeline1-display = 1 # pipeline2-display = 2 pipeline10-display = 1 # pipeline11-display = 2 end wfd device end khronos begin winmgr begin globals stack-size = 2048 # in units of 1024 bytes blit-config = gles2blt end globals begin display 1 video-mode = 1280 x 1024 @ 60 stack-size = 2048 # in units of 1024 bytes end display # begin display 2 # video-mode = 800 x 600 @ 60 # stack-size = 2048 # in units of 1024 bytes # end display begin mtouch driver = devi options = height=1024,width=1280 display = 1 end mtouch end winmgr scaling.conf: # Scaling based on calibration data 1280x1024:mode=calib,disp_x=[102:922:922:102],disp_y=[60:60:540:540],mtouch_x=[172:1108:1108:172],mtouch_y=[110:110:658:658] # Scaling based on physical dimensions 1280x1024:mode=dim,width_mm=154,height_mm=90,border_left_mm=5,border_right_mm=5,border_top_mm=5,border_bottom_mm=5 # Simple scaling to client resolution 1280x1024:mode=scale # No scaling, report coordinates exactly as the driver hands them to the client 1280x1024:mode=direct Good luck to everyone.... Nikoli Lukashov(deleted) 2014-10-22T08:04:59Z post112097: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post112097 May be uses egalax driver in section (as the documentation): begin mtouch driver = egalax options = height=600,width=1024 display = 1 end mtouch But then: libs: load_object: attempt load of libmtouch-egalax.so libs: dlopen: Library cannot be found Where to get the library "libmtouch-egalax.so"? Nikoli Lukashov(deleted) 2014-10-22T06:06:30Z post112085: Re: QNX 6.6 - i965 - screen startup failed http://community.qnx.com/sf/go/post112085 Fixed after a update provided by QNX Support Team. Marcelo Souza Ramos(deleted) 2014-10-21T16:32:50Z post112081: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post112081 Hi, did you have any progress? I am having the same problem. Regards Jefferson Biernastki(deleted) 2014-10-21T14:23:17Z post112071: Re: Issue with QNX 6.6 drm_intel_hd http://community.qnx.com/sf/go/post112071 Did you apply lastest patch? http://www.qnx.com/developers/articles/rel_5948_25.html Run qconfig on Windows prompt to check. DRM now runs with drm-intel instead of drm_intel_hd. Jefferson Biernastki(deleted) 2014-10-20T12:41:58Z post112056: Issue with QNX 6.6 drm_intel_hd http://community.qnx.com/sf/go/post112056 Hi, We have a target system with INTEL Graphics Chipset . We were able to port QNX on to it and then tried running drm_intel_hd followed by Screen. But, on starting drm_intel_hd i am getting errors as Invalid Checksum and getting errors with Screen also. However, errors in screen is due to lack to drm_intel_hd being open for screen. I am attaching you the errors , if any one could help me with solution, that would be great. -Thank You. Dinakar Babu(deleted) 2014-10-16T07:02:39Z post111993: Re: Intel DRM I7 4770K screen issues http://community.qnx.com/sf/go/post111993 And the other attachment.... Kevin Stallard 2014-10-08T22:46:00Z post111992: Intel DRM I7 4770K screen issues http://community.qnx.com/sf/go/post111992 Couple of questions: 1. How can I configure graphics.conf to have two displays mirror each other? Attached is my graphcis.conf file 2. Attached as well is output from slogger. I'm having some weirdness surrounding "potential gpu lockup" and "invlid max DP link" Finally, when I am able to run gears on display 7, it runs really, really slow, about 0.995 frames per second. Thanks for your help :) Kevin Kevin Stallard 2014-10-08T22:44:20Z post111624: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post111624 If I run devi-hid in command line, output is different. # devi-hid -vvvvvvv touch Looking up touch in module table Calibration filename: /etc/system/config/calib.localhost Resetting module touch Resetting module abs Error: No such file or directory - cannot open calibration file for absolute filter module(/etc/system/config/calib.localhost) Did not find calib info for [639x479]. Attempting to use calculated transformation. Calibration Matrix An: 0, Bn: 0, Cn: 0, Dn: 0, En: 0, Fn: 0, Divider: 0 If /etc/system/config/calib.localhost exist, just "Error:No such ..." message removed and no difference. qnx1 developer(deleted) 2014-09-04T01:40:52Z post111623: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post111623 About the error of calibration file missing, if I put calibration file from qnx650 to /etc/system/config then the error message has removed but still not working. qnx1 developer(deleted) 2014-09-04T00:32:01Z post111622: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post111622 Thanks for reply. I've changed devi-hid command of rc.local to: devi-hid -vvvvvvv touch then sloginfo output after booting: -------------------------------------------- # sloginfo Time Sev Major Minor Args Sep 04 00:53:51 2 19 1500 devb-ahci cam ver 100 sim 1.00A (Feb 22 2014 18:20:52) Sep 04 00:53:51 2 5 0 libcam.so (Feb 22 2014 18:20:44) bver 6060109 Sep 04 00:53:51 2 19 1500 eide_identify_devices: AHCI (generic) vid 0x8086, did 0x1e03, class 0x10601, rev 0x4, busno 0x0, dfunc 0xfa, base 0xf7d36000, irq 0xf, xlat 0x0 Sep 04 00:53:51 2 19 1500 eide_display_identify: mdl SAMSUNG MZMPC064HBDR-00000 sn S0VRNYAC200381 fw CXM1201Q port 2, max udma 6, cur udma 5, max mdma 2, cur mdma 0, pio 4, mblk 16 Sep 04 00:53:51 2 5 100 cam-disk.so (Feb 22 2014 18:20:50) Sep 04 00:53:51 5 3 1000 fs-qnx6: trim was requested, and is usable Sep 04 00:53:51 5 6 0 random: Selecting timer as entropy source Sep 04 00:53:51 5 6 0 random: All ready, registering path names Sep 04 00:53:51 5 6 0 random: Daemonizing the process Sep 04 00:53:51 2 9 0 Error: No such file or directory - cannot open calibration file for absolute filter module(/etc/system/config/calib.localhost) Sep 04 00:53:51 5 14 0 tcpip starting Sep 04 00:53:51 3 14 0 Using pseudo random generator. See "random" option Sep 04 00:53:51 5 14 0 initializing IPsec... done Sep 04 00:53:51 5 14 0 IPsec: Initialized Security Association Processing. Sep 04 00:53:51 5 14 0 wm0 Sep 04 00:53:51 5 14 0 wm1 Sep 04 00:53:51 5 14 0 wm2 Sep 04 00:53:51 5 14 0 wm3 Sep 04 00:53:51 5 14 0 wm4 Sep 04 00:53:52 5 14 0 wm5 Sep 04 00:53:52 5 8 300 screen: starting up... Sep 04 00:53:52 5 8 300 screen: connected to powman... Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices Sep 04 00:53:52 3 8 915 [ihold:265]"warning" Sep 04 00:53:52 5 8 300 screen: loading EGL display 1... Sep 04 00:53:52 5 8 300 screen: loading blit module gles2blt... Sep 04 00:53:53 3 12 0 devh-egalax.so - Failed to send check active (loopback) command to the controller: 5 Sep 04 00:53:53 5 8 300 screen: display_mode_set: selecting preferred mode 5 for display 1 Sep 04 00:53:53 5 8 300 screen: loading composition module gles2blt... Sep 04 00:53:53 5 8 300 screen: win_cursor_init: No cursor specific in graphics.conf Sep 04 00:53:53 5 8 300 screen: win_cursor_shape_init: using default cursor (9x16) Sep 04 00:53:53 5 8 300 screen: loading mtouch module devi... Sep 04 00:53:53 5 9 200 devi[INFO]: Connected to TP on /dev/devi/touch0 Sep 04 00:53:53 5 9 100 libinputevents[INFO]: Attaching mtouch driver Sep 04 00:53:53 5 9 100 libinputevents[INFO]: Changing mtouch coordinate mapping Sep 04 00:53:53 5 9 100 libinputevents[INFO]: Opening mtouch device #0 Sep 04 00:53:53 5 8 300 screen: attached to mtouch0 Sep 04 00:53:53 5 8 300 screen: connected to HID v1.0 DDK 1.0 Sep 04 00:53:53 5 8 300 screen: HID device inserted: Sep 04 00:53:53 5 8 300 screen: Device address: 0 Sep 04 00:53:53 5 8 300 screen: Vendor ID: 0x0eef (Unknown manufacturer) Sep 04 00:53:53 5 8 300 screen: Product ID: 0x0001 (Unknown product) Sep 04 00:53:53 5 8 300 screen: Version: r1.10 Sep 04 00:53:53 1 12 0 devh-egalax.so - Controller set to Calibrated point Sep 04 00:53:53 5 8 300 screen: hid_insertion: attaching to report usage_page=0x1 usage=0x1 Sep 04 00:53:53 5 8 300 screen: HID device inserted: Sep 04 00:53:53 5 8 300 screen: Device address: 1 Sep 04 00:53:53 5 8 300 screen: Vendor ID: 0x045e (Microsoft) Sep 04 00:53:53 5 8 300 screen: Product ID: 0x0752 (Wired Keyboard 400) Sep 04 00:53:53 5 8 300 screen: Version: r1.10 Sep 04 00:53:53 2 8 300 screen: Unable to load keyboard mapping file en_US_101 [2] Sep 04 00:53:53 2 8 300 screen: win_input_create: failed to allocate a keymap for an new input device Sep 04 00:53:53 5 8 300 screen: hid_insertion: attaching to report usage_page=0x1 usage=0x6 -------------------------------------------- I can guess below message tells me it's not communicating. Sep 04 00:53:53 3 12 0 devh-egalax.so - Failed to send check active (loopback) command to the controller: 5 In sloginfo, touch pad recognized as unknown manufacturer and product but output of hidview: # hidview HIDD v1.00, v1.00 DDK Device Address : 0 Vendor : 0x0eef (eGalax Inc.) Product : 0x0001 Version : r1.10 Usage : Pointer Device Address : 1 Vendor : 0x045e (Microsoft) Product : 0x0752 (Wired Keyboard 400) Version : r1.10 Usage : Keyboard I don't know what to do next. Any suggestion? qnx1 developer(deleted) 2014-09-04T00:20:51Z post111618: Re: QNX 6.6 - i965 - screen startup failed http://community.qnx.com/sf/go/post111618 Below sloginfo. Runing LD_DEBUG=libs i checked i965 driver being loaded # show_vesa VESA Info Block VESA Signature : VESA VESA Version : 0300 OEM String Ptr : 0080:0100 OEM String : Intel(R)Valleyview Graphics Chipset Accelerated VGA BIOS # drm-probe-displays # drm-probe-displays count_displays : 5 count_pipelines: 2 display 1: embedded displayport, connected Mode: "1024x768" 1024x768 60 Mode: "1024x768" 1024x768 50 display 2: VGA, connected Mode: "1024x768" 1024x768 60 Mode: "800x600" 800x600 60 Mode: "800x600" 800x600 56 Mode: "848x480" 848x480 60 Mode: "640x480" 640x480 60 display 3: HDMI-A, disconnected display 4: HDMI-A, disconnected display 5: displayport, disconnected pipeline 1 pipeline 2 # sloginfo: Sep 03 09:59:57 5 8 300 screen: starting up... Sep 03 09:59:57 5 8 300 screen: connected to powman... Sep 03 09:59:57 3 8 915 [ihold:265]"warning" Sep 03 09:59:57 2 8 200 drm_intel_bufmgr_gem_init failed Sep 03 09:59:57 2 8 300 screen: win_enumerate_displays: could not create display device 1 Sep 03 09:59:57 2 8 300 screen: invalid display id: >>> begin display 1 Sep 03 09:59:57 2 8 300 screen: invalid display id: >>> begin display 2 Sep 03 09:59:57 5 8 300 screen: loading EGL display 1... Sep 03 09:59:57 5 8 300 screen: loading blit module gles2blt... Sep 03 09:59:57 3 8 100 egl: DRI2: failed to create dri screen Sep 03 09:59:57 2 8 300 screen-gles2blt: eglInitialize: EGL is not initialized, or could not be initialized, for the specified display Sep 03 09:59:57 2 8 300 screen: win_blit_module_init: could not create a blitting context OBC ALL(deleted) 2014-09-03T15:31:38Z post111617: Re: QNX 6.6 - i965 - screen startup failed http://community.qnx.com/sf/go/post111617 Hi, are you running drm & screen inside vmware? from the error message, it looks like the function drm_intel_bufmgr_gem_init failed, normally it should work fine, it will fail if the graphics device id is not supported. so can you run sloginfo and post the output ? also it will be helpful to run command pci and post the output. Thanks Leo Xu 2014-09-03T15:21:56Z post111616: Re: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post111616 Can you post the output from devi-hid in verbose mode after you touch the screen: Devi-hid -vvvvvvv touch Leave out the kid module as its already handled by screen. Erick Muis 2014-09-03T11:48:34Z post111614: QNX 6.6 - i965 - screen startup failed http://community.qnx.com/sf/go/post111614 Hi, while i was working with VMWare my graphics configuration were ok, but after boot QNX660 in a x86 PC with Intel Pineview video board my screen don't run anymore. Same error happens in Intel Valleyview video board. There is any configuration or initialization that i have to do before start drm-intel? # drm-intel # screen [intel_init_bufmgr:946] Error initializing buffer manager. libEGL warning: DRI2: failed to create dri screen Screen startup failed # graphics.conf begin khronos begin egl display 1 egl-dlls = libEGL-mesa.so glesv1-dlls = libglapi-mesa.so libGLESv1_CM-mesa.so glesv2-dlls = libglapi-mesa.so libGLESv2-mesa.so end egl display begin wfd device 1 wfd-dlls = libwfdcfg-sample.so libWFDintel-drm.so pipeline1-display = 1 pipeline2-display = 2 end wfd device end khronos begin winmgr begin globals blit-config = gles2blt input = keyboard stack-size = 2048 end globals begin display 1 video-mode = 1024 x 768 @ 60 stack-size = 2048 end display begin display 2 video-mode = 1024 x 768 @ 60 stack-size = 2048 end display begin class framebuffer display = 1 pipeline = 1 format = rgba8888 usage = gles2blt end class begin class framebuffer display = 2 pipeline = 2 format = rgba8888 usage = gles2blt end class end winmgr Jefferson Biernastki(deleted) 2014-09-03T11:19:32Z post111612: QNX 6.6 touch screen setup http://community.qnx.com/sf/go/post111612 Hello. I'm trying to use touch screen at QNX 6.6. I've searched and followed answers and then I'm seeing calib-touch screen now. But I can't move the cursor or click. After launching below programs in rc.local, calib-touch program could be run. But touch doesn't work and cannot calibrate. With QNX 6.5 touch screen works fine. Does anyone have any idea what's wrong? Thanks. Launch at rc.local: io-usb -duhci -dohci -dehci io-hid -dusb -degalax devi-hid kbd touch drm-intel & screen & Here is hidview result: # hidview Device Address : 0 Vendor : 0x0eef (eGalax Inc.) Product : 0x0001 Version : r1.10 Usage : Pointer Device Address : 1 Vendor : 0x045e (Microsoft) Product : 0x0752 (Wired Keyboard 400) Version : r1.10 Usage : Keyboard And this is my env variables: # env _=/usr/bin/env SSH_CONNECTION=192.168.100.118 64713 192.168.100.177 22 PATH=/sbin:/usr/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin SHELL=/bin/sh TMPDIR=/tmp HOSTNAME=localhost USER=root PROCESSOR=x86 MAIL=/var/spool/mail/root LD_LIBRARY_PATH=/prob/boot:/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr/lib:/opt/qnx6/x86/lib /dll:/usr/lib/graphics/intel-drm:/opt/qt5/plugins/platforms QT_DEBUG_PLUGINS=1 HOME=/root SSH_CLIENT=192.168.100.118 64713 22 QNX_HOST=/ QT_QPA_PLATFORM=qnx:no-fullscreen QNX_TARGET=/ GRAPHICS_ROOT=/usr/lib/graphics/intel-drm QQNX_PHYSICAL_SCREEN_SIZE=200,117 TERM=xterm QML_IMPORT_PATH=/opt/qt5/imports QML2_IMPORT_PATH=/opt/qt5/qml QT_PLUGIN_PATH=/opt/qt5/plugins FONTCONFIG_FILE=/etc/fontconfig/local.conf QNX_CONFIGURATION=/etc/qnx SSH_TTY=/dev/ttyp0 SYSNAME=nto LOGNAME=root This is my /usr/lib/graphics/intel-drm/graphics.conf: begin khronos begin egl display 1 egl-dlls = libEGL-mesa.so glesv1-dlls = libglapi-mesa.so libGLESv1_CM-mesa.so glesv2-dlls = libglapi-mesa.so libGLESv2-mesa.so end egl display begin wfd device 1 wfd-dlls = libwfdcfg-sample.so libWFDintel-drm.so # Run "drm-probe-displays" to list the available displays and pipelines, # and "use $GRAPHICS_ROOT/libWFDintel-drm.so" for more information on # these driver-specific settings. # Pipeline IDs 1 to 9 are used for DRM CRTCs. One should be assigned # to each display that will be used. pipeline1-display = 1 # Pipeline IDs 10 and above are used for DRM planes. A plane can only # be used on a display with an active CRTC. pipeline10-display = 1 end wfd device end khronos begin winmgr begin globals input = keyboard mouse # Adjust the stack size of Screen's resmgr threads. The default size # is insufficient for blitters/compositors using Mesa (e.g., gles2blt). blit-config = gles2blt end globals begin display 1 video-mode = 1024 x 600 @ 75 # Adjust the stack size of Screen's composition thread; required when the # display's framebuffer uses Mesa (e.g. "usage = gles2"), as noted above. cursor = on stack-size = 4096 # in units of 1024 bytes end display begin class framebuffer # Be sure to configure the "pipeline%d-display" options (above) so the # specified display and pipeline are bindable. Normally a framebuffer # will use a CRTC pipeline. display = 1 pipeline = 1 format = rgba8888 usage = gles2blt end class begin mtouch driver = devi options = height=600,width=1024 display = 1 end mtouch end winmgr qnx1 developer(deleted) 2014-09-03T07:53:00Z post111553: RE: RE: Address of frame buffer http://community.qnx.com/sf/go/post111553 I'd suggest referring to the documentation for the product you're using to get more acquainted. http://www.qnx.com/developers/docs/ If you then have more specific questions, we could then probably more helpful. -Joel ________________________________________ From: Radu Stancu [community-noreply@qnx.com] Sent: Tuesday, August 26, 2014 10:16 AM To: advanced-graphics Subject: Re: RE: Address of frame buffer I'm working on an embedded system for automotive that has omap 5 and qnx on it. My application is written in Qt 5.2 (I render some objects, like cubes and such on 2 screens). The main thing I need to do is somehow capture a frame on one screen and then proceed as I mentioned in the original post. The framebuffer approach was the first that came to mind, as I need something raw for dce encode. I don't really need a solution in Qt, a separate program written in C would work as well, . But I'm kinda lost, because I'm not that familiar with qnx. > Perhaps you could mention which framework you're using? Derek's likely > assuming GF because you're posting in the advance graphics forum, but you > don't actually provide any hints of the framework. > > -Joel > > ________________________________________ > From: Derek Leach [community-noreply@qnx.com] > Sent: Tuesday, August 26, 2014 8:29 AM > To: 'advanced-graphics@community.qnx.com' > Subject: RE: Address of frame buffer > > http://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info. > html > > vaddr in the info structure is the mapped in framebuffer of the provided > surface. > > -----Original Message----- > From: Radu Stancu [mailto:community-noreply@qnx.com] > Sent: August-26-14 4:49 AM > To: advanced-graphics > Subject: Address of frame buffer > > Hello, > > Is there any way to find the address and size of the system frame buffer? I > have an application that must save the current content of the screen, use > hardware encoding to turn it to jpeg and send it via ethernet to another > device where it is decoded and shown on screen. > > From my research, in order to do the above, I would need somehow to access the > frame buffer, copy it into a local buffer, apply some DCE functions and > obtain the jpeg in a file I can then send. But I haven't found any reference > to the actual address where the buffer is stored (if I know this, I can easily > use memcpy to access it). > > As a final note, I don't want to make a screen shot (this was already done in > a previous version of my app, one without hardware encoding), but actually > work with the raw frame buffer. Actual code or functions would be of use, I'm > trying not to use other apps that may slow my device down (I'm working under > strict cpu limitations). > > Any info would be appreciated. > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post111545 > To cancel your subscription to this discussion, please e-mail advanced- > graphics-unsubscribe@community.qnx.com > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post111547 > To cancel your subscription to this discussion, please e-mail advanced- > graphics-unsubscribe@community.qnx.com _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post111551 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Joel Pilon(deleted) 2014-08-26T14:34:28Z post111552: RE: RE: Address of frame buffer http://community.qnx.com/sf/go/post111552 Posting to open Qt forum might provide a quick turnaround. I would think they would have a Qt way of doing this. -----Original Message----- From: Radu Stancu [mailto:community-noreply@qnx.com] Sent: August-26-14 10:17 AM To: advanced-graphics Subject: Re: RE: Address of frame buffer I'm working on an embedded system for automotive that has omap 5 and qnx on it. My application is written in Qt 5.2 (I render some objects, like cubes and such on 2 screens). The main thing I need to do is somehow capture a frame on one screen and then proceed as I mentioned in the original post. The framebuffer approach was the first that came to mind, as I need something raw for dce encode. I don't really need a solution in Qt, a separate program written in C would work as well, . But I'm kinda lost, because I'm not that familiar with qnx. > Perhaps you could mention which framework you're using? Derek's likely > assuming GF because you're posting in the advance graphics forum, but > you don't actually provide any hints of the framework. > > -Joel > > ________________________________________ > From: Derek Leach [community-noreply@qnx.com] > Sent: Tuesday, August 26, 2014 8:29 AM > To: 'advanced-graphics@community.qnx.com' > Subject: RE: Address of frame buffer > > http://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info. > html > > vaddr in the info structure is the mapped in framebuffer of the > provided surface. > > -----Original Message----- > From: Radu Stancu [mailto:community-noreply@qnx.com] > Sent: August-26-14 4:49 AM > To: advanced-graphics > Subject: Address of frame buffer > > Hello, > > Is there any way to find the address and size of the system frame > buffer? I have an application that must save the current content of > the screen, use hardware encoding to turn it to jpeg and send it via > ethernet to another device where it is decoded and shown on screen. > > From my research, in order to do the above, I would need somehow to > access the frame buffer, copy it into a local buffer, apply some DCE > functions and obtain the jpeg in a file I can then send. But I haven't > found any reference to the actual address where the buffer is stored > (if I know this, I can easily use memcpy to access it). > > As a final note, I don't want to make a screen shot (this was already > done in a previous version of my app, one without hardware encoding), > but actually work with the raw frame buffer. Actual code or functions > would be of use, I'm trying not to use other apps that may slow my > device down (I'm working under strict cpu limitations). > > Any info would be appreciated. > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post111545 > To cancel your subscription to this discussion, please e-mail > advanced- graphics-unsubscribe@community.qnx.com > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post111547 > To cancel your subscription to this discussion, please e-mail > advanced- graphics-unsubscribe@community.qnx.com _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post111551 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2014-08-26T14:32:55Z post111551: Re: RE: Address of frame buffer http://community.qnx.com/sf/go/post111551 I'm working on an embedded system for automotive that has omap 5 and qnx on it. My application is written in Qt 5.2 (I render some objects, like cubes and such on 2 screens). The main thing I need to do is somehow capture a frame on one screen and then proceed as I mentioned in the original post. The framebuffer approach was the first that came to mind, as I need something raw for dce encode. I don't really need a solution in Qt, a separate program written in C would work as well, . But I'm kinda lost, because I'm not that familiar with qnx. > Perhaps you could mention which framework you're using? Derek's likely > assuming GF because you're posting in the advance graphics forum, but you > don't actually provide any hints of the framework. > > -Joel > > ________________________________________ > From: Derek Leach [community-noreply@qnx.com] > Sent: Tuesday, August 26, 2014 8:29 AM > To: 'advanced-graphics@community.qnx.com' > Subject: RE: Address of frame buffer > > http://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info. > html > > vaddr in the info structure is the mapped in framebuffer of the provided > surface. > > -----Original Message----- > From: Radu Stancu [mailto:community-noreply@qnx.com] > Sent: August-26-14 4:49 AM > To: advanced-graphics > Subject: Address of frame buffer > > Hello, > > Is there any way to find the address and size of the system frame buffer? I > have an application that must save the current content of the screen, use > hardware encoding to turn it to jpeg and send it via ethernet to another > device where it is decoded and shown on screen. > > From my research, in order to do the above, I would need somehow to access the > frame buffer, copy it into a local buffer, apply some DCE functions and > obtain the jpeg in a file I can then send. But I haven't found any reference > to the actual address where the buffer is stored (if I know this, I can easily > use memcpy to access it). > > As a final note, I don't want to make a screen shot (this was already done in > a previous version of my app, one without hardware encoding), but actually > work with the raw frame buffer. Actual code or functions would be of use, I'm > trying not to use other apps that may slow my device down (I'm working under > strict cpu limitations). > > Any info would be appreciated. > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post111545 > To cancel your subscription to this discussion, please e-mail advanced- > graphics-unsubscribe@community.qnx.com > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post111547 > To cancel your subscription to this discussion, please e-mail advanced- > graphics-unsubscribe@community.qnx.com Radu Stancu(deleted) 2014-08-26T14:16:31Z post111550: RE: Address of frame buffer http://community.qnx.com/sf/go/post111550 Perhaps you could mention which framework you're using? Derek's likely assuming GF because you're posting in the advance graphics forum, but you don't actually provide any hints of the framework. -Joel ________________________________________ From: Derek Leach [community-noreply@qnx.com] Sent: Tuesday, August 26, 2014 8:29 AM To: 'advanced-graphics@community.qnx.com' Subject: RE: Address of frame buffer http://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info.html vaddr in the info structure is the mapped in framebuffer of the provided surface. -----Original Message----- From: Radu Stancu [mailto:community-noreply@qnx.com] Sent: August-26-14 4:49 AM To: advanced-graphics Subject: Address of frame buffer Hello, Is there any way to find the address and size of the system frame buffer? I have an application that must save the current content of the screen, use hardware encoding to turn it to jpeg and send it via ethernet to another device where it is decoded and shown on screen. From my research, in order to do the above, I would need somehow to access the frame buffer, copy it into a local buffer, apply some DCE functions and obtain the jpeg in a file I can then send. But I haven't found any reference to the actual address where the buffer is stored (if I know this, I can easily use memcpy to access it). As a final note, I don't want to make a screen shot (this was already done in a previous version of my app, one without hardware encoding), but actually work with the raw frame buffer. Actual code or functions would be of use, I'm trying not to use other apps that may slow my device down (I'm working under strict cpu limitations). Any info would be appreciated. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post111545 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post111547 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Joel Pilon(deleted) 2014-08-26T14:02:08Z post111547: RE: Address of frame buffer http://community.qnx.com/sf/go/post111547 http://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info.html vaddr in the info structure is the mapped in framebuffer of the provided surface. -----Original Message----- From: Radu Stancu [mailto:community-noreply@qnx.com] Sent: August-26-14 4:49 AM To: advanced-graphics Subject: Address of frame buffer Hello, Is there any way to find the address and size of the system frame buffer? I have an application that must save the current content of the screen, use hardware encoding to turn it to jpeg and send it via ethernet to another device where it is decoded and shown on screen. From my research, in order to do the above, I would need somehow to access the frame buffer, copy it into a local buffer, apply some DCE functions and obtain the jpeg in a file I can then send. But I haven't found any reference to the actual address where the buffer is stored (if I know this, I can easily use memcpy to access it). As a final note, I don't want to make a screen shot (this was already done in a previous version of my app, one without hardware encoding), but actually work with the raw frame buffer. Actual code or functions would be of use, I'm trying not to use other apps that may slow my device down (I'm working under strict cpu limitations). Any info would be appreciated. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post111545 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2014-08-26T12:29:47Z post111545: Address of frame buffer http://community.qnx.com/sf/go/post111545 Hello, Is there any way to find the address and size of the system frame buffer? I have an application that must save the current content of the screen, use hardware encoding to turn it to jpeg and send it via ethernet to another device where it is decoded and shown on screen. From my research, in order to do the above, I would need somehow to access the frame buffer, copy it into a local buffer, apply some DCE functions and obtain the jpeg in a file I can then send. But I haven't found any reference to the actual address where the buffer is stored (if I know this, I can easily use memcpy to access it). As a final note, I don't want to make a screen shot (this was already done in a previous version of my app, one without hardware encoding), but actually work with the raw frame buffer. Actual code or functions would be of use, I'm trying not to use other apps that may slow my device down (I'm working under strict cpu limitations). Any info would be appreciated. Radu Stancu(deleted) 2014-08-26T08:48:59Z post110576: Re: How run Screen Application http://community.qnx.com/sf/go/post110576 Thanks! It works! Bartek P 2014-06-04T08:26:14Z post110574: Re: How run Screen Application http://community.qnx.com/sf/go/post110574 Hi, You can use shell script like the following one: --- #!/bin/sh export GRAPHICS_ROOT=/usr/lib/graphics/vmware screen gles1-gears --- Respectfully, Oleg 04 июня 2014 г., в 10:46:51, Bartek P <community-noreply@qnx.com> написал: > Hi, > > OK, I add this variable and screen running properly. But, how I can starting example app in screen? > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post110572 > To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Oleg Bolshakov 2014-06-04T08:12:30Z post110572: Re: How run Screen Application http://community.qnx.com/sf/go/post110572 Hi, OK, I add this variable and screen running properly. But, how I can starting example app in screen? Bartek P 2014-06-04T06:46:51Z post110566: Re: How run Screen Application http://community.qnx.com/sf/go/post110566 Hi Bartek, Try to declare environment variable GRAPHICS_ROOT before launch screen server: export GRAPHICS_ROOT=/usr/lib/graphics/vmware Respectfully, Oleg 03 июня 2014 г., в 17:25:14, Bartek P <community-noreply@qnx.com> написал: > Hello, > > How can I run application screen application in QNX 6.6? > I want to start example "display_image" from "/usr/bin", and when start this app i have a massage: > "screen_context_create: No such file or directory". > What is command "screen" in QNX? When I call this command I receive "Memory fault" > > My host target is vmware. > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post110563 > To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Oleg Bolshakov 2014-06-03T17:30:08Z post110563: How run Screen Application http://community.qnx.com/sf/go/post110563 Hello, How can I run application screen application in QNX 6.6? I want to start example "display_image" from "/usr/bin", and when start this app i have a massage: "screen_context_create: No such file or directory". What is command "screen" in QNX? When I call this command I receive "Memory fault" My host target is vmware. Bartek P 2014-06-03T13:25:14Z post110149: load and display an image using the 'libimg' library and the "QNX Screen" API. http://community.qnx.com/sf/go/post110149 Hi, I am a beginner in leaning QNX. I just have an assignment to load and display an image using the image library "libimg" and the "QNX Screen" API. I created my code based on the sample code given in http://support7.qnx.com/download/downlo ... _Guide.pdf, also the sample code given in the post https://github.com/blackberry/NDK-Sampl ... ure/main.c. My code is below (omit all print code for debugging): static img_t img; screen_context_t screen_context; screen_window_t screen_window; int main(int argc, char * const argv[]) { screen_create_context(&screen_context, SCREEN_APPLICATION_CONTEXT); screen_create_window(&screen_window, screen_context); int count = 0; screen_get_context_property_iv(screen_context,SCREEN_PROPERTY_DISPLAY_COUNT, &count); screen_display_t *screen_disps = calloc(count, sizeof(screen_display_t)); screen_get_context_property_pv(screen_context, SCREEN_PROPERTY_DISPLAYS, (void **) screen_disps); screen_display_t screen_disp = screen_disps[0]; free(screen_disps); int vis = 1; int dims[2] = { 512, 512 }; int rect[4] = { 0, 0, 1, 1 }; screen_set_window_property_iv(screen_window, SCREEN_PROPERTY_VISIBLE, &vis); screen_set_window_property_iv(screen_window, SCREEN_PROPERTY_BUFFER_SIZE,rect + 2); rev = screen_set_window_property_iv(screen_window,SCREEN_PROPERTY_SOURCE_SIZE, dims); screen_buffer_t screen_buf; screen_create_window_buffers(screen_window, 1); screen_get_window_property_pv(screen_window, SCREEN_PROPERTY_RENDER_BUFFERS, (void **)&screen_buf); screen_get_buffer_property_pv(screen_buf, SCREEN_PROPERTY_POINTER, (void **)&img.access.direct.data); screen_get_buffer_property_iv(screen_buf, SCREEN_PROPERTY_STRIDE, (int *)&img.access.direct.stride); img.flags |= IMG_DIRECT; loadImg(); screen_post_window(screen_window, screen_buf, 1, rect, 0); } static void loadImg(void) { img_lib_t ilib = NULL; int rc1 = 0; img_lib_attach(&ilib); img.w = 512; img.flags |= IMG_W; img.h = 512; img.flags |= IMG_H; rc1 == img_load_file(ilib,filename , NULL, &img); img_lib_detach(ilib); } The debug info shows that loading image is successful, however what I can see is a 512*512 white image on my screen. I don't know what is the problem, hope I can get some help here. Thank you very much. Lila Yuanhang Zheng(deleted) 2014-05-05T17:07:56Z post107536: Re: FlashLite 4 / Actionscript 3 http://community.qnx.com/sf/go/post107536 The information on that link is incorrect, and we have already asked our IT department to correct it. FlashLite4 / AS3 is not supported. Edward Lee 2013-12-13T14:59:00Z post107335: Re: FlashLite 4 / Actionscript 3 http://community.qnx.com/sf/go/post107335 > I was under the impression that QNX 6.5 HMI Technology provided the ability to > execute FlashLite 4. > > I believe the following link advertises this: http://www.qnx.com/products/hmi/ > hmi.html > > I have developed some entertainment applications in AS2 that run in the 6.4 > environment and I'm considering developing in AS3 for 6.5. > > When can I expect 6.5 to support Flash AS3 based applications? Will support be > released as a patch to 6.5 or will it be rolled out in a future version of > QNX? Now, Is that Release? I can't find AS3 Information, and FlashLite4 also. Answer please.. kim dongwan(deleted) 2013-12-10T09:38:20Z post106310: Re: Image searching within another image http://community.qnx.com/sf/go/post106310 Sorry but I cannot. Not familiar with the NDK and I'd suggest you ask for BlackBerry specific information on the BlackBerry forums. You will have to do your homework but I know that most people's gut reaction when faced with similar problems is to say "OpenCV!" I do not know if it has something that solves your particular problem out of the box. There appears to be an "Officially sanctioned port of OpenCV to the Blackberry/QNX platform" at the following location: https://github.com/blackberry/OpenCV/ If you are after a bit by bit perfect match and don't care about the CPU use then it should be fastest to check how to access the frame via the image library and write your own matcher with for(x0 on big image) for(y0 on big image) for(x on small image) for(y on small image). If you need approximate matching, need robustness for scale/rotation/other transformations or just need more efficiency then do your research on existing libraries. -- Mate On Oct 28, 2013, at 10:23 PM, Dinyo Haygarov <community-noreply@qnx.com<mailto:community-noreply@qnx.com>> wrote: Can you point me to an existing image recognition library in the NDK which I can use? _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post106308 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Mate Szarvas 2013-10-28T13:49:45Z post106308: Re: Image searching within another image http://community.qnx.com/sf/go/post106308 Can you point me to an existing image recognition library in the NDK which I can use? Dinyo Haygarov(deleted) 2013-10-28T13:23:58Z post106307: Re: Image searching within another image http://community.qnx.com/sf/go/post106307 It definitely is possible but QNX does not provide any libraries for that. Depending on countless factors you may either read in both images using existing API-s and do the search yourself along the lines of a 2D strstr or rely on an image recognition library. If you go with the roll your own solution approach but you hit performance issues then you can subsample both images multiple times (using a factor of 2 can be implemented most efficiently) resulting in an image pyramid and do the search at higher resolutions only in areas that gave a hit in lower resolutions. -- Mate On Oct 28, 2013, at 8:23 PM, Dinyo Haygarov <community-noreply@qnx.com> wrote: > is it possible to search for a certain image within another bigger image and retrieve it's coordinates within the bigger image? > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post106298 > To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Mate Szarvas 2013-10-28T12:04:33Z post106298: Image searching within another image http://community.qnx.com/sf/go/post106298 is it possible to search for a certain image within another bigger image and retrieve it's coordinates within the bigger image? Dinyo Haygarov(deleted) 2013-10-28T11:23:58Z post106140: RE: How can I use opencv under QNX? http://community.qnx.com/sf/go/post106140 OpenCV has not been ported to QNX. You could check out the source to OpenCV and attempt to port it yourself. -----Original Message----- From: robort smith [mailto:community-noreply@qnx.com] Sent: October-22-13 6:28 AM To: advanced-graphics Subject: How can I use opencv under QNX? How can I use opencv under QNX? Now I am trying to use opencv under QNX to trace some objects. While opencv does't support QNX . Is there any thing I can do for this? _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post106134 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2013-10-22T13:56:52Z post106134: How can I use opencv under QNX? http://community.qnx.com/sf/go/post106134 How can I use opencv under QNX? Now I am trying to use opencv under QNX to trace some objects. While opencv does't support QNX . Is there any thing I can do for this? robort smith 2013-10-22T10:27:43Z post105268: How to deal with MJPEG foramt video? http://community.qnx.com/sf/go/post105268 Now I am writing USB camera driver.I have already get single frames successfully.At current,The problems are that I don't know how to deal with these frames,and how to show these frames on screen. robort smith 2013-09-20T08:47:48Z post104263: memory leak in PxLoadImage (when repeating) http://community.qnx.com/sf/go/post104263 It isn't new topic, but in prevoius discussion I haven't found any real decision of my problem. So, I use PxLoadImage many times during my program session. If it is, for instance, the 300-th call of PxLoadImage I have memory fault. I understand that problem is connected with memory leaks. But I don't know how to free memory properly. How must I release memory? My code: PhImage_t *temp_image= PhCreateImage( 0, 256 , 256 , Pg_IMAGE_DIRECT_888, 0, 0, 1); if ((temp_image=PxLoadImage(file_name,NULL))==NULL){ fprintf(stderr,"Error opening next path: %s\n",file_name); PtExit(EXIT_FAILURE); ... temp_image->flags=Ph_RELEASE_IMAGE|Ph_RELEASE_PALETTE| Ph_RELEASE_TRANSPARENCY_MASK|Ph_RELEASE_GHOST_BITMAP|Ph_RELEASE_IMAGE_ALL; PhReleaseImage(temp_image); free(temp_image); Zhenya Pozdnyakov 2013-08-18T10:20:57Z post103731: Re: Problem for gf-calib http://community.qnx.com/sf/go/post103731 please reference the QNX650\target\qnx6\etc\system\config\img.conf.This is helpful. beagleBone donghongsun(deleted) 2013-07-30T03:12:10Z post103615: Re: Problem for gf-calib http://community.qnx.com/sf/go/post103615 I met the same problem。 # gf-calib -D -f /fs/mmc/config/calib.localhost Number of layers: 1 Resolution: 800x480, refresh = 60Hz layer_idx=0 img_load(target1): errno = 3 load_image2surf(): failed Do you solve this problem? beagleBone donghongsun(deleted) 2013-07-26T02:02:08Z post101196: gf_dev_attach() failed with GF_ERR_IODISPLAY http://community.qnx.com/sf/go/post101196 I am trying to get Qt and QNX running on the Sabre Lite board. I have a Qt project (just a single button) and the project builds and loads to the target using the Momentics debugger. However, the first line of code that executes: QApplication a(argc, argv, global); Causes this error: QQnxScreen: gf_dev_attach() failed with error code 2 The error in the code says this: #define GF_ERR_IODISPLAY 0x00000002 /* error accessing io-display */ My board does not have an io-display process, and there is no /dev/io-display directory. The QNX demo that is part of the QNX accelerator kit quick start runs correctly and no io-display process is running. How do I get past this error? Do I need an io-display process running? Thanks, Dave David Lafreniere 2013-05-06T23:37:00Z post101156: 答复: How to show a PNG image with transparent background http://community.qnx.com/sf/go/post101156 Dear Sir. I found my PNG file is a 32bit PNG, and then I change it to 8bit and 24bit, but it still can not be transparented. Thanks and Best Regards! ******************************************* 金狄 天元鼎正电子科技(北京)有限公司 北京市海淀区上地七街1号汇众大厦106 邮编:100085 电话:010-62970815 手机:18601122606 ******************************************* -----邮件原件----- 发件人: Derek Leach [mailto:community-noreply@qnx.com] 发送时间: 2013年5月3日 21:27 收件人: advanced-graphics 主题: RE: How to show a PNG image with transparent background What kind of PNG, 32-bit? -----Original Message----- From: Di Jin [mailto:community-noreply@qnx.com] Sent: May-03-13 4:47 AM To: advanced-graphics Subject: How to show a PNG image with transparent background I have a PNG image. I modify the background of image to transparency in the Photoshop. I write the code like this: if (img.flags & IMG_TRANSPARENCY) { /* we can handle transparency in GF using chroma */ gf_chroma_t chroma; memset(&chroma, 0, sizeof chroma); chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW; if (img.format & IMG_FMT_PALETTE) { chroma.color0 = img.palette[img.transparency.index]; } else if (IMG_FMT_BPP(img.format) < 24) { chroma.color0 = img.transparency.rgb16; } else { chroma.color0 = img.transparency.rgb32; } gf_context_set_chroma(*p_context, &chroma); } if (img.format & IMG_FMT_ALPHA) { gf_alpha_t alpha; memset(&alpha, 0, sizeof alpha); alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA | GF_BLEND_SRC_M1 | GF_BLEND_DST_1mM1; gf_context_set_alpha(*p_context, &alpha); } // blit the image onto a target surface gf_draw_blit2(*p_context, *p_surface, NULL, 0, 0, img.w - 1, img.h - 1, 0, 0); I found (img.flags & IMG_TRANSPARENCY) this branch always nagative. But my Image has transparent background. How shold I do? _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post101108 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post101114 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Di Jin(deleted) 2013-05-06T02:53:20Z post101133: multiple layers-hardware http://community.qnx.com/sf/go/post101133 Hi there, If I am trying to display using 2 layers (2 processes), both using gf, but I found my hardware only had one layer. My question will be: how can I get the hardware which supports multiple layer? If I am doing it under vmware, what is the proper driver to use? thanks, Lu Lu Li(deleted) 2013-05-03T16:58:56Z post101119: 答复: How to show a PNG image with transparent background http://community.qnx.com/sf/go/post101119 Dear,Sir. Please check the attaching file. I generate it by Fireworks. Thanks and Best Regards! ******************************************* 金狄 天元鼎正电子科技(北京)有限公司 北京市海淀区上地七街1号汇众大厦106 邮编:100085 电话:010-62970815 手机:18601122606 ******************************************* -----邮件原件----- 发件人: Derek Leach [mailto:community-noreply@qnx.com] 发送时间: 2013年5月3日 21:27 收件人: advanced-graphics 主题: RE: How to show a PNG image with transparent background What kind of PNG, 32-bit? -----Original Message----- From: Di Jin [mailto:community-noreply@qnx.com] Sent: May-03-13 4:47 AM To: advanced-graphics Subject: How to show a PNG image with transparent background I have a PNG image. I modify the background of image to transparency in the Photoshop. I write the code like this: if (img.flags & IMG_TRANSPARENCY) { /* we can handle transparency in GF using chroma */ gf_chroma_t chroma; memset(&chroma, 0, sizeof chroma); chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW; if (img.format & IMG_FMT_PALETTE) { chroma.color0 = img.palette[img.transparency.index]; } else if (IMG_FMT_BPP(img.format) < 24) { chroma.color0 = img.transparency.rgb16; } else { chroma.color0 = img.transparency.rgb32; } gf_context_set_chroma(*p_context, &chroma); } if (img.format & IMG_FMT_ALPHA) { gf_alpha_t alpha; memset(&alpha, 0, sizeof alpha); alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA | GF_BLEND_SRC_M1 | GF_BLEND_DST_1mM1; gf_context_set_alpha(*p_context, &alpha); } // blit the image onto a target surface gf_draw_blit2(*p_context, *p_surface, NULL, 0, 0, img.w - 1, img.h - 1, 0, 0); I found (img.flags & IMG_TRANSPARENCY) this branch always nagative. But my Image has transparent background. How shold I do? _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post101108 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post101114 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Di Jin(deleted) 2013-05-03T14:17:48Z post101114: RE: How to show a PNG image with transparent background http://community.qnx.com/sf/go/post101114 What kind of PNG, 32-bit? -----Original Message----- From: Di Jin [mailto:community-noreply@qnx.com] Sent: May-03-13 4:47 AM To: advanced-graphics Subject: How to show a PNG image with transparent background I have a PNG image. I modify the background of image to transparency in the Photoshop. I write the code like this: if (img.flags & IMG_TRANSPARENCY) { /* we can handle transparency in GF using chroma */ gf_chroma_t chroma; memset(&chroma, 0, sizeof chroma); chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW; if (img.format & IMG_FMT_PALETTE) { chroma.color0 = img.palette[img.transparency.index]; } else if (IMG_FMT_BPP(img.format) < 24) { chroma.color0 = img.transparency.rgb16; } else { chroma.color0 = img.transparency.rgb32; } gf_context_set_chroma(*p_context, &chroma); } if (img.format & IMG_FMT_ALPHA) { gf_alpha_t alpha; memset(&alpha, 0, sizeof alpha); alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA | GF_BLEND_SRC_M1 | GF_BLEND_DST_1mM1; gf_context_set_alpha(*p_context, &alpha); } // blit the image onto a target surface gf_draw_blit2(*p_context, *p_surface, NULL, 0, 0, img.w - 1, img.h - 1, 0, 0); I found (img.flags & IMG_TRANSPARENCY) this branch always nagative. But my Image has transparent background. How shold I do? _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post101108 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2013-05-03T13:27:01Z post101108: How to show a PNG image with transparent background http://community.qnx.com/sf/go/post101108 I have a PNG image. I modify the background of image to transparency in the Photoshop. I write the code like this: if (img.flags & IMG_TRANSPARENCY) { /* we can handle transparency in GF using chroma */ gf_chroma_t chroma; memset(&chroma, 0, sizeof chroma); chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW; if (img.format & IMG_FMT_PALETTE) { chroma.color0 = img.palette[img.transparency.index]; } else if (IMG_FMT_BPP(img.format) < 24) { chroma.color0 = img.transparency.rgb16; } else { chroma.color0 = img.transparency.rgb32; } gf_context_set_chroma(*p_context, &chroma); } if (img.format & IMG_FMT_ALPHA) { gf_alpha_t alpha; memset(&alpha, 0, sizeof alpha); alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA | GF_BLEND_SRC_M1 | GF_BLEND_DST_1mM1; gf_context_set_alpha(*p_context, &alpha); } // blit the image onto a target surface gf_draw_blit2(*p_context, *p_surface, NULL, 0, 0, img.w - 1, img.h - 1, 0, 0); I found (img.flags & IMG_TRANSPARENCY) this branch always nagative. But my Image has transparent background. How shold I do? Di Jin(deleted) 2013-05-03T08:47:29Z post100015: IMX28: writing directly to a layer surface http://community.qnx.com/sf/go/post100015 I created a 24 BPP surface using gf_surface_create_layer, specifying CPU_LINEARLY_ACCESSIBLE, and verified that the surface does indeed have this flag set in the surface_info_t. However, when I try and write to the surface, the access does not appear to be linear. It seems as though there is a swizzle or address redirection occurring. Drawing to a 32 bit surface and then using gf_draw_blit to blit to the 24 BPP layer_surface has the same issue. Is it possible to write linearly (with the CPU) to a displayable surface on this chipset? Chris Keating(deleted) 2013-03-19T20:10:28Z post99705: Re: Problem for gf-calib http://community.qnx.com/sf/go/post99705 I got the same problem: # gf-calib -D -f /tmp/calib.conf Number of layers: 1 Resolution: 800x480, refresh = 60Hz layer_idx=0 img_load(target1): errno = 3 load_image2surf(): failed switch_lcd_on switch_lcd_off could any guys help me jimmy shao 2013-03-06T14:08:15Z post99336: how to display mouse cursor under non gf frameworks (ex: screen / libscreen.so ) http://community.qnx.com/sf/go/post99336 Hi all, I am not sure where should I post this question. Is there any simliar config file (such as /etc/system/config/display.conf, cursor=hardware) for screen.so or screen process on QNX CAR 2 ROM to show the mouse cursor if I use USB mouse instead of touch panel? Regards, Chinlin chinlin hung(deleted) 2013-02-19T07:36:59Z post99320: Re: RE: Line dashing http://community.qnx.com/sf/go/post99320 On my hardware (devg-i830.so) dashed line can't be drawn if width of line is set to 1. If width of line is bigger than 1 then everything works ok. Also looks like that my hardware handles line_repeat qual to 32 only. Is this limitation common to all devices supported via the same driver in this case devg-i830.so ? > gf_point_t p[] = { { 50,250},{w-100,250}}; > gf_context_set_fgcolor(context,0x00ffff); > gf_context_set_bgcolor(context,0xffffff); > gf_context_set_linedash(context,0x000ffff, 0, 32, > GF_CONTEXT_LINEDASH_BACKFILL); > gf_context_set_penwidth( context,10); > gf_draw_polyline(context,p,2,0); > > -----Original Message----- > From: Jacek Rudnicki [mailto:community-noreply@qnx.com] > Sent: February-14-13 2:55 PM > To: advanced-graphics > Subject: Re: Line dashing > > I need to draw dotted and dashed line. > > Can anybody explain how to use the gf_context_set_linedash() for such purpose > ? > Is it possible to draw a dashed line on the patchy background ? > > > Hi, > > > > Example from documentation "Setting line attributes" draws a solid > > line, even if I play with function parameters. > > > > What is a proper usage of the gf_context_set_linedash() function ? > > > > Thank's, > > Jacek > > > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post99297 > To cancel your subscription to this discussion, please e-mail advanced- > graphics-unsubscribe@community.qnx.com Jacek Rudnicki(deleted) 2013-02-15T19:58:20Z post99298: RE: Line dashing http://community.qnx.com/sf/go/post99298 gf_point_t p[] = { { 50,250},{w-100,250}}; gf_context_set_fgcolor(context,0x00ffff); gf_context_set_bgcolor(context,0xffffff); gf_context_set_linedash(context,0x000ffff, 0, 32, GF_CONTEXT_LINEDASH_BACKFILL); gf_context_set_penwidth( context,10); gf_draw_polyline(context,p,2,0); -----Original Message----- From: Jacek Rudnicki [mailto:community-noreply@qnx.com] Sent: February-14-13 2:55 PM To: advanced-graphics Subject: Re: Line dashing I need to draw dotted and dashed line. Can anybody explain how to use the gf_context_set_linedash() for such purpose ? Is it possible to draw a dashed line on the patchy background ? > Hi, > > Example from documentation "Setting line attributes" draws a solid > line, even if I play with function parameters. > > What is a proper usage of the gf_context_set_linedash() function ? > > Thank's, > Jacek _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post99297 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2013-02-14T20:02:01Z post99297: Re: Line dashing http://community.qnx.com/sf/go/post99297 I need to draw dotted and dashed line. Can anybody explain how to use the gf_context_set_linedash() for such purpose ? Is it possible to draw a dashed line on the patchy background ? > Hi, > > Example from documentation "Setting line attributes" draws a solid line, > even if I play with function parameters. > > What is a proper usage of the gf_context_set_linedash() function ? > > Thank's, > Jacek Jacek Rudnicki(deleted) 2013-02-14T19:54:57Z post99210: Line dashing http://community.qnx.com/sf/go/post99210 Hi, Example from documentation "Setting line attributes" draws a solid line, even if I play with function parameters. What is a proper usage of the gf_context_set_linedash() function ? Thank's, Jacek Jacek Rudnicki(deleted) 2013-02-11T20:16:01Z post99209: RE: Drawing a cicle http://community.qnx.com/sf/go/post99209 You are correct, there is no 'draw circle' in GF. The original reason was that hardware did not generally implement such a request, and GF only generally mirrors hardware functionality. Photon supports drawing of circles, but at the lowest level, it is all broken down to many span draws. -----Original Message----- From: Jacek Rudnicki [mailto:community-noreply@qnx.com] Sent: February-11-13 3:12 PM To: advanced-graphics Subject: Re: Drawing a cicle The GF library doesn't include function for drawing a cricle. Looks like that I have to implement such routine itself. > How to draw a circle ? > Is it possible ? > > Jacek _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post99208 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2013-02-11T20:15:44Z post99208: Re: Drawing a cicle http://community.qnx.com/sf/go/post99208 The GF library doesn't include function for drawing a cricle. Looks like that I have to implement such routine itself. > How to draw a circle ? > Is it possible ? > > Jacek Jacek Rudnicki(deleted) 2013-02-11T20:11:45Z post99206: Re: RE: RE: chroma operation increasing CPU hog http://community.qnx.com/sf/go/post99206 Ok, so I have to look for the another solution... > > I set chroma as follows: > > chroma.mode = GF_CHROMA_OP_DST_MATCH | GF_CHROMA_OP_NO_DRAW; > > Sorry, but it is unaccelerated. Only SRC_MATCH | NO_DRAW is accelereted. Jacek Rudnicki(deleted) 2013-02-11T20:05:57Z post99196: Re: RE: RE: chroma operation increasing CPU hog http://community.qnx.com/sf/go/post99196 > I set chroma as follows: > chroma.mode = GF_CHROMA_OP_DST_MATCH | GF_CHROMA_OP_NO_DRAW; Sorry, but it is unaccelerated. Only SRC_MATCH | NO_DRAW is accelereted. Mike Gorchak 2013-02-11T07:00:49Z post99092: Drawing a cicle http://community.qnx.com/sf/go/post99092 How to draw a circle ? Is it possible ? Jacek Jacek Rudnicki(deleted) 2013-02-05T19:02:18Z post99049: RE: Layers - code example http://community.qnx.com/sf/go/post99049 Are the pixel formats of the source and destination surfaces different? Are planemask or rops enabled during this operation? Are either of the surfaces allocated for CPU fast access? Any of these will force chroma blit into CPU software mode ... -----Original Message----- From: Jacek Rudnicki [mailto:community-noreply@qnx.com] Sent: February-04-13 4:35 PM To: advanced-graphics Subject: Layers - code example Hi, Is there any example which shows how to properly use layers ? Thank's Jacek _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post99048 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2013-02-04T21:48:10Z post99048: Layers - code example http://community.qnx.com/sf/go/post99048 Hi, Is there any example which shows how to properly use layers ? Thank's Jacek Jacek Rudnicki(deleted) 2013-02-04T21:34:51Z post99043: Re: RE: RE: chroma operation increasing CPU hog http://community.qnx.com/sf/go/post99043 I set chroma as follows: chroma.mode = GF_CHROMA_OP_DST_MATCH | GF_CHROMA_OP_NO_DRAW; > Ok, there is a hw accel for certain chroma operations, but not all, what > chroma flags are you setting? > > -----Original Message----- > From: Jacek Rudnicki [mailto:community-noreply@qnx.com] > Sent: February-04-13 11:38 AM > To: advanced-graphics > Subject: Re: RE: chroma operation increasing CPU hog > > devg-i830 > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post99041 > To cancel your subscription to this discussion, please e-mail advanced- > graphics-unsubscribe@community.qnx.com Jacek Rudnicki(deleted) 2013-02-04T16:45:28Z post99042: RE: RE: chroma operation increasing CPU hog http://community.qnx.com/sf/go/post99042 Ok, there is a hw accel for certain chroma operations, but not all, what chroma flags are you setting? -----Original Message----- From: Jacek Rudnicki [mailto:community-noreply@qnx.com] Sent: February-04-13 11:38 AM To: advanced-graphics Subject: Re: RE: chroma operation increasing CPU hog devg-i830 _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post99041 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2013-02-04T16:40:58Z post99041: Re: RE: chroma operation increasing CPU hog http://community.qnx.com/sf/go/post99041 devg-i830 Jacek Rudnicki(deleted) 2013-02-04T16:37:56Z post99032: RE: chroma operation increasing CPU hog http://community.qnx.com/sf/go/post99032 What devg driver are you using? -----Original Message----- From: Jacek Rudnicki [mailto:community-noreply@qnx.com] Sent: February-03-13 2:54 PM To: advanced-graphics Subject: chroma operation increasing CPU hog Hi, In application respnsible for displaying video stream the gf_draw_blit2() is called very often. When I set chroma via gf_context_set_chroma() then the following behavior is observed: - increasing CPU hog, - corrupted picture, - picture is not displayed in real time. I need to set chroma keying in order to not display video data on particular color. Am I doing something wrong or my hardware is too slow for such usage ? Application is tested with devg-i830.so driver. Regards, Jacek _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post99026 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2013-02-04T13:50:19Z post99026: chroma operation increasing CPU hog http://community.qnx.com/sf/go/post99026 Hi, In application respnsible for displaying video stream the gf_draw_blit2() is called very often. When I set chroma via gf_context_set_chroma() then the following behavior is observed: - increasing CPU hog, - corrupted picture, - picture is not displayed in real time. I need to set chroma keying in order to not display video data on particular color. Am I doing something wrong or my hardware is too slow for such usage ? Application is tested with devg-i830.so driver. Regards, Jacek Jacek Rudnicki(deleted) 2013-02-03T19:53:33Z post99006: Two layers - GF & Photon http://community.qnx.com/sf/go/post99006 Hello, I have application (hybrid of GF and Photon) which is responsible for displaying video stream. Everything works fine and data is displayed in layer 0 which is shared with Photon. I need to draw some lines and text on the top of video stream. Idea is as follows: Layer0: Photon application (lines, text, some other components, widgets, ...), Layer1: GF+Photon (video stream). I don't know if this is a right direction. Regards, Jacek Jacek Rudnicki(deleted) 2013-02-01T19:17:58Z post98343: Re: Problem for gf-calib http://community.qnx.com/sf/go/post98343 Try running your application with "LD_DEBUG=1 {your-app}". You should see which library your are missing. Misha Nefedov 2013-01-02T16:43:51Z post98313: Re: Problem for gf-calib http://community.qnx.com/sf/go/post98313 Afetr including img.conf and img_codec so's i am getting error as Number of layers: 3 Resolution: 720x400, refresh = 60Hz layer_idx=0 img_load(target1): errno = 3 load_image2surf(): failed Please help. bhanu shankar d g 2012-12-24T06:29:35Z post97623: RE: RE: RE: RE: gf_layer_attach() failed !!! http://community.qnx.com/sf/go/post97623 Please contact tech support for this level of support. -----Original Message----- From: Ashwini Dubey [mailto:community-noreply@qnx.com] Sent: November-29-12 10:20 AM To: advanced-graphics Subject: Re: RE: RE: RE: gf_layer_attach() failed !!! Can you please provide example of working GF drawing code. Do let me also know how to toggle between GUI and text mode. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post97622 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-11-29T15:20:02Z post97622: Re: RE: RE: RE: gf_layer_attach() failed !!! http://community.qnx.com/sf/go/post97622 Can you please provide example of working GF drawing code. Do let me also know how to toggle between GUI and text mode. Ashwini Dubey(deleted) 2012-11-29T15:19:43Z post97615: RE: RE: RE: gf_layer_attach() failed !!! http://community.qnx.com/sf/go/post97615 If you want to use Photon, ypu must use Pg photon drawing lines, please see helpviewer in Photon. If you want to use GF application, then you must exit Photon to text mode, then to make it easy, telnet into the QNX box, then run the GF application. -----Original Message----- From: Ashwini Dubey [mailto:community-noreply@qnx.com] Sent: November-29-12 3:16 AM To: advanced-graphics Subject: Re: RE: RE: gf_layer_attach() failed !!! What else is running on the machine? I have a default installation and basic GUI is running. …...... Is Photon running? Yes. 176152 1 /photon/bin/Photon 10r RECEIVE 1 …...... Number of displays: 1 Display 0: 1024X768, refresh = 60Hz Number of layers: 1 …...... I am very new to QNX, but I am experienced in linux application and kernel development. Currently I am using intel HD Graphics, PCI device, Vendor ID:8086, Device ID:0152. …. please suggest what I need to draw a rectangle or circle or line. Below is list of all the process running. Result of pidin command. pid tid name prio STATE Blocked 1 1 boot/procnto-instr 0f READY 1 2 boot/procnto-instr 255r RECEIVE 1 1 3 boot/procnto-instr 10r RECEIVE 1 1 4 boot/procnto-instr 10r RUNNING 1 5 boot/procnto-instr 255r RECEIVE 1 1 7 boot/procnto-instr 10r RECEIVE 1 1 8 boot/procnto-instr 10r RECEIVE 1 1 10 boot/procnto-instr 10r RECEIVE 1 1 11 boot/procnto-instr 10r RECEIVE 1 1 12 boot/procnto-instr 10r RECEIVE 1 1 15 boot/procnto-instr 10r RECEIVE 1 1 16 boot/procnto-instr 10r RECEIVE 1 2 1 sbin/tinit 10o REPLY 1 4099 1 proc/boot/pci-bios 10o RECEIVE 1 4100 1 proc/boot/slogger 10o RECEIVE 1 4101 1 proc/boot/io-usb 10o SIGWAITINFO 4101 2 proc/boot/io-usb 21r RECEIVE 4 4101 3 proc/boot/io-usb 21r RECEIVE 7 4101 4 proc/boot/io-usb 21r RECEIVE 1 4101 5 proc/boot/io-usb 10o RECEIVE 10 4101 6 proc/boot/io-usb 10r NANOSLEEP 4101 7 proc/boot/io-usb 10o RECEIVE 10 4101 8 proc/boot/io-usb 10o RECEIVE 10 4102 1 proc/boot/io-hid 10o SIGWAITINFO 4102 2 proc/boot/io-hid 21r RECEIVE 1 4102 4 proc/boot/io-hid 10o RECEIVE 4 4102 5 proc/boot/io-hid 10r REPLY 4101 4102 6 proc/boot/io-hid 10r REPLY 4101 4102 7 proc/boot/io-hid 9r RECEIVE 12 4102 8 proc/boot/io-hid 9r RECEIVE 16 4102 9 proc/boot/io-hid 10o RECEIVE 4 4103 1 /boot/devc-con-hid 20o RECEIVE 1 4103 2 /boot/devc-con-hid 10o REPLY 4102 8200 1 roc/boot/devb-eide 10o SIGWAITINFO 8200 2 roc/boot/devb-eide 21r RECEIVE 1 8200 3 roc/boot/devb-eide 21o RECEIVE 7 8200 4 roc/boot/devb-eide 10o RECEIVE 4 8200 5 roc/boot/devb-eide 10o RECEIVE 4 8200 6 roc/boot/devb-eide 10o RECEIVE 4 8200 7 roc/boot/devb-eide 10o RECEIVE 4 8200 10 roc/boot/devb-eide 10o RECEIVE 4 8200 13 roc/boot/devb-eide 10o RECEIVE 4 20489 1 sbin/pipe 10o SIGWAITINFO 20489 2 sbin/pipe 10o RECEIVE 1 20489 3 sbin/pipe 10o RECEIVE 1 20489 4 sbin/pipe 10o RECEIVE 1 20489 5 sbin/pipe 10o RECEIVE 1 24586 1 sbin/mqueue 10o RECEIVE 1 53259 1 usr/sbin/mcd 10o RECEIVE 1 53259 2 usr/sbin/mcd 10o NANOSLEEP 53259 3 usr/sbin/mcd 10o SIGWAITINFO 53259 4 usr/sbin/mcd 9o SIGWAITINFO 53259 5 usr/sbin/mcd 10o SIGWAITINFO 53259 6 usr/sbin/mcd 10o SIGWAITINFO 53259 7 usr/sbin/mcd 10o SIGWAITINFO 57356 1 usr/sbin/random 10o SIGWAITINFO 57356 2 usr/sbin/random 10o RECEIVE 1 57356 3 usr/sbin/random 10o NANOSLEEP 61453 1 sbin/enum-devices 10o REPLY 20489 77840 1 sbin/enum-usb 10o SIGWAITINFO 77840 2 sbin/enum-usb 10r REPLY 4101 94222 1 sbin/io-display 10o SIGWAITINFO 94222 2 sbin/io-display 10o RECEIVE 1 94222 3 sbin/io-display 12o RECEIVE 1 94222 4 sbin/io-display 10o RECEIVE 3 94222 5 sbin/io-display 10o RECEIVE 1 118799 1 sbin/io-pkt-v4-hc 21o SIGWAITINFO 118799 2 sbin/io-pkt-v4-hc 21o RECEIVE 1 118801 1 sbin/devc-pty 10o RECEIVE 1 131090 1 usr/sbin/dumper 10o RECEIVE 1 147475 1 bin/login 10o REPLY 4103 147476 1 bin/login 10o REPLY 4103 147477 1 bin/login 10o REPLY 4103 176152 1 /photon/bin/Photon 10r RECEIVE 1 196633 1 on/bin/io-graphics 12r CONDVAR (0x805dc40) 196633 2 on/bin/io-graphics 10r RECEIVE 1 196633 3 on/bin/io-graphics 12r REPLY 176152 213020 1 hoton/bin/devi-hid 10o RECEIVE 1 213020 2 hoton/bin/devi-hid 10o REPLY 4102 213020 3 hoton/bin/devi-hid 12o SIGWAITINFO 213020 4 hoton/bin/devi-hid 10o RECEIVE 1 213020 5 hoton/bin/devi-hid 10o RECEIVE 1 225302 1 bin/login 10o REPLY 4103 786465 1 sbin/io-pkt-v4-hc 21r SIGWAITINFO 786465 2 sbin/io-pkt-v4-hc 10r RECEIVE 1 811044 1 r/sbin/dhcp.client 10r NANOSLEEP 3182629 1 usr/sbin/sshd 10r SIGWAITINFO 4292635 1 usr/photon/bin/pwm 10r RECEIVE 1 4321309 1 r/photon/bin/shelf 10r CONDVAR (0x8076f88) 4321309 2 r/photon/bin/shelf 10r RECEIVE 1 4341790 1 photon/bin/bkgdmgr 10r RECEIVE 1 4341791 1 hoton/bin/wmswitch 10r RECEIVE 2 4341792 1 r/photon/bin/saver 10r RECEIVE 1 4689961 1 usr/sbin/inetd 10r SIGWAITINFO 4771874 1 usr/bin/phrelay 10r REPLY 176152 4771874 2 usr/bin/phrelay 10r REPLY 786465 4771874 3 usr/bin/phrelay 10r CONDVAR (0x805be30) 4792343 1 r/photon/bin/pterm 10r RECEIVE 1 4792346 1 bin/sh 10r SIGSUSPEND 4792355 1 bin/pidin 10r REPLY 1 _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post97598 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-11-29T14:01:59Z post97598: Re: RE: RE: gf_layer_attach() failed !!! http://community.qnx.com/sf/go/post97598 What else is running on the machine? I have a default installation and basic GUI is running. …...... Is Photon running? Yes. 176152 1 /photon/bin/Photon 10r RECEIVE 1 …...... Number of displays: 1 Display 0: 1024X768, refresh = 60Hz Number of layers: 1 …...... I am very new to QNX, but I am experienced in linux application and kernel development. Currently I am using intel HD Graphics, PCI device, Vendor ID:8086, Device ID:0152. …. please suggest what I need to draw a rectangle or circle or line. Below is list of all the process running. Result of pidin command. pid tid name prio STATE Blocked 1 1 boot/procnto-instr 0f READY 1 2 boot/procnto-instr 255r RECEIVE 1 1 3 boot/procnto-instr 10r RECEIVE 1 1 4 boot/procnto-instr 10r RUNNING 1 5 boot/procnto-instr 255r RECEIVE 1 1 7 boot/procnto-instr 10r RECEIVE 1 1 8 boot/procnto-instr 10r RECEIVE 1 1 10 boot/procnto-instr 10r RECEIVE 1 1 11 boot/procnto-instr 10r RECEIVE 1 1 12 boot/procnto-instr 10r RECEIVE 1 1 15 boot/procnto-instr 10r RECEIVE 1 1 16 boot/procnto-instr 10r RECEIVE 1 2 1 sbin/tinit 10o REPLY 1 4099 1 proc/boot/pci-bios 10o RECEIVE 1 4100 1 proc/boot/slogger 10o RECEIVE 1 4101 1 proc/boot/io-usb 10o SIGWAITINFO 4101 2 proc/boot/io-usb 21r RECEIVE 4 4101 3 proc/boot/io-usb 21r RECEIVE 7 4101 4 proc/boot/io-usb 21r RECEIVE 1 4101 5 proc/boot/io-usb 10o RECEIVE 10 4101 6 proc/boot/io-usb 10r NANOSLEEP 4101 7 proc/boot/io-usb 10o RECEIVE 10 4101 8 proc/boot/io-usb 10o RECEIVE 10 4102 1 proc/boot/io-hid 10o SIGWAITINFO 4102 2 proc/boot/io-hid 21r RECEIVE 1 4102 4 proc/boot/io-hid 10o RECEIVE 4 4102 5 proc/boot/io-hid 10r REPLY 4101 4102 6 proc/boot/io-hid 10r REPLY 4101 4102 7 proc/boot/io-hid 9r RECEIVE 12 4102 8 proc/boot/io-hid 9r RECEIVE 16 4102 9 proc/boot/io-hid 10o RECEIVE 4 4103 1 /boot/devc-con-hid 20o RECEIVE 1 4103 2 /boot/devc-con-hid 10o REPLY 4102 8200 1 roc/boot/devb-eide 10o SIGWAITINFO 8200 2 roc/boot/devb-eide 21r RECEIVE 1 8200 3 roc/boot/devb-eide 21o RECEIVE 7 8200 4 roc/boot/devb-eide 10o RECEIVE 4 8200 5 roc/boot/devb-eide 10o RECEIVE 4 8200 6 roc/boot/devb-eide 10o RECEIVE 4 8200 7 roc/boot/devb-eide 10o RECEIVE 4 8200 10 roc/boot/devb-eide 10o RECEIVE 4 8200 13 roc/boot/devb-eide 10o RECEIVE 4 20489 1 sbin/pipe 10o SIGWAITINFO 20489 2 sbin/pipe 10o RECEIVE 1 20489 3 sbin/pipe 10o RECEIVE 1 20489 4 sbin/pipe 10o RECEIVE 1 20489 5 sbin/pipe 10o RECEIVE 1 24586 1 sbin/mqueue 10o RECEIVE 1 53259 1 usr/sbin/mcd 10o RECEIVE 1 53259 2 usr/sbin/mcd 10o NANOSLEEP 53259 3 usr/sbin/mcd 10o SIGWAITINFO 53259 4 usr/sbin/mcd 9o SIGWAITINFO 53259 5 usr/sbin/mcd 10o SIGWAITINFO 53259 6 usr/sbin/mcd 10o SIGWAITINFO 53259 7 usr/sbin/mcd 10o SIGWAITINFO 57356 1 usr/sbin/random 10o SIGWAITINFO 57356 2 usr/sbin/random 10o RECEIVE 1 57356 3 usr/sbin/random 10o NANOSLEEP 61453 1 sbin/enum-devices 10o REPLY 20489 77840 1 sbin/enum-usb 10o SIGWAITINFO 77840 2 sbin/enum-usb 10r REPLY 4101 94222 1 sbin/io-display 10o SIGWAITINFO 94222 2 sbin/io-display 10o RECEIVE 1 94222 3 sbin/io-display 12o RECEIVE 1 94222 4 sbin/io-display 10o RECEIVE 3 94222 5 sbin/io-display 10o RECEIVE 1 118799 1 sbin/io-pkt-v4-hc 21o SIGWAITINFO 118799 2 sbin/io-pkt-v4-hc 21o RECEIVE 1 118801 1 sbin/devc-pty 10o RECEIVE 1 131090 1 usr/sbin/dumper 10o RECEIVE 1 147475 1 bin/login 10o REPLY 4103 147476 1 bin/login 10o REPLY 4103 147477 1 bin/login 10o REPLY 4103 176152 1 /photon/bin/Photon 10r RECEIVE 1 196633 1 on/bin/io-graphics 12r CONDVAR (0x805dc40) 196633 2 on/bin/io-graphics 10r RECEIVE 1 196633 3 on/bin/io-graphics 12r REPLY 176152 213020 1 hoton/bin/devi-hid 10o RECEIVE 1 213020 2 hoton/bin/devi-hid 10o REPLY 4102 213020 3 hoton/bin/devi-hid 12o SIGWAITINFO 213020 4 hoton/bin/devi-hid 10o RECEIVE 1 213020 5 hoton/bin/devi-hid 10o RECEIVE 1 225302 1 bin/login 10o REPLY 4103 786465 1 sbin/io-pkt-v4-hc 21r SIGWAITINFO 786465 2 sbin/io-pkt-v4-hc 10r RECEIVE 1 811044 1 r/sbin/dhcp.client 10r NANOSLEEP 3182629 1 usr/sbin/sshd 10r SIGWAITINFO 4292635 1 usr/photon/bin/pwm 10r RECEIVE 1 4321309 1 r/photon/bin/shelf 10r CONDVAR (0x8076f88) 4321309 2 r/photon/bin/shelf 10r RECEIVE 1 4341790 1 photon/bin/bkgdmgr 10r RECEIVE 1 4341791 1 hoton/bin/wmswitch 10r RECEIVE 2 4341792 1 r/photon/bin/saver 10r RECEIVE 1 4689961 1 usr/sbin/inetd 10r SIGWAITINFO 4771874 1 usr/bin/phrelay 10r REPLY 176152 4771874 2 usr/bin/phrelay 10r REPLY 786465 4771874 3 usr/bin/phrelay 10r CONDVAR (0x805be30) 4792343 1 r/photon/bin/pterm 10r RECEIVE 1 4792346 1 bin/sh 10r SIGSUSPEND 4792355 1 bin/pidin 10r REPLY 1 Ashwini Dubey(deleted) 2012-11-29T08:16:13Z post97562: RE: RE: gf_layer_attach() failed !!! http://community.qnx.com/sf/go/post97562 What else is running on the machine? Is Photon running? You only have one layer on your machine, so no other graphics environment or application can be running. -----Original Message----- From: Ashwini Dubey [mailto:community-noreply@qnx.com] Sent: November-28-12 3:45 AM To: advanced-graphics Subject: Re: RE: gf_layer_attach() failed !!! Return Value = 0x8 which is GF_ERR_INUSE.. I have installed qnx on i5 intel machine....and i can connect to it and run basic hello world... i can use web browser too. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post97541 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-11-28T15:09:05Z post97543: gf_surface_create_layer failed, returned 1, memory allocation failed http://community.qnx.com/sf/go/post97543 hi all, i am new to QNX graphics and i am facing problem regarding memory allocation failed in gf_surface_create_layer(); return value = 1, GF_ERR_MEM code is given below.. #include <stdlib.h> #include <stdio.h> #include<gf/gf.h> int main(int argc, char *argv[]) { gf_dev_t gdev; gf_dev_info_t gdev_info; gf_display_t display; gf_display_info_t display_info; gf_layer_t layer; gf_surface_t surface; int i=0; if (gf_dev_attach(&gdev, GF_DEVICE_INDEX(0), &gdev_info) != GF_ERR_OK) { printf("gf_dev_attach() failed\n"); return (-1); } printf("Number of displays: %d\n",gdev_info.ndisplays); for (i = 0; i < gdev_info.ndisplays; i++ ) { printf("Display %d: ", i); if (gf_display_attach(&display, gdev, i, &display_info) == GF_ERR_OK) { printf("%dX%d, refresh = %dHz\n", display_info.xres, display_info.yres, display_info.refresh); printf("Number of layers: %d\n", display_info.nlayers); if (gf_layer_attach(&layer, display,0, 1) == GF_ERR_OK ) { printf("\n\tLayer attached Successfully."); //printf("\n\t%d", gf_surface_create_layer(&surface, &layer, 1,0, display_info.xres, display_info.yres, display_info.format , NULL, 0 )); if(gf_surface_create_layer(&surface, &layer, 0,0, display_info.xres, display_info.yres, GF_FORMAT_PACK_RGB565 , NULL, 0 ) == GF_ERR_OK ) { printf("\n\tSurface created successfully."); } else printf("\n\tSurface failed."); } else printf("\n\tLayer Failed."); } else printf("gf_display_attach() failed\n"); } printf("\n\tWelcome to the QNX Momentics IDE\n"); if(gdev) { gf_dev_detach(gdev); } return EXIT_SUCCESS; } Rahul Kaswa 2012-11-28T10:48:05Z post97541: Re: RE: gf_layer_attach() failed !!! http://community.qnx.com/sf/go/post97541 Return Value = 0x8 which is GF_ERR_INUSE.. I have installed qnx on i5 intel machine....and i can connect to it and run basic hello world... i can use web browser too. Ashwini Dubey(deleted) 2012-11-28T08:45:08Z post97491: RE: gf_layer_attach() failed !!! http://community.qnx.com/sf/go/post97491 What is the return value from gf_layer_attach()? -----Original Message----- From: Ashwini Dubey [mailto:community-noreply@qnx.com] Sent: November-27-12 2:02 AM To: advanced-graphics Subject: gf_layer_attach() failed !!! Dear All, Dear All, I am new to qnx GF, I have read “Advanced Graphics Developers Guide.pdf” and trying to draw a rectangle on GF. I have x86 target machine connected to QNX Momentics IDE 4.7. gf_layer_attach() is failed... can some help... find output and code below. Output: Number of displays: 1 Display 0: 1024X768, refresh = 60Hz Number of layers: 1 code snippet: #include <stdio.h> #include <stdlib.h> #include <gf/gf.h> int main() { //device & display gf_dev_t gdev; gf_dev_info_t gdev_info; gf_display_t display; gf_display_info_t display_info; int i; //layer gf_layer_t layer; //surface gf_surface_t surface; unsigned height; unsigned width; gf_layer_info_t layer_info; //context gf_context_t context; if (gf_dev_attach(&gdev, GF_DEVICE_INDEX(0), &gdev_info) != GF_ERR_OK) { printf("gf_dev_attach() failed\n"); return (-1); } printf("Number of displays: %d\n",gdev_info.ndisplays); for (i = 0; i < gdev_info.ndisplays; i++) { printf("Display %d: ", i); if (gf_display_attach(&display, gdev, i, &display_info) == GF_ERR_OK) { printf("%dX%d, refresh = %dHz\n", display_info.xres, display_info.yres, display_info.refresh); printf("Number of layers: %d\n", display_info.nlayers); } else { printf("gf_display_attach() failed\n"); } } if (display != NULL) { if (gf_layer_attach(&layer,display,display_info.main_layer_index, 0) == GF_ERR_OK) { //if(gf_layer_attach(&layer,display,0, 0) == GF_ERR_OK) { printf("Attaching to Layer : 2\n "); } else { printf("gf_layer_attach() failed\n"); } } if((gf_layer_query(layer,0,&layer_info))==GF_ERR_OK){ printf("Layer is of Format %d\n",layer_info.format); } else{ printf(" gf_layer_query() failed"); } width = display_info.xres; height = display_info.yres; if (gf_surface_create_layer(&surface, &layer, 1, 0, width, height, layer_info.format, NULL, 0) == GF_ERR_OK) { printf("Succesfully created surface on top of layer\n"); gf_layer_set_surfaces(layer, &surface, 1); /* draw stuff here */ } else { printf("gf_surface_create_layer() failed\n"); } if (gf_context_create(&context) != GF_ERR_OK) { fprintf(stderr, "gf_context_create failed\n"); return -1; } else{ printf(" Created the context succefully\n"); } if (gf_context_set_surface(context,surface)!= GF_ERR_OK) { fprintf(stderr, "gf_context_set_surface failed\n"); return -1; } else{ printf("Context Surface is Set Succesfully\n"); } gf_draw_begin(context); gf_context_set_fgcolor(context,0xFFFFFF); gf_draw_rect(context,10,10,50,50); gf_context_set_fgcolor(context,0x000000); gf_draw_rect(context,20,20,40,40); gf_draw_end(context); gf_dev_detach(gdev); return 0; } _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post97473 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-11-27T14:15:55Z post97473: gf_layer_attach() failed !!! http://community.qnx.com/sf/go/post97473 Dear All, Dear All, I am new to qnx GF, I have read “Advanced Graphics Developers Guide.pdf” and trying to draw a rectangle on GF. I have x86 target machine connected to QNX Momentics IDE 4.7. gf_layer_attach() is failed... can some help... find output and code below. Output: Number of displays: 1 Display 0: 1024X768, refresh = 60Hz Number of layers: 1 code snippet: #include <stdio.h> #include <stdlib.h> #include <gf/gf.h> int main() { //device & display gf_dev_t gdev; gf_dev_info_t gdev_info; gf_display_t display; gf_display_info_t display_info; int i; //layer gf_layer_t layer; //surface gf_surface_t surface; unsigned height; unsigned width; gf_layer_info_t layer_info; //context gf_context_t context; if (gf_dev_attach(&gdev, GF_DEVICE_INDEX(0), &gdev_info) != GF_ERR_OK) { printf("gf_dev_attach() failed\n"); return (-1); } printf("Number of displays: %d\n",gdev_info.ndisplays); for (i = 0; i < gdev_info.ndisplays; i++) { printf("Display %d: ", i); if (gf_display_attach(&display, gdev, i, &display_info) == GF_ERR_OK) { printf("%dX%d, refresh = %dHz\n", display_info.xres, display_info.yres, display_info.refresh); printf("Number of layers: %d\n", display_info.nlayers); } else { printf("gf_display_attach() failed\n"); } } if (display != NULL) { if (gf_layer_attach(&layer,display,display_info.main_layer_index, 0) == GF_ERR_OK) { //if(gf_layer_attach(&layer,display,0, 0) == GF_ERR_OK) { printf("Attaching to Layer : 2\n "); } else { printf("gf_layer_attach() failed\n"); } } if((gf_layer_query(layer,0,&layer_info))==GF_ERR_OK){ printf("Layer is of Format %d\n",layer_info.format); } else{ printf(" gf_layer_query() failed"); } width = display_info.xres; height = display_info.yres; if (gf_surface_create_layer(&surface, &layer, 1, 0, width, height, layer_info.format, NULL, 0) == GF_ERR_OK) { printf("Succesfully created surface on top of layer\n"); gf_layer_set_surfaces(layer, &surface, 1); /* draw stuff here */ } else { printf("gf_surface_create_layer() failed\n"); } if (gf_context_create(&context) != GF_ERR_OK) { fprintf(stderr, "gf_context_create failed\n"); return -1; } else{ printf(" Created the context succefully\n"); } if (gf_context_set_surface(context,surface)!= GF_ERR_OK) { fprintf(stderr, "gf_context_set_surface failed\n"); return -1; } else{ printf("Context Surface is Set Succesfully\n"); } gf_draw_begin(context); gf_context_set_fgcolor(context,0xFFFFFF); gf_draw_rect(context,10,10,50,50); gf_context_set_fgcolor(context,0x000000); gf_draw_rect(context,20,20,40,40); gf_draw_end(context); gf_dev_detach(gdev); return 0; } Ashwini Dubey(deleted) 2012-11-27T07:01:57Z post96507: RE: Unable to launch io-graphics http://community.qnx.com/sf/go/post96507 Good :) -----Original Message----- From: KB [mailto:community-noreply@qnx.com] Sent: October-19-12 2:08 AM To: advanced-graphics Subject: Re: Unable to launch io-graphics Never mind this issue is solved. For further information check on this topic : http://www.openqnx.com/phpbbforum/viewtopic.php?f=8&t=13205 _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post96441 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-10-22T12:25:21Z post96505: RE: Unable to launch io-graphics http://community.qnx.com/sf/go/post96505 Do you have a /usr/photon/font_repository on your target? -----Original Message----- From: KB [mailto:community-noreply@qnx.com] Sent: October-15-12 9:35 AM To: advanced-graphics Subject: Unable to launch io-graphics Hi, I'm trying to run a small photon application on my embedded system (for instance phcalc). Here's my issue : I am able to run io-display, see my display.conf : # My PCI device { drivername=lx800 vid=0x1022 did=0x2081 deviceindex=0 display { xres=1024 yres=768 refresh=60 pixel_format=argb8888 } } I am able to run vsync. I can't launch demo-alpha > sloginfo : When I run io-graphics I've got the following error : Oct 15 15:07:47 6 8 0 Primary active: 0 9 7 Oct 15 15:07:58 6 8 0 VGA primary : bus 0x0 dev/func 0x9 Oct 15 15:07:58 6 8 0 Found 1 PCI/AGP display devices Oct 15 15:07:58 6 8 0 pci_init: found PCI device 1022:2081 Oct 15 15:07:58 6 8 0 No config file specified Oct 15 15:07:59 6 8 0 Primary active: 0 9 7 Il I launch Photon binary and then phcalc (for example), I have : "unable to attach to font server, pf_attach() : No such file or directory" "Ap: Unable to locate Photon (2)" If I run phfont I have : "PfAttachLocalDllArgv() : Invalid argument " and the following slog : Oct 15 15:07:59 6 8 0 Primary active: 0 9 7 Oct 15 15:12:42 1 8 0 phfont: init... Oct 15 15:12:42 1 8 0 phfont: unable to load font extension rules If I run ph script I have : "Unable to start graphics driver(s)" and the followin slog : Oct 15 15:16:46 1 8 0 phfont.so: init... Oct 15 15:16:46 1 8 0 phfont.so: unable to load font extension rules Oct 15 15:16:46 2 8 0 io-graphics: FAIL PfAttachLocalDll(): Invalid argument, please verify font server configuration. Oct 15 15:16:46 2 8 0 fontserver_setup() My script is attached. My environment variables are defined hereafter : HOME=/ PATH=/proc/boot:/bin:/usr/bin:/usr/sbin:/sbin:/APD:/usr/photon/bin LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll PHOTON_PATH=/usr/photon PHOTON2_PATH=/usr/photon PHOTON=/dev/photon PHFONT=/dev/phfont setconf _CS_LIBPATH :/proc/boot:/lib/dll:/dev/shmem:/lib:/usr/lib:/lib/dll:/lib/dll/font:/usr/photon/lib I'm running QNX 6.5.0. My board is a Rhodeus Geode (AMD 500Mghz) : http://www.diamondsystems.com/products/rhodeus My starting point was this official BSP : http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/AmdGeodeLxdb800 But I had to change things (surcvh as realtek driver)... I use devg-lx800.so graphic library. Any help would be appreciated. Thanks. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post96328 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-10-22T12:08:29Z post96441: Re: Unable to launch io-graphics http://community.qnx.com/sf/go/post96441 Never mind this issue is solved. For further information check on this topic : http://www.openqnx.com/phpbbforum/viewtopic.php?f=8&t=13205 KB(deleted) 2012-10-19T06:08:24Z post96328: Unable to launch io-graphics http://community.qnx.com/sf/go/post96328 Hi, I'm trying to run a small photon application on my embedded system (for instance phcalc). Here's my issue : I am able to run io-display, see my display.conf : # My PCI device { drivername=lx800 vid=0x1022 did=0x2081 deviceindex=0 display { xres=1024 yres=768 refresh=60 pixel_format=argb8888 } } I am able to run vsync. I can't launch demo-alpha > sloginfo : When I run io-graphics I've got the following error : Oct 15 15:07:47 6 8 0 Primary active: 0 9 7 Oct 15 15:07:58 6 8 0 VGA primary : bus 0x0 dev/func 0x9 Oct 15 15:07:58 6 8 0 Found 1 PCI/AGP display devices Oct 15 15:07:58 6 8 0 pci_init: found PCI device 1022:2081 Oct 15 15:07:58 6 8 0 No config file specified Oct 15 15:07:59 6 8 0 Primary active: 0 9 7 Il I launch Photon binary and then phcalc (for example), I have : "unable to attach to font server, pf_attach() : No such file or directory" "Ap: Unable to locate Photon (2)" If I run phfont I have : "PfAttachLocalDllArgv() : Invalid argument " and the following slog : Oct 15 15:07:59 6 8 0 Primary active: 0 9 7 Oct 15 15:12:42 1 8 0 phfont: init... Oct 15 15:12:42 1 8 0 phfont: unable to load font extension rules If I run ph script I have : "Unable to start graphics driver(s)" and the followin slog : Oct 15 15:16:46 1 8 0 phfont.so: init... Oct 15 15:16:46 1 8 0 phfont.so: unable to load font extension rules Oct 15 15:16:46 2 8 0 io-graphics: FAIL PfAttachLocalDll(): Invalid argument, please verify font server configuration. Oct 15 15:16:46 2 8 0 fontserver_setup() My script is attached. My environment variables are defined hereafter : HOME=/ PATH=/proc/boot:/bin:/usr/bin:/usr/sbin:/sbin:/APD:/usr/photon/bin LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll PHOTON_PATH=/usr/photon PHOTON2_PATH=/usr/photon PHOTON=/dev/photon PHFONT=/dev/phfont setconf _CS_LIBPATH :/proc/boot:/lib/dll:/dev/shmem:/lib:/usr/lib:/lib/dll:/lib/dll/font:/usr/photon/lib I'm running QNX 6.5.0. My board is a Rhodeus Geode (AMD 500Mghz) : http://www.diamondsystems.com/products/rhodeus My starting point was this official BSP : http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/AmdGeodeLxdb800 But I had to change things (surcvh as realtek driver)... I use devg-lx800.so graphic library. Any help would be appreciated. Thanks. KB(deleted) 2012-10-15T13:35:13Z post95938: Re: RE: devi-hid for armle-v7 http://community.qnx.com/sf/go/post95938 devi-hid for armle-v7 is available from QNX 6.5.0 SP1 Philip Endaya 2012-10-01T03:24:56Z post95905: Re: RE: BITMAPV5HEADER support http://community.qnx.com/sf/go/post95905 I thought BITMAPV5HEADER has been around for a while since it was supported from Windows 98 onwards. Thanks Derek! Philip Endaya 2012-09-28T03:43:48Z post95876: RE: BITMAPV5HEADER support http://community.qnx.com/sf/go/post95876 650 supported v4, which was the latest at the initial 650 time of release. -----Original Message----- From: Philip Endaya [mailto:community-noreply@qnx.com] Sent: September-27-12 2:51 AM To: advanced-graphics Subject: BITMAPV5HEADER support Hi, After some bmp codec soure code digging (bmp.h), it seems that QNX 6.5.0 only supports up to BITMAPV4HEADER but according to QNX documentation it provides full Microsoft BMP support for all known variants (http://www.qnx.com/developers/docs/6.5.0/index.jsp?topic=/com.qnx.doc.gf_dev_guide/images.html). Can someone confirm this? BR, Philip _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post95870 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-09-27T12:59:06Z post95870: BITMAPV5HEADER support http://community.qnx.com/sf/go/post95870 Hi, After some bmp codec soure code digging (bmp.h), it seems that QNX 6.5.0 only supports up to BITMAPV4HEADER but according to QNX documentation it provides full Microsoft BMP support for all known variants (http://www.qnx.com/developers/docs/6.5.0/index.jsp?topic=/com.qnx.doc.gf_dev_guide/images.html). Can someone confirm this? BR, Philip Philip Endaya 2012-09-27T06:50:31Z post95434: RE: libffb.so Issues on Poulsbo Board http://community.qnx.com/sf/go/post95434 Ok, glad you got it going. -----Original Message----- From: Joe Thompson [mailto:community-noreply@qnx.com] Sent: September-06-12 3:29 PM To: advanced-graphics Subject: Re: libffb.so Issues on Poulsbo Board Must be a driver conflict I stripped everything I didn't need from the OS and finally got graphics started using the poulsbo driver. Unfortunately I didn't do this systematically so I have no idea which driver or file was causing the problem _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post95421 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-09-07T12:39:58Z post95433: RE: RE: gf_draw_blit2() - problem with bigger surface size http://community.qnx.com/sf/go/post95433 True, but is there any way that another code path could have modified the context? -----Original Message----- From: Jacek Rudnicki [mailto:community-noreply@qnx.com] Sent: September-06-12 5:09 PM To: advanced-graphics Subject: Re: RE: gf_draw_blit2() - problem with bigger surface size I believe that the gf_context_t is inited properly. Here is a part of code responsible for drawing: gf_draw_begin (context); gf_draw_blit2 (context, img_surf, NULL, 0, 0, 639, 479, 0, 0); gf_draw_flush (context); gf_draw_end (context); nothing specific but fails. When I do a blit2() operation more often but on smaller area then everything is ok: gf_draw_begin (context); gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2); gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2+1); gf_draw_flush (context); gf_draw_end (context); BUFLEN is defined as 320. In both examples img_suf is connected with the same 640x480 target area. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post95423 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-09-07T12:37:54Z post95426: Re: RE: gf_draw_blit2() - problem with bigger surface size http://community.qnx.com/sf/go/post95426 > I believe that the gf_context_t is inited properly. > > Here is a part of code responsible for drawing: > gf_draw_begin (context); > gf_draw_blit2 (context, img_surf, NULL, 0, 0, 639, 479, 0, 0); > gf_draw_flush (context); > gf_draw_end (context); > nothing specific but fails.> > When I do a blit2() operation more often but on smaller area then everything > is ok: > gf_draw_begin (context); > gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2); > gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2+1); > > gf_draw_flush (context); > gf_draw_end (context); > BUFLEN is defined as 320. > > In both examples img_suf is connected with the same 640x480 target area. Hi, What will happen in case of using static picture in img_surf, like previous captured frame? Thanks. Mike Gorchak(deleted) 2012-09-07T08:15:36Z post95423: Re: RE: gf_draw_blit2() - problem with bigger surface size http://community.qnx.com/sf/go/post95423 I believe that the gf_context_t is inited properly. Here is a part of code responsible for drawing: gf_draw_begin (context); gf_draw_blit2 (context, img_surf, NULL, 0, 0, 639, 479, 0, 0); gf_draw_flush (context); gf_draw_end (context); nothing specific but fails. When I do a blit2() operation more often but on smaller area then everything is ok: gf_draw_begin (context); gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2); gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2+1); gf_draw_flush (context); gf_draw_end (context); BUFLEN is defined as 320. In both examples img_suf is connected with the same 640x480 target area. Jacek Rudnicki(deleted) 2012-09-06T21:09:23Z post95421: Re: libffb.so Issues on Poulsbo Board http://community.qnx.com/sf/go/post95421 Must be a driver conflict I stripped everything I didn't need from the OS and finally got graphics started using the poulsbo driver. Unfortunately I didn't do this systematically so I have no idea which driver or file was causing the problem Joe Thompson(deleted) 2012-09-06T19:28:32Z post95386: RE: gf_draw_blit2() - problem with bigger surface size http://community.qnx.com/sf/go/post95386 Someone here fixed something similar in another unrelated piece of software, where the gf_context_t was not inited properly, and we were getting similar behaviour. -----Original Message----- From: Mike Gorchak [mailto:community-noreply@qnx.com] Sent: September-05-12 1:48 AM To: advanced-graphics Subject: Re: gf_draw_blit2() - problem with bigger surface size > Does mean that hardware is too slow ? Maybe, do you using plain blit2 or with additional context flags enabled, like chroma, etc? > Or maybe I'm doing something wrong ? I've seen similar behavior when forgot to use flush at the end of picture rendering in case if you have mixed environment, like software+hardware operations on the same surface. Two or more consecutive blit2()s without flush() can be optimized by hardware, you will get the last blit2() result. There are few possible issues: 1) You are not using flush() for blit2() operation. And blit2() is the only function which is called. Hardware will take video memory content for blitting in asynchronous way. For example, 1/1000 of sec is a delay between command to graphics controller has been issued and real blit2() execution in hardware. But in next 1/100000 sec you will get 3-4 optimized blit2() operations, while content of video memory was changed partially. 2) In the same time your application can use some graphics operations which are implemented in software. For example, output of some text and picture to the same surface. This is a race condition between software text rendering and hardware blit2(), so some strange visible artifacts could be observed. It depends on a GPU caching policy. So correct operations sequence will be blit2() -> flush() -> put_text("FPS: %d"). 3) You are updating your video frame content asynchronously comparing to blit2() operation. For example, there is possible such situation: two tasks are not synchronized, one is filling data which it obtains from camera and second one is doing blit2() + flush(). Due to asynchronous nature of GPU, it can execute blit2() in the same time when changing of video frame content is in process. In such case double buffering for managing video stream will be a solution. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post95374 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-09-05T12:40:41Z post95374: Re: gf_draw_blit2() - problem with bigger surface size http://community.qnx.com/sf/go/post95374 > Does mean that hardware is too slow ? Maybe, do you using plain blit2 or with additional context flags enabled, like chroma, etc? > Or maybe I'm doing something wrong ? I've seen similar behavior when forgot to use flush at the end of picture rendering in case if you have mixed environment, like software+hardware operations on the same surface. Two or more consecutive blit2()s without flush() can be optimized by hardware, you will get the last blit2() result. There are few possible issues: 1) You are not using flush() for blit2() operation. And blit2() is the only function which is called. Hardware will take video memory content for blitting in asynchronous way. For example, 1/1000 of sec is a delay between command to graphics controller has been issued and real blit2() execution in hardware. But in next 1/100000 sec you will get 3-4 optimized blit2() operations, while content of video memory was changed partially. 2) In the same time your application can use some graphics operations which are implemented in software. For example, output of some text and picture to the same surface. This is a race condition between software text rendering and hardware blit2(), so some strange visible artifacts could be observed. It depends on a GPU caching policy. So correct operations sequence will be blit2() -> flush() -> put_text("FPS: %d"). 3) You are updating your video frame content asynchronously comparing to blit2() operation. For example, there is possible such situation: two tasks are not synchronized, one is filling data which it obtains from camera and second one is doing blit2() + flush(). Due to asynchronous nature of GPU, it can execute blit2() in the same time when changing of video frame content is in process. In such case double buffering for managing video stream will be a solution. Mike Gorchak 2012-09-05T05:47:36Z post95372: libffb.so Issues on Poulsbo Board http://community.qnx.com/sf/go/post95372 Hardware: Congatec Conga-CA COM Express module (Intel Atom Z510/Intel US15W) Trying to bring graphics up on this board using the generic X86 bsp. Started off with the OEM supplied bsp but now am running into the same issue. As soon as I add the libffb.so driver to the OS, the board will no longer boot and I am left looking at a display of shifting colors. The crash is before anything is running on the system so I can't get any log information or debug information. Have tried using io-display with both the Poulsbo graphics driver and the generic vesabios, the problem appears to be in the common libffb though so I'm stuck at a dead-end... Will be embarrassing to have to resort to a text-based gui! Has anybody managed to get graphics support working on an Atom-based board? Joe Thompson(deleted) 2012-09-04T21:43:34Z post95236: Sharing interrupts http://community.qnx.com/sf/go/post95236 In the our system a video stream is received from Ethernet device. And then when the all data is already collected picture is displayed. Can a shared interrupt of the ethernet and graphics controller have an impact for application performance: io-pkt-v4-hc --> irq5, io-graphics / io-display --> irq5 ? Or better idea is to separate interrupts for both devices i.e. : io-pkt-v4-hc --> irq5, io-graphics / io-display --> irq10 ? Jacek Rudnicki(deleted) 2012-08-28T20:48:26Z post94943: Re: gf_draw_blit2() - problem with bigger surface size http://community.qnx.com/sf/go/post94943 I have attached picture that shows a black area. Rest from image lines are displayed properly. Has anybody idea whay these black lines are visible and how can I get rid of them ? Jacek Rudnicki(deleted) 2012-08-19T17:27:15Z post94942: gf_draw_blit2() - problem with bigger surface size http://community.qnx.com/sf/go/post94942 In my application I had to call the gf_draw_blit2() very often. When size of the image is 320x240: gf_draw_blit2 (context, img_surf, NULL, 0, 0, 319, 239, 0, 0); then everything works fine. When size of the image is 640x480 gf_draw_blit2 (context, img_surf, NULL, 0, 0, 639, 479, 0, 0); several consecutive lines in the window are black (not rendered at all). Does mean that hardware is too slow ? Or maybe I'm doing something wrong ? I'm testing against the devg-i830.so driver (Device Id: 0x2582). Jacek Rudnicki(deleted) 2012-08-19T12:52:09Z post94734: Re: Sample of image loading in libimg http://community.qnx.com/sf/go/post94734 I'm also having troubles with libimg. After adding libimg the app crash when I execute if (BPS_SUCCESS != screen_request_events(screen_cxt)) Any idea? I added the -limg on linking stage, its ok? Thanks Federico Vidueiro 2012-08-09T19:54:52Z post94680: RE: Combining GF and Photon together http://community.qnx.com/sf/go/post94680 Yes, in the Foundry27 Graphics project, there is examples showing this. -----Original Message----- From: Jacek Rudnicki [mailto:community-noreply@qnx.com] Sent: August-07-12 12:56 PM To: advanced-graphics Subject: Combining GF and Photon together There is native application written under Photon and similar program that uses Graphics Framework API. How to mix them together ? Is there any documentation which describes such process ? Jacek _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post94679 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-08-07T16:57:38Z post94679: Combining GF and Photon together http://community.qnx.com/sf/go/post94679 There is native application written under Photon and similar program that uses Graphics Framework API. How to mix them together ? Is there any documentation which describes such process ? Jacek Jacek Rudnicki(deleted) 2012-08-07T16:55:56Z post94678: Re: Migration from Photon to GF http://community.qnx.com/sf/go/post94678 I have successfully generated 8-bits gray palette as follows: gf_palette_t palette; gf_color_t g8pal[256]; ... for (i = 0; i < 256; i++) { g8pal[i] = (0xff << 24) | ((i & 0xff) << 16) | ((i & 0xff) << 8) | (i & 0xff); } palette.ncolors = 256; palette.colors = (gf_color_t*)g8pal; It works fine with rgb565 format for io-display. Jacek Rudnicki(deleted) 2012-08-07T16:51:52Z post94659: Re: Migration from Photon to GF http://community.qnx.com/sf/go/post94659 I have changed pixel_format in the display.conf file from "rgb565" onto "pal8" value. Now the gf_draw_blit2() works while with "rgb565" screen is dark all the time. Picture is visible but colors are not correct. I wonder how to generate 8-bits gray palette under GF ? Jacek Rudnicki(deleted) 2012-08-06T20:00:03Z post94656: Re: Migration from Photon to GF http://community.qnx.com/sf/go/post94656 I am having the same problem, I can't find 'g8pal'. It looks like it should be a pointer to a palette of type 'img_color_t' which is just an integer. So what should the g8pal palette look like. I am new to QNX and GF graphics and am finding it hard to get things working as a lot of info is missing from QNX examples. Richard Soden(deleted) 2012-08-06T09:40:28Z post94650: Migration from Photon to GF http://community.qnx.com/sf/go/post94650 Hi, Application is responsible for displaying data (8-bits/pixel graymap). Data is received from Ethernet interface and displayed when image is complete (all frames were already gathered). Under Photon as solution I use PhCreateImage() and PgDrawPhImage() functions. BTW Is there any other way in order to achive a better performane in Photon ? It's time to move to GF. In the "Working with Images" chapter there is a following code: palette.ncolors = 256; palette.colors = (img_color_t*)g8pal; but compiler says that g8pal is undefined. How can I use this ? Should I generate array of colors itself (in similar way that was done under Photon, PgSetPalette()) ? What function should I use under GF as equivalent ? I found the gf_draw_image() but this function doesn't support GF_FORMAT_PAL8... Regards, Jacek Jacek Rudnicki(deleted) 2012-08-05T20:28:59Z post94376: Re: RE: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1? http://community.qnx.com/sf/go/post94376 Ok, thanks Derek. I've given the test code we're using to support, hopefully they can come up with some examples of how to make this work. Thanks again, Don Don Meyer 2012-07-20T21:55:39Z post94366: RE: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1? http://community.qnx.com/sf/go/post94366 Ok, it looks like the imx51/53 driver supports this, please send your test case through support. -----Original Message----- From: Don Meyer [mailto:community-noreply@qnx.com] Sent: July-19-12 6:53 PM To: advanced-graphics Subject: Re: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1? This is on an iMX53 eval board, the graphics are those integrated into the Cortex chip. It does support two layers in hardware, and we have Photon running on layer 1 (versus the default layer 0). _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post94353 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-07-20T13:00:31Z post94353: Re: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1? http://community.qnx.com/sf/go/post94353 This is on an iMX53 eval board, the graphics are those integrated into the Cortex chip. It does support two layers in hardware, and we have Photon running on layer 1 (versus the default layer 0). Don Meyer 2012-07-19T22:52:59Z post94349: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1? http://community.qnx.com/sf/go/post94349 You are attaching to the same layer as Photon? What graphics chipset are you using? -----Original Message----- From: Don Meyer [mailto:community-noreply@qnx.com] Sent: July-19-12 2:53 PM To: advanced-graphics Subject: Re: RE: Displaying layer 0 gf graphics with Photon in layer 1? Thanks for the reply. I did post essentially the same question in the Photon forum, and then posted it here today as I hadn't gotten any responses there yet. Not certian which form is most appropriate for this question - it seems to span both. I've gotten a similar suggestion from tech support (although with less detail, more of a general direction). I've been going this way, so good to know that I'm on the right path. Not having much luck however. I'm attaching to the layer that Photon is using with a passive attach. Then, I set the chroma: gf_chroma_t chroma; chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW; chroma.color0 = 0xff0000; chroma.color1 = 0; // unused gf_layer_set_chroma( layer, &chroma ); gf_layer_update( layer, 0 ); After that is done, we create our window and a PtOSContainer, whose background is set to full red. That red background is still drawing however. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post94348 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-07-19T19:35:35Z post94348: Re: RE: Displaying layer 0 gf graphics with Photon in layer 1? http://community.qnx.com/sf/go/post94348 Thanks for the reply. I did post essentially the same question in the Photon forum, and then posted it here today as I hadn't gotten any responses there yet. Not certian which form is most appropriate for this question - it seems to span both. I've gotten a similar suggestion from tech support (although with less detail, more of a general direction). I've been going this way, so good to know that I'm on the right path. Not having much luck however. I'm attaching to the layer that Photon is using with a passive attach. Then, I set the chroma: gf_chroma_t chroma; chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW; chroma.color0 = 0xff0000; chroma.color1 = 0; // unused gf_layer_set_chroma( layer, &chroma ); gf_layer_update( layer, 0 ); After that is done, we create our window and a PtOSContainer, whose background is set to full red. That red background is still drawing however. Don Meyer 2012-07-19T18:53:07Z post94346: RE: Displaying layer 0 gf graphics with Photon in layer 1? http://community.qnx.com/sf/go/post94346 I just answer a similar question in the Photon forum: I have not done this approach lately, but try these suggestions. You could set the fill colour to Pg_TRANSPARENT, unless you are using a PtOSContainer. Now, I think this is the better approach here: If you are using a PtOSContainer, set the fill colour to something not common, then set the chroma on the layer to that value, and no draw. -----Original Message----- From: Don Meyer [mailto:community-noreply@qnx.com] Sent: July-19-12 1:33 PM To: advanced-graphics Subject: Displaying layer 0 gf graphics with Photon in layer 1? Is there any way to have Photon's background either not be drawn, or drawn as "transparent"? I'm trying to render some graphics on layer 0 using the gf library, and have some Photon objects overlay them, with Photon on layer 1. The problem is, Photon draws a background which totally obscures what's rendered on layer 0. Thanks! _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post94343 To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com Derek Leach 2012-07-19T17:50:08Z post94343: Displaying layer 0 gf graphics with Photon in layer 1? http://community.qnx.com/sf/go/post94343 Is there any way to have Photon's background either not be drawn, or drawn as "transparent"? I'm trying to render some graphics on layer 0 using the gf library, and have some Photon objects overlay them, with Photon on layer 1. The problem is, Photon draws a background which totally obscures what's rendered on layer 0. Thanks! Don Meyer 2012-07-19T17:32:30Z post93716: Re: Sample of image loading in libimg http://community.qnx.com/sf/go/post93716 Hi, I successfully make a sample application of image loading using libimg. Now i want to is it possible to do image editing feature using Limbing. If yes then any documentation or source for this. Megha Sanghvi 2012-06-18T09:05:17Z post93684: Sample of image loading in libimg http://community.qnx.com/sf/go/post93684 Hi, I am new to QNX development. Currently i am developing Native application for BB10 in which i come to work with QNX native. I want to do image editing in native can anyone help me how can i achieve this? I tried to find libimg library but not get that much help. I make a sample application using libimg where i load the image but gives many error. I attached my source code for the same to load the image please help me on this. Megha Sanghvi 2012-06-15T05:37:57Z post93239: Re: Problem for gf-calib http://community.qnx.com/sf/go/post93239 > I am using TI beagle-board. When I use gf-calib for calibration of my touch > screen, the following message displays: > # gf-calib > Number of layers: 3 > Resolution: 720x400, refresh = 60Hz > layer_idx=0 > gf_cursor_set(): error = 7 > > I have no idea how to solve it. Any help? Try the -D option. Also, you need to have "img.conf" under /etc/system/config, plus the img_codec so's in your library path. - Malte Malte Mundt 2012-05-22T10:28:00Z post92952: Problem for gf-calib http://community.qnx.com/sf/go/post92952 I am using TI beagle-board. When I use gf-calib for calibration of my touch screen, the following message displays: # gf-calib Number of layers: 3 Resolution: 720x400, refresh = 60Hz layer_idx=0 gf_cursor_set(): error = 7 I have no idea how to solve it. Any help? David Yang 2012-05-11T01:55:53Z post91489: Re: Source code of vsync? http://community.qnx.com/sf/go/post91489 bump Devan Lippman(deleted) 2012-02-10T19:54:08Z post91261: Re: ScreenShot in GF http://community.qnx.com/sf/go/post91261 Hi John, Did you ever find an answer to this? Looks like I'm following down the same road now. Thanks, Devan Devan Lippman(deleted) 2012-01-31T22:18:58Z post90739: How to Repair damage to proportional text in Graphics Framework ? http://community.qnx.com/sf/go/post90739 Hi , When dealing with proportional fonts, sometimes the vectors of one glyph run into the vectors of another. This is especially evident when using a font such as Nuptial BT. We need to take special care when repairing damage to such fonts. PfExtentTextCharPositions() <http://www.qnx.com/developers/docs/6.4.1/photon/lib_ref/pf/pfextenttext charpositions.html> addresses this issue in Photon environment. This position is where you should draw the next character. If you use the PF_CHAR_DRAW_POSITIONS flag, the bearing x of the following character isn't applied to the position, which is useful when you're placing cursors. What is the equivalent on PfExtentTextCharPositions() <http://www.qnx.com/developers/docs/6.4.1/photon/lib_ref/pf/pfextenttext charpositions.html> in Graphics Framework ? Please let me know regarding this. Thanks, Karthik Kannan M General Electric - Transportation Karthik Kannan(deleted) 2011-12-22T11:11:49Z post90709: Re: RE: Can't load driver dll http://community.qnx.com/sf/go/post90709 Christophe, You were right, the problem was with another library included in devg-flat.so that was not present in the library path. Thanks a lot for your valuable help. Regards, Nicolas Nicolas Pinault 2011-12-21T07:56:15Z post90694: RE: Can't load driver dll http://community.qnx.com/sf/go/post90694 Hello, Probably the problem was not with your library but with another one included with your library. Try this: # DL_DEBUG=1 io-display -c /mnt/sdhc/gf/display.conf -d vid=0x10ee,did=0x6024 And check the missing library. Christophe Hannoyer -----Message d'origine----- De : Nicolas Pinault [mailto:community-noreply@qnx.com] Envoyé : mardi 20 décembre 2011 17:11 À : advanced-graphics Objet : Can't load driver dll Hello, I'm trying to run graphics on my system (Freescale P4080 PowerPC). I'm using a self made driverl derived from devg-flat. To run my driver, I do the folowing : # io-display -c /mnt/sdhc/gf/display.conf -d vid=0x10ee,did=0x6024 Could not initialize device "vid=0x10ee,did=0x6024": No such file or directory Check 'sloginfo' output for more details io-display failed to initialise # sloginfo -c Time Sev Major Minor Args Aug 02 01:41:36 2 8 200 devg-flat.so: gfpr_dlopen: Library cannot be found Here is the display.conf file content : device { drivername=flat vid=0x10ee did=0x6024 deviceindex=0 memopts=/mnt/sdhc/gf/flat.conf display { xres=1920 yres=1080 refresh=30 pixel_format=argb8888 } } The driver devg-flat.so is in /mnt/sdhc/lib which is added to LD_LIBRARY_PATH. It is also added to procnto LD_LIBRARY_PATH in build file. I spent hours to find why the library is not found. Can anybody help me ? Regards, Nicolas _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post90693 Christophe Hannoyer 2011-12-20T16:42:37Z post90693: Can't load driver dll http://community.qnx.com/sf/go/post90693 Hello, I'm trying to run graphics on my system (Freescale P4080 PowerPC). I'm using a self made driverl derived from devg-flat. To run my driver, I do the folowing : # io-display -c /mnt/sdhc/gf/display.conf -d vid=0x10ee,did=0x6024 Could not initialize device "vid=0x10ee,did=0x6024": No such file or directory Check 'sloginfo' output for more details io-display failed to initialise # sloginfo -c Time Sev Major Minor Args Aug 02 01:41:36 2 8 200 devg-flat.so: gfpr_dlopen: Library cannot be found Here is the display.conf file content : device { drivername=flat vid=0x10ee did=0x6024 deviceindex=0 memopts=/mnt/sdhc/gf/flat.conf display { xres=1920 yres=1080 refresh=30 pixel_format=argb8888 } } The driver devg-flat.so is in /mnt/sdhc/lib which is added to LD_LIBRARY_PATH. It is also added to procnto LD_LIBRARY_PATH in build file. I spent hours to find why the library is not found. Can anybody help me ? Regards, Nicolas Nicolas Pinault 2011-12-20T16:11:25Z post90683: Re: RE: devi-hid for armle-v7 http://community.qnx.com/sf/go/post90683 Do you solve you problem ? Have you got devi-hid for armle-v7 ? thanks, regards KUBIT Stéphane(deleted) 2011-12-19T15:04:55Z post90352: Bitmap copy from src device context to dst context http://community.qnx.com/sf/go/post90352 Hello, I need to copy an entire frame buffer (src) to the screen (dst). Would the function PgContextBlitArea() do the trick? Any help is appreciated. Thanks, -Zahira Zahira Ammarguellat 2011-11-29T22:23:54Z post89931: Video Display from memory buffer http://community.qnx.com/sf/go/post89931 Hi, I am trying to display a video from a memory buffer into my display. I will be using the Beagle BSP for OMAP3730. Is there any functionality on GF to display video from the memory buffer? Thanks in advance! Felipe Santana 2011-11-08T10:39:20Z post89653: RE: RE: mmap_peer and mmap64_peer - Undefined reference error http://community.qnx.com/sf/go/post89653 Those functions were written for some custom work and were never included in a general product release. The technote was erroneously included in the documentation, but has since been removed. Steve Reid (stever@qnx.com) Technical Editor QNX Software Systems -----Original Message----- From: Nikshep Patil [mailto:community-noreply@qnx.com] Sent: Wednesday, October 26, 2011 10:29 AM To: advanced-graphics Subject: Re: RE: mmap_peer and mmap64_peer - Undefined reference error Any update on this...? _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post89648 Steve Reid 2011-10-26T16:53:13Z post89648: Re: RE: mmap_peer and mmap64_peer - Undefined reference error http://community.qnx.com/sf/go/post89648 Any update on this...? Nikshep Patil 2011-10-26T14:29:12Z post89527: Re: gf_context_set_pattern function http://community.qnx.com/sf/go/post89527 If I understand you correctly you should try something like this: -- disable all ROP operation -- set fgcolor to your "bgcolor" -- draw a solid rectangle (gf_draw_rect()) where you need it, let's say @ X,Y -- set the pattern -- set the ROP -- set fgcolor to your "fgcolor" -- draw a solid rectangle again @ X,Y Misha Nefedov 2011-10-21T12:36:47Z post89520: Re: gf_context_set_pattern function http://community.qnx.com/sf/go/post89520 Hi Misha, thanks for your help. I have an another question, how can I use this 8x8 value combine with ROPs(gf_context_set_rop()); for example, I want to draw an 8x8 rectangle and set all the needed values like this, mypattern[8] = {0x00, 0x44, 0x00,0x11, 0x00,0x44, 0x00,0x11 }; fgcolor: 0xFFFF0000 bgcolor: 0xFF0000FF rop: GF_ROP_PDSnaon what is the formula to get the result ? shen xifeng 2011-10-21T09:40:02Z post89492: Re: RE: mmap_peer and mmap64_peer - Undefined reference error http://community.qnx.com/sf/go/post89492 Thanks Thomas. Does that mean I cannot use the mmap_peer()/mmap64_peer() anymore...? Is there an alternative to these functions in 6.5...? I see this documentation on mmap_peer functions - http://www.qnx.com/developers/docs/6.4.1/neutrino/technotes/mmap_and_munmap_peer.html Nikshep Patil 2011-10-20T14:44:32Z post89490: RE: mmap_peer and mmap64_peer - Undefined reference error http://community.qnx.com/sf/go/post89490 I may be mistaken, but I believe they aren't part of libc any more in 6.5. Regards, Thomas -----Original Message----- From: Nikshep Patil [mailto:community-noreply@qnx.com] Sent: Donnerstag, 20. Oktober 2011 16:27 To: advanced-graphics Subject: mmap_peer and mmap64_peer - Undefined reference error I am trying to use mmap64_peer() in my resource manager. I get "Undefined reference to mmap64_peer()" error. Same with mmap_peer(). Including "sys/mman.h" does not help. What header file/library do I need to include to get mmap64_peer() to work...? Thank you. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post89488 Thomas Haupt 2011-10-20T14:38:07Z post89488: mmap_peer and mmap64_peer - Undefined reference error http://community.qnx.com/sf/go/post89488 I am trying to use mmap64_peer() in my resource manager. I get "Undefined reference to mmap64_peer()" error. Same with mmap_peer(). Including "sys/mman.h" does not help. What header file/library do I need to include to get mmap64_peer() to work...? Thank you. Nikshep Patil 2011-10-20T14:27:25Z post89451: Re: gf_context_set_pattern function http://community.qnx.com/sf/go/post89451 The pattern is a pointer to an array of characters defining the pattern bitmap. This array should define an 8X8 single bit/pixel bitmap packing 8 pixels/byte, with no padding. Misha Nefedov 2011-10-19T13:38:51Z post89441: gf_context_set_pattern function http://community.qnx.com/sf/go/post89441 Hi , from the help documents, it says the second parameter of this function is pattern which is A pointer to the bitmap containing the pattern. my question is how can I define the bitmap ? shen xifeng 2011-10-19T08:41:37Z post89358: Source code of vsync? http://community.qnx.com/sf/go/post89358 I'm trying to showing some picture by using GF, my application seems to be running OK but there is nothing displayed on the screen. However I run the vsync sample app and it works fine. Is it possible to get the source code of it? Or anybody could tell me about the details of how vsync works. Your help would be appreciated. marvin zhu(deleted) 2011-10-13T07:23:08Z post88943: Re: RE: devi-hid for armle-v7 http://community.qnx.com/sf/go/post88943 Brian, Did you ever get anywhere with this? I'm also looking for devi-hid drivers for armle-v7 Thanks! Yusuf Shirazi 2011-09-19T22:11:54Z post88789: Re: Problem with gf_surface_attach() http://community.qnx.com/sf/go/post88789 I recommend posting your code -- so others can look at the code and may spot what the problem is. Misha Nefedov 2011-09-12T19:03:20Z post88787: resolution change http://community.qnx.com/sf/go/post88787 Hi, Can anyone tell me how to change the resolution or display preferences in photon in code? I know “phgrafx” does this. But this is in photon GUI. But I want to implement the same functionality in my code. In short, I like to know about the ways to reconfigure and restart photon with a new config file, after once the display is already been up. Thanks, Arun Johnson Arun Johnson 2011-09-12T18:15:34Z post88774: Write an Image with raw pixel Data http://community.qnx.com/sf/go/post88774 Hello :) i want to write a .bmp file from raw pixel data. My Programm i have, listen on the ethernet for my Client and accept the Client when he connects. The Client send some data and there are raw pixel data. With a function named "const unsigned int* GetImage()" i get a pointer to the first pixel. My Pictures are 320(W) x 240(H). Now how can i display or save the raw pixel data? i hope for hints :) with best regards Juri Ostrowski 2011-09-12T09:35:38Z post88667: Problem with gf_surface_attach() http://community.qnx.com/sf/go/post88667 Hi, I need to render a picture to the screen. I am trying to create a surface from my picture buffer using gf_surface_attach(). But the call fails with return value 7. The arguments to gf_surface_attach() seem correct. Could you help me with this...? Thanks Nikshep Patil 2011-09-06T20:55:55Z post88552: io-winmgr sendev http://community.qnx.com/sf/go/post88552 Hi, Is there a way to use io-winmgr to bring a window to the front? win_globals.disp_data[0]->win_list = 0x80000003, 0x80000000, 0x80000002 win_globals.disp_data[0]->planes[0].buffered[0].win_list = (null) win_globals.disp_data[0]->planes[0].buffered[1].win_list = (null) win_globals.disp_data[0]->planes[1].buffered[0].win_list = 0x80000002, 0x80000003 win_globals.disp_data[0]->planes[1].buffered[1].win_list = (null) I see from its dump the window IDs. Can I send a msg to io-winmgr to bring window e.g. 0x80000002 or 3 to top? Using io-winmgr –sendev ??? -Hue Hue Vo 2011-08-31T20:10:38Z post88200: RE: devi-hid for armle-v7 http://community.qnx.com/sf/go/post88200 To be honest I'm not sure when 6.5.0 was released any platforms with graphics were actually running armle-v7. A couple of customers running armle-v7 needed custom drivers and wrote their own. I checked whether the input DDK posted on the QNX website could be used to build a driver and was told: "The DDK won't work on 6.5.0, better to just get the imx25 BSP: http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/Freescale Imx253dsPdk and grab the source archive from it, it contains the input libs with the gf support and a sample driver." Maybe this is something you can try? Mike -----Original Message----- From: Brian Edmond [mailto:community-noreply@qnx.com] Sent: August 17, 2011 1:52 PM To: advanced-graphics Subject: devi-hid for armle-v7 Probably not the correct place for this but the input drivers were always kinda graphics. There are no devi drivers for armle-v7 targets. How does one get a mouse or keyboard input in 6.5? Brian _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post88172 Michael Van Reenen 2011-08-18T15:24:01Z post88180: RE: Creating a PNG output file. [bcc][auto-ip] http://community.qnx.com/sf/go/post88180 No idea how you can change the compression /quality :(, Check if img_load_resize_file() is of any use.... Regards, Lavin -----Original Message----- From: Ronald Burkey [mailto:community-noreply@qnx.com] Sent: Wednesday, August 17, 2011 10:38 PM To: advanced-graphics Subject: Re: Creating a PNG output file. [bcc][auto-ip] True. I don't lack space, so that doesn't actually concern me. But I gather you don't know how it can be done, so the point is moot. Thanks, Ron On 08/17/2011 12:02 PM, Lavin Pottekkat wrote: > Though i have not tried changing the compression techniques, i have seen noticeable difference in the size of the images created with different formats. > > Regards, > Lavin > ________________________________________ > From: Ronald Burkey [community-noreply@qnx.com] > Sent: Wednesday, August 17, 2011 9:52 PM > To: advanced-graphics > Subject: RE: Creating a PNG output file. > > One final (I hope) question: If JPGs were being output rather than > PNGs, how can the quality/compression be set? > > -- Ron > > _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post88170 Lavin Pottekkat 2011-08-18T07:15:03Z post88172: devi-hid for armle-v7 http://community.qnx.com/sf/go/post88172 Probably not the correct place for this but the input drivers were always kinda graphics. There are no devi drivers for armle-v7 targets. How does one get a mouse or keyboard input in 6.5? Brian Brian Edmond(deleted) 2011-08-17T17:51:32Z post88170: Re: Creating a PNG output file. [bcc][auto-ip] http://community.qnx.com/sf/go/post88170 True. I don't lack space, so that doesn't actually concern me. But I gather you don't know how it can be done, so the point is moot. Thanks, Ron On 08/17/2011 12:02 PM, Lavin Pottekkat wrote: > Though i have not tried changing the compression techniques, i have seen noticeable difference in the size of the images created with different formats. > > Regards, > Lavin > ________________________________________ > From: Ronald Burkey [community-noreply@qnx.com] > Sent: Wednesday, August 17, 2011 9:52 PM > To: advanced-graphics > Subject: RE: Creating a PNG output file. > > One final (I hope) question: If JPGs were being output rather than > PNGs, how can the quality/compression be set? > > -- Ron > > Ronald Burkey 2011-08-17T17:08:18Z post88169: RE: Creating a PNG output file. http://community.qnx.com/sf/go/post88169 Though i have not tried changing the compression techniques, i have seen noticeable difference in the size of the images created with different formats. Regards, Lavin ________________________________________ From: Ronald Burkey [community-noreply@qnx.com] Sent: Wednesday, August 17, 2011 9:52 PM To: advanced-graphics Subject: RE: Creating a PNG output file. One final (I hope) question: If JPGs were being output rather than PNGs, how can the quality/compression be set? -- Ron > -----Original Message----- > From: Lavin Pottekkat [mailto:community-noreply@qnx.com] > Sent: Wednesday, August 17, 2011 7:53 AM > To: advanced-graphics > Subject: RE: Creating a PNG output file. [bcc] > > Yes, you can change the mime type for different file formats. > > Regards, > Lavin > > -----Original Message----- > From: Ronald Burkey [mailto:community-noreply@qnx.com] > Sent: Wednesday, August 17, 2011 6:10 PM > To: advanced-graphics > Subject: Re: Creating a PNG output file. [bcc] > > I had just made that change about 10 seconds before your message > arrived. :-) I haven't gotten to the point yet where I can run the > code. I'll let you know what happens. > > I assume that if I want jpg or bmp, it's just a matter of changing the > mime type appropriately? > > Thanks! > Ron > > > On 08/17/2011 07:34 AM, Lavin Pottekkat wrote: > > Just now I noticed that you have RGBA8888, in this case I think you > should modify below lines highlighted below using '-->' > > Also pl make sure you configure the img.w/h appropriately. > > > > Cheers, > > Lavin > > > > -----Original Message----- > > From: Pottekkat, Lavin > > Sent: Wednesday, August 17, 2011 5:43 PM > > To: advanced-graphics > > Subject: RE: Creating a PNG output file. > > > > Hi Ronald, > > > > Try this it should work :) .... search for "Lavin" to see my comments > inline.... > > > > uint32_t *img_buf = NULL; > > uint32_t image_size = Max size of the RGB data buffer; > > int32_t result = EOK; > > > > img_lib_t ilib; > > img_codec_t codec_buf; > > int n_codecs; > > img_t img; > > io_stream_t *image_stream_fd; > > char mime[64]; > > uintptr_t temp_encode_data = 0; > > > > /* allocate (image_size/sizeof int-(4bytes)) elements of type int */ > > if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), > sizeof(uint32_t)))) { > > _error("%s: Memory allocation for %d bytes failed", __FUNCTION__, > image_size); > > return ENOMEM; > > } > > > > /* Lavin : copy the image RGB values linearly to the above allocated > img_buf, from your rectangular array in memory */ > > > > /* Lavin : at this point I assume that you have already copied the > image data to img_buf.*/ > > > > /* Lavin : NOTE: you can very well use your rectangular array directly > as image_buf as well :) */ > > > > > > //Attaching to the image library > > memset(&img,0,sizeof(img_t)); > > > > /* get the resolution details */ > > img.w = 1440; // 1440 or 960 , use accordingly > > img.h = 540; // 540, use accordingly > > > > img.format = IMG_FMT_RGBA8888; > > > > img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT; > > > > img.access.direct.data = img_buf; > > --> img.access.direct.stride = (img.w * 4 ); > > > > if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) { > > fprintf(stderr, "img_lib_attach() failed: %d\n", result); > > return result; > > } > > > > memset(mime, '\0', 64 ); > > sprintf(mime, "image/%s", "png"); > > > > if(EOK == (n_codecs = img_codec_list_bymime( ilib, > > mime, > > &codec_buf, > > 10 ))) > > { > > _error("%s: img_codec_list() No Codecs found on target !", > __FUNCTION__); > > return -1; > > } > > > > //convert the image_fd to stream_fd required by image libs. > > /* Lavin : here file_fs should be your xxx.png file fd after > open(...O_CREATE) */ > > if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd > ))) > > { > > _error("%s: io_open() failed: %d", __FUNCTION__); > > return -1; > > } > > > > //set the codec > > > > //Prepare to encode a frame to a stream > > if (img_encode_begin(codec_buf, > image_stream_fd,&temp_encode_data) != IMG_ERR_OK) > > { > > _error("%s: img_encode_begin() failed", __FUNCTION__); > > return -1; > > } > > > > if ( (result = img_encode_frame(codec_buf, image_stream_fd, > NULL,&img,&temp_encode_data)) != IMG_ERR_OK) > > { > > _error("%s: img_encode_frame() failed: %d", __FUNCTION__, > result); > > return -1; > > } > > > > (void)img_encode_finish(codec_buf, > image_stream_fd,&temp_encode_data); > > > > io_close( image_stream_fd ); > > > > /* done with img lib */ > > img_lib_detach(ilib); > > > > /* Lavin : Now your PNG fromat file is ready :) :) */ > > > > > > Regards, > > Lavin, > > > > -----Original Message----- > > From: Ronald Burkey [mailto:community-noreply@qnx.com] > > Sent: Friday, August 12, 2011 9:52 PM > > To: advanced-graphics > > Subject: Creating a PNG output file. > > > > I have a rectangular array in memory of RGB values (i.e., it is > IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. > How would this be done? > > > > > > > > > > > > _______________________________________________ > > > > Advanced Graphics > > http://community.qnx.com/sf/go/post88079 > > > > > > > > > > _______________________________________________ > > > > Advanced Graphics > > http://community.qnx.com/sf/go/post88149 > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post88150 > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post88152 _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post88168 Lavin Pottekkat 2011-08-17T17:02:02Z post88168: RE: Creating a PNG output file. http://community.qnx.com/sf/go/post88168 One final (I hope) question: If JPGs were being output rather than PNGs, how can the quality/compression be set? -- Ron > -----Original Message----- > From: Lavin Pottekkat [mailto:community-noreply@qnx.com] > Sent: Wednesday, August 17, 2011 7:53 AM > To: advanced-graphics > Subject: RE: Creating a PNG output file. [bcc] > > Yes, you can change the mime type for different file formats. > > Regards, > Lavin > > -----Original Message----- > From: Ronald Burkey [mailto:community-noreply@qnx.com] > Sent: Wednesday, August 17, 2011 6:10 PM > To: advanced-graphics > Subject: Re: Creating a PNG output file. [bcc] > > I had just made that change about 10 seconds before your message > arrived. :-) I haven't gotten to the point yet where I can run the > code. I'll let you know what happens. > > I assume that if I want jpg or bmp, it's just a matter of changing the > mime type appropriately? > > Thanks! > Ron > > > On 08/17/2011 07:34 AM, Lavin Pottekkat wrote: > > Just now I noticed that you have RGBA8888, in this case I think you > should modify below lines highlighted below using '-->' > > Also pl make sure you configure the img.w/h appropriately. > > > > Cheers, > > Lavin > > > > -----Original Message----- > > From: Pottekkat, Lavin > > Sent: Wednesday, August 17, 2011 5:43 PM > > To: advanced-graphics > > Subject: RE: Creating a PNG output file. > > > > Hi Ronald, > > > > Try this it should work :) .... search for "Lavin" to see my comments > inline.... > > > > uint32_t *img_buf = NULL; > > uint32_t image_size = Max size of the RGB data buffer; > > int32_t result = EOK; > > > > img_lib_t ilib; > > img_codec_t codec_buf; > > int n_codecs; > > img_t img; > > io_stream_t *image_stream_fd; > > char mime[64]; > > uintptr_t temp_encode_data = 0; > > > > /* allocate (image_size/sizeof int-(4bytes)) elements of type int */ > > if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), > sizeof(uint32_t)))) { > > _error("%s: Memory allocation for %d bytes failed", __FUNCTION__, > image_size); > > return ENOMEM; > > } > > > > /* Lavin : copy the image RGB values linearly to the above allocated > img_buf, from your rectangular array in memory */ > > > > /* Lavin : at this point I assume that you have already copied the > image data to img_buf.*/ > > > > /* Lavin : NOTE: you can very well use your rectangular array directly > as image_buf as well :) */ > > > > > > //Attaching to the image library > > memset(&img,0,sizeof(img_t)); > > > > /* get the resolution details */ > > img.w = 1440; // 1440 or 960 , use accordingly > > img.h = 540; // 540, use accordingly > > > > img.format = IMG_FMT_RGBA8888; > > > > img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT; > > > > img.access.direct.data = img_buf; > > --> img.access.direct.stride = (img.w * 4 ); > > > > if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) { > > fprintf(stderr, "img_lib_attach() failed: %d\n", result); > > return result; > > } > > > > memset(mime, '\0', 64 ); > > sprintf(mime, "image/%s", "png"); > > > > if(EOK == (n_codecs = img_codec_list_bymime( ilib, > > mime, > > &codec_buf, > > 10 ))) > > { > > _error("%s: img_codec_list() No Codecs found on target !", > __FUNCTION__); > > return -1; > > } > > > > //convert the image_fd to stream_fd required by image libs. > > /* Lavin : here file_fs should be your xxx.png file fd after > open(...O_CREATE) */ > > if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd > ))) > > { > > _error("%s: io_open() failed: %d", __FUNCTION__); > > return -1; > > } > > > > //set the codec > > > > //Prepare to encode a frame to a stream > > if (img_encode_begin(codec_buf, > image_stream_fd,&temp_encode_data) != IMG_ERR_OK) > > { > > _error("%s: img_encode_begin() failed", __FUNCTION__); > > return -1; > > } > > > > if ( (result = img_encode_frame(codec_buf, image_stream_fd, > NULL,&img,&temp_encode_data)) != IMG_ERR_OK) > > { > > _error("%s: img_encode_frame() failed: %d", __FUNCTION__, > result); > > return -1; > > } > > > > (void)img_encode_finish(codec_buf, > image_stream_fd,&temp_encode_data); > > > > io_close( image_stream_fd ); > > > > /* done with img lib */ > > img_lib_detach(ilib); > > > > /* Lavin : Now your PNG fromat file is ready :) :) */ > > > > > > Regards, > > Lavin, > > > > -----Original Message----- > > From: Ronald Burkey [mailto:community-noreply@qnx.com] > > Sent: Friday, August 12, 2011 9:52 PM > > To: advanced-graphics > > Subject: Creating a PNG output file. > > > > I have a rectangular array in memory of RGB values (i.e., it is > IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. > How would this be done? > > > > > > > > > > > > _______________________________________________ > > > > Advanced Graphics > > http://community.qnx.com/sf/go/post88079 > > > > > > > > > > _______________________________________________ > > > > Advanced Graphics > > http://community.qnx.com/sf/go/post88149 > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post88150 > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post88152 Ronald Burkey 2011-08-17T16:22:11Z post88158: Re: Creating a PNG output file. [bcc] http://community.qnx.com/sf/go/post88158 Thanks, Lavin. It seems to work fine, after appropriate changes for my environment. On 08/17/2011 07:53 AM, Lavin Pottekkat wrote: > Yes, you can change the mime type for different file formats. > > Regards, > Lavin > > -----Original Message----- > From: Ronald Burkey [mailto:community-noreply@qnx.com] > Sent: Wednesday, August 17, 2011 6:10 PM > To: advanced-graphics > Subject: Re: Creating a PNG output file. [bcc] > > I had just made that change about 10 seconds before your message > arrived. :-) I haven't gotten to the point yet where I can run the > code. I'll let you know what happens. > > I assume that if I want jpg or bmp, it's just a matter of changing the > mime type appropriately? > > Thanks! > Ron > > > Ronald Burkey 2011-08-17T14:24:37Z post88152: RE: Creating a PNG output file. [bcc] http://community.qnx.com/sf/go/post88152 Yes, you can change the mime type for different file formats. Regards, Lavin -----Original Message----- From: Ronald Burkey [mailto:community-noreply@qnx.com] Sent: Wednesday, August 17, 2011 6:10 PM To: advanced-graphics Subject: Re: Creating a PNG output file. [bcc] I had just made that change about 10 seconds before your message arrived. :-) I haven't gotten to the point yet where I can run the code. I'll let you know what happens. I assume that if I want jpg or bmp, it's just a matter of changing the mime type appropriately? Thanks! Ron On 08/17/2011 07:34 AM, Lavin Pottekkat wrote: > Just now I noticed that you have RGBA8888, in this case I think you should modify below lines highlighted below using '-->' > Also pl make sure you configure the img.w/h appropriately. > > Cheers, > Lavin > > -----Original Message----- > From: Pottekkat, Lavin > Sent: Wednesday, August 17, 2011 5:43 PM > To: advanced-graphics > Subject: RE: Creating a PNG output file. > > Hi Ronald, > > Try this it should work :) .... search for "Lavin" to see my comments inline.... > > uint32_t *img_buf = NULL; > uint32_t image_size = Max size of the RGB data buffer; > int32_t result = EOK; > > img_lib_t ilib; > img_codec_t codec_buf; > int n_codecs; > img_t img; > io_stream_t *image_stream_fd; > char mime[64]; > uintptr_t temp_encode_data = 0; > > /* allocate (image_size/sizeof int-(4bytes)) elements of type int */ > if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), sizeof(uint32_t)))) { > _error("%s: Memory allocation for %d bytes failed", __FUNCTION__, image_size); > return ENOMEM; > } > > /* Lavin : copy the image RGB values linearly to the above allocated img_buf, from your rectangular array in memory */ > > /* Lavin : at this point I assume that you have already copied the image data to img_buf.*/ > > /* Lavin : NOTE: you can very well use your rectangular array directly as image_buf as well :) */ > > > //Attaching to the image library > memset(&img,0,sizeof(img_t)); > > /* get the resolution details */ > img.w = 1440; // 1440 or 960 , use accordingly > img.h = 540; // 540, use accordingly > > img.format = IMG_FMT_RGBA8888; > > img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT; > > img.access.direct.data = img_buf; > --> img.access.direct.stride = (img.w * 4 ); > > if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) { > fprintf(stderr, "img_lib_attach() failed: %d\n", result); > return result; > } > > memset(mime, '\0', 64 ); > sprintf(mime, "image/%s", "png"); > > if(EOK == (n_codecs = img_codec_list_bymime( ilib, > mime, > &codec_buf, > 10 ))) > { > _error("%s: img_codec_list() No Codecs found on target !", __FUNCTION__); > return -1; > } > > //convert the image_fd to stream_fd required by image libs. > /* Lavin : here file_fs should be your xxx.png file fd after open(...O_CREATE) */ > if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd ))) > { > _error("%s: io_open() failed: %d", __FUNCTION__); > return -1; > } > > //set the codec > > //Prepare to encode a frame to a stream > if (img_encode_begin(codec_buf, image_stream_fd,&temp_encode_data) != IMG_ERR_OK) > { > _error("%s: img_encode_begin() failed", __FUNCTION__); > return -1; > } > > if ( (result = img_encode_frame(codec_buf, image_stream_fd, NULL,&img,&temp_encode_data)) != IMG_ERR_OK) > { > _error("%s: img_encode_frame() failed: %d", __FUNCTION__, result); > return -1; > } > > (void)img_encode_finish(codec_buf, image_stream_fd,&temp_encode_data); > > io_close( image_stream_fd ); > > /* done with img lib */ > img_lib_detach(ilib); > > /* Lavin : Now your PNG fromat file is ready :) :) */ > > > Regards, > Lavin, > > -----Original Message----- > From: Ronald Burkey [mailto:community-noreply@qnx.com] > Sent: Friday, August 12, 2011 9:52 PM > To: advanced-graphics > Subject: Creating a PNG output file. > > I have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done? > > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post88079 > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post88149 _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post88150 Lavin Pottekkat 2011-08-17T12:53:15Z post88150: Re: Creating a PNG output file. [bcc] http://community.qnx.com/sf/go/post88150 I had just made that change about 10 seconds before your message arrived. :-) I haven't gotten to the point yet where I can run the code. I'll let you know what happens. I assume that if I want jpg or bmp, it's just a matter of changing the mime type appropriately? Thanks! Ron On 08/17/2011 07:34 AM, Lavin Pottekkat wrote: > Just now I noticed that you have RGBA8888, in this case I think you should modify below lines highlighted below using '-->' > Also pl make sure you configure the img.w/h appropriately. > > Cheers, > Lavin > > -----Original Message----- > From: Pottekkat, Lavin > Sent: Wednesday, August 17, 2011 5:43 PM > To: advanced-graphics > Subject: RE: Creating a PNG output file. > > Hi Ronald, > > Try this it should work :) .... search for "Lavin" to see my comments inline.... > > uint32_t *img_buf = NULL; > uint32_t image_size = Max size of the RGB data buffer; > int32_t result = EOK; > > img_lib_t ilib; > img_codec_t codec_buf; > int n_codecs; > img_t img; > io_stream_t *image_stream_fd; > char mime[64]; > uintptr_t temp_encode_data = 0; > > /* allocate (image_size/sizeof int-(4bytes)) elements of type int */ > if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), sizeof(uint32_t)))) { > _error("%s: Memory allocation for %d bytes failed", __FUNCTION__, image_size); > return ENOMEM; > } > > /* Lavin : copy the image RGB values linearly to the above allocated img_buf, from your rectangular array in memory */ > > /* Lavin : at this point I assume that you have already copied the image data to img_buf.*/ > > /* Lavin : NOTE: you can very well use your rectangular array directly as image_buf as well :) */ > > > //Attaching to the image library > memset(&img,0,sizeof(img_t)); > > /* get the resolution details */ > img.w = 1440; // 1440 or 960 , use accordingly > img.h = 540; // 540, use accordingly > > img.format = IMG_FMT_RGBA8888; > > img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT; > > img.access.direct.data = img_buf; > --> img.access.direct.stride = (img.w * 4 ); > > if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) { > fprintf(stderr, "img_lib_attach() failed: %d\n", result); > return result; > } > > memset(mime, '\0', 64 ); > sprintf(mime, "image/%s", "png"); > > if(EOK == (n_codecs = img_codec_list_bymime( ilib, > mime, > &codec_buf, > 10 ))) > { > _error("%s: img_codec_list() No Codecs found on target !", __FUNCTION__); > return -1; > } > > //convert the image_fd to stream_fd required by image libs. > /* Lavin : here file_fs should be your xxx.png file fd after open(...O_CREATE) */ > if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd ))) > { > _error("%s: io_open() failed: %d", __FUNCTION__); > return -1; > } > > //set the codec > > //Prepare to encode a frame to a stream > if (img_encode_begin(codec_buf, image_stream_fd,&temp_encode_data) != IMG_ERR_OK) > { > _error("%s: img_encode_begin() failed", __FUNCTION__); > return -1; > } > > if ( (result = img_encode_frame(codec_buf, image_stream_fd, NULL,&img,&temp_encode_data)) != IMG_ERR_OK) > { > _error("%s: img_encode_frame() failed: %d", __FUNCTION__, result); > return -1; > } > > (void)img_encode_finish(codec_buf, image_stream_fd,&temp_encode_data); > > io_close( image_stream_fd ); > > /* done with img lib */ > img_lib_detach(ilib); > > /* Lavin : Now your PNG fromat file is ready :) :) */ > > > Regards, > Lavin, > > -----Original Message----- > From: Ronald Burkey [mailto:community-noreply@qnx.com] > Sent: Friday, August 12, 2011 9:52 PM > To: advanced-graphics > Subject: Creating a PNG output file. > > I have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done? > > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post88079 > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post88149 Ronald Burkey 2011-08-17T12:40:07Z post88149: RE: Creating a PNG output file. http://community.qnx.com/sf/go/post88149 Just now I noticed that you have RGBA8888, in this case I think you should modify below lines highlighted below using '-->' Also pl make sure you configure the img.w/h appropriately. Cheers, Lavin -----Original Message----- From: Pottekkat, Lavin Sent: Wednesday, August 17, 2011 5:43 PM To: advanced-graphics Subject: RE: Creating a PNG output file. Hi Ronald, Try this it should work :) .... search for "Lavin" to see my comments inline.... uint32_t *img_buf = NULL; uint32_t image_size = Max size of the RGB data buffer; int32_t result = EOK; img_lib_t ilib; img_codec_t codec_buf; int n_codecs; img_t img; io_stream_t *image_stream_fd; char mime[64]; uintptr_t temp_encode_data = 0; /* allocate (image_size/sizeof int-(4bytes)) elements of type int */ if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), sizeof(uint32_t)))) { _error("%s: Memory allocation for %d bytes failed", __FUNCTION__, image_size); return ENOMEM; } /* Lavin : copy the image RGB values linearly to the above allocated img_buf, from your rectangular array in memory */ /* Lavin : at this point I assume that you have already copied the image data to img_buf.*/ /* Lavin : NOTE: you can very well use your rectangular array directly as image_buf as well :) */ //Attaching to the image library memset(&img,0,sizeof(img_t)); /* get the resolution details */ img.w = 1440; // 1440 or 960 , use accordingly img.h = 540; // 540, use accordingly img.format = IMG_FMT_RGBA8888; img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT; img.access.direct.data = img_buf; --> img.access.direct.stride = (img.w * 4 ); if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) { fprintf(stderr, "img_lib_attach() failed: %d\n", result); return result; } memset(mime, '\0', 64 ); sprintf(mime, "image/%s", "png"); if(EOK == (n_codecs = img_codec_list_bymime( ilib, mime, &codec_buf, 10 ))) { _error("%s: img_codec_list() No Codecs found on target !", __FUNCTION__); return -1; } //convert the image_fd to stream_fd required by image libs. /* Lavin : here file_fs should be your xxx.png file fd after open(...O_CREATE) */ if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd ))) { _error("%s: io_open() failed: %d", __FUNCTION__); return -1; } //set the codec //Prepare to encode a frame to a stream if (img_encode_begin(codec_buf, image_stream_fd, &temp_encode_data) != IMG_ERR_OK) { _error("%s: img_encode_begin() failed", __FUNCTION__); return -1; } if ( (result = img_encode_frame(codec_buf, image_stream_fd, NULL, &img, &temp_encode_data)) != IMG_ERR_OK) { _error("%s: img_encode_frame() failed: %d", __FUNCTION__, result); return -1; } (void)img_encode_finish(codec_buf, image_stream_fd, &temp_encode_data); io_close( image_stream_fd ); /* done with img lib */ img_lib_detach(ilib); /* Lavin : Now your PNG fromat file is ready :) :) */ Regards, Lavin, -----Original Message----- From: Ronald Burkey [mailto:community-noreply@qnx.com] Sent: Friday, August 12, 2011 9:52 PM To: advanced-graphics Subject: Creating a PNG output file. I have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done? _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post88079 Lavin Pottekkat 2011-08-17T12:34:51Z post88148: RE: Creating a PNG output file. http://community.qnx.com/sf/go/post88148 Hi Ronald, Try this it should work :) .... search for "Lavin" to see my comments inline.... uint32_t *img_buf = NULL; uint32_t image_size = Max size of the RGB data buffer; int32_t result = EOK; img_lib_t ilib; img_codec_t codec_buf; int n_codecs; img_t img; io_stream_t *image_stream_fd; char mime[64]; uintptr_t temp_encode_data = 0; /* allocate (image_size/sizeof int-(4bytes)) elements of type int */ if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), sizeof(uint32_t)))) { _error("%s: Memory allocation for %d bytes failed", __FUNCTION__, image_size); return ENOMEM; } /* Lavin : copy the image RGB values linearly to the above allocated img_buf, from your rectangular array in memory */ /* Lavin : at this point I assume that you have already copied the image data to img_buf.*/ /* Lavin : NOTE: you can very well use your rectangular array directly as image_buf as well :) */ //Attaching to the image library memset(&img,0,sizeof(img_t)); /* get the resolution details */ img.w = 1440; // 1440 or 960 , use accordingly img.h = 540; // 540, use accordingly img.format = IMG_FMT_RGBA8888; img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT; img.access.direct.data = img_buf; img.access.direct.stride = (img.w * 3 ); if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) { fprintf(stderr, "img_lib_attach() failed: %d\n", result); return result; } memset(mime, '\0', 64 ); sprintf(mime, "image/%s", "png"); if(EOK == (n_codecs = img_codec_list_bymime( ilib, mime, &codec_buf, 10 ))) { _error("%s: img_codec_list() No Codecs found on target !", __FUNCTION__); return -1; } //convert the image_fd to stream_fd required by image libs. /* Lavin : here file_fs should be your xxx.png file fd after open(...O_CREATE) */ if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd ))) { _error("%s: io_open() failed: %d", __FUNCTION__); return -1; } //set the codec //Prepare to encode a frame to a stream if (img_encode_begin(codec_buf, image_stream_fd, &temp_encode_data) != IMG_ERR_OK) { _error("%s: img_encode_begin() failed", __FUNCTION__); return -1; } if ( (result = img_encode_frame(codec_buf, image_stream_fd, NULL, &img, &temp_encode_data)) != IMG_ERR_OK) { _error("%s: img_encode_frame() failed: %d", __FUNCTION__, result); return -1; } (void)img_encode_finish(codec_buf, image_stream_fd, &temp_encode_data); io_close( image_stream_fd ); /* done with img lib */ img_lib_detach(ilib); /* Lavin : Now your PNG fromat file is ready :) :) */ Regards, Lavin, -----Original Message----- From: Ronald Burkey [mailto:community-noreply@qnx.com] Sent: Friday, August 12, 2011 9:52 PM To: advanced-graphics Subject: Creating a PNG output file. I have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done? _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post88079 Lavin Pottekkat 2011-08-17T12:14:51Z post88107: RE: gf_layer_attach() fails. http://community.qnx.com/sf/go/post88107 Photon (and io-graphics) is running and there's only 1 layer on the system so your app fails to attach to the layer. -----Original Message----- From: Hieronim Fet [mailto:community-noreply@qnx.com] Sent: August-09-11 6:49 PM To: advanced-graphics Subject: gf_layer_attach() fails. Hello everyone, I`m having a problem with example program that draws rectangle. The code is from topic http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/di scussion.advanced_graphics.topc8189?_pagenum=1, but I enclose copy of source without long comments so it is easier to look through. As mentioned in topic of this message there is problem with gf_layer_attach() function that fails. The output of the running program is: Number of displays: 1 Display 0: 1280X1024, refresh = 60Hz Number of layers: 1 gf_layer_attach() failed I`m sending sloginfo and pidin outputs and my display.conf. I have no idea why gf_layer_attach fails, hope you will help me. Generally I`m working in Momentics IDE, so if I run this program as QNX C/C++ App will I see any "drawn rectangles" or should I run the program directly under QNX? Maybe this question is silly but I`m just a beginner. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post87952 Michael Van Reenen 2011-08-15T20:56:48Z post88079: Creating a PNG output file. http://community.qnx.com/sf/go/post88079 I have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done? Ronald Burkey 2011-08-12T16:22:11Z post87957: RE: gf_layer_attach() fails. http://community.qnx.com/sf/go/post87957 Hi, I don't immediately see a reason for failure, either. You should examine the return value of gf_layer_attach() more closely to see what the error was. Perhaps another instance of your application was already running? In that case, you'd get an GF_ERR_INUSE. You will not see any rectangles drawn on your Windows/Linux development host; QNX executables simple will not run there. They can only execute on systems running the QNX Neutrino OS. To run your program from the Momentics IDE, you'll want to use a "C/C++ QNX QConn (IP)" launch configuration; this will automatically transfer your program to the defined target and run it there. As well, you could transfer the binary to your target and run it there directly. Hope this helps, Thomas -----Original Message----- From: Hieronim Fet [mailto:community-noreply@qnx.com] Sent: Mittwoch, 10. August 2011 00:49 To: advanced-graphics Subject: gf_layer_attach() fails. Hello everyone, I`m having a problem with example program that draws rectangle. The code is from topic http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/di scussion.advanced_graphics.topc8189?_pagenum=1, but I enclose copy of source without long comments so it is easier to look through. As mentioned in topic of this message there is problem with gf_layer_attach() function that fails. The output of the running program is: Number of displays: 1 Display 0: 1280X1024, refresh = 60Hz Number of layers: 1 gf_layer_attach() failed I`m sending sloginfo and pidin outputs and my display.conf. I have no idea why gf_layer_attach fails, hope you will help me. Generally I`m working in Momentics IDE, so if I run this program as QNX C/C++ App will I see any "drawn rectangles" or should I run the program directly under QNX? Maybe this question is silly but I`m just a beginner. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post87952 Thomas Haupt 2011-08-10T07:05:29Z post87954: Re: gf_layer_attach() fails. http://community.qnx.com/sf/go/post87954 Sorry for posting twice, my mistake. Hieronim Fet 2011-08-09T22:54:28Z post87953: gf_layer_attach() fails. http://community.qnx.com/sf/go/post87953 Hello everyone, I`m having a problem with example program that draws rectangle. The code is from topic http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/discussion.advanced_graphics.topc8189?_pagenum=1, but I enclose copy of source without long comments so it is easier to look through. As mentioned in topic of this message there is problem with gf_layer_attach() function that fails. The output of the running program is: Number of displays: 1 Display 0: 1280X1024, refresh = 60Hz Number of layers: 1 gf_layer_attach() failed I`m sending sloginfo and pidin outputs and my display.conf. I have no idea why gf_layer_attach fails, hope you will help me. Generally I`m working in Momentics IDE, so if I run this program as QNX C/C++ App will I see any "drawn rectangles" or should I run the program directly under QNX? Maybe this question is silly but I`m just a beginner. Hieronim Fet 2011-08-09T22:53:00Z post87952: gf_layer_attach() fails. http://community.qnx.com/sf/go/post87952 Hello everyone, I`m having a problem with example program that draws rectangle. The code is from topic http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/discussion.advanced_graphics.topc8189?_pagenum=1, but I enclose copy of source without long comments so it is easier to look through. As mentioned in topic of this message there is problem with gf_layer_attach() function that fails. The output of the running program is: Number of displays: 1 Display 0: 1280X1024, refresh = 60Hz Number of layers: 1 gf_layer_attach() failed I`m sending sloginfo and pidin outputs and my display.conf. I have no idea why gf_layer_attach fails, hope you will help me. Generally I`m working in Momentics IDE, so if I run this program as QNX C/C++ App will I see any "drawn rectangles" or should I run the program directly under QNX? Maybe this question is silly but I`m just a beginner. Hieronim Fet 2011-08-09T22:49:26Z post87581: RE: Display problem for iMx51 - vsync and eglgears not working http://community.qnx.com/sf/go/post87581 Am using LCD, i had a reference driver for LCD. I was able to integrate and it is working fine. Now am able to run few example applications. Thank you. Has anyone done a Photon GUI environment on the iMx51 or iMx53 platform. Kishore.S > > What kind of display (DVI, VGA, LCD) are you using? > > Thanks > > > -----Original Message----- > From: kishore s [mailto:community-noreply@qnx.com] > Sent: July 22, 2011 2:43 AM > To: advanced-graphics > Subject: Display problem for iMx51 - vsync and eglgears not working > > Hi, > > I am working on iMx51 reference board from Freescale. > > When i run the vsync or egl-gears application nothing is comming up on > the > display. > > When i run the egl application i get the below prints. > egl-gears > 185 frames in 5.027 seconds = 36.801 FPS > 184 frames in 5.027 seconds = 36.602 FPS > 218 frames in 5.946 seconds = 36.663 FPS > > I am not getting any errors also when i run sloginfo. > > Jan 01 00:00:00 2 5 0 libcam.so (Jul 9 2010 13:52:59) bver > 6040207 > Jan 01 00:00:00 5 6 0 Watchdog Timer is disable now. > Jan 01 00:00:00 2 5 100 cam-disk.so (Jul 9 2010 13:53:13) > Jan 01 00:00:14 6 8 0 get_config_data(): xres=800 yres=480 > refresh=60 output_fmt=24 di_sel=1 display_type=1 yuv_layer=1 > Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): type=1, > gpio3=0x0600102a DVI_RST LVDS_RST LCD_DET > Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): set > gpio3=0x0600103a DVI_RST LVDS_RST LCD_DET LCD_BKLIGHT > > For the display.conf you can refer the attached buildfile. > for modopts in display.conf am using the imx51-1.conf. > xres=800,yres=480,refresh=60,pixclk=32264000,hsw=124,hss=60,hew=32,vsw=2 > ,vss=33,vew=10,vpol=1,epol=1,dpol=0,cpol=0,hpol=1,ofmt=16,di=1,type=1,yu > v=1 > > In the release notes they have mentioned about display-detect but i dint > find any binary for the same, so i have directly given the imx51-1.conf > file. > > > Can anyone help me on this issue. > > > Kishore.S > > > > > > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post87517 > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post87560 > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > > -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. kishore s 2011-07-26T04:42:08Z post87560: RE: Display problem for iMx51 - vsync and eglgears not working http://community.qnx.com/sf/go/post87560 What kind of display (DVI, VGA, LCD) are you using? Thanks -----Original Message----- From: kishore s [mailto:community-noreply@qnx.com] Sent: July 22, 2011 2:43 AM To: advanced-graphics Subject: Display problem for iMx51 - vsync and eglgears not working Hi, I am working on iMx51 reference board from Freescale. When i run the vsync or egl-gears application nothing is comming up on the display. When i run the egl application i get the below prints. egl-gears 185 frames in 5.027 seconds = 36.801 FPS 184 frames in 5.027 seconds = 36.602 FPS 218 frames in 5.946 seconds = 36.663 FPS I am not getting any errors also when i run sloginfo. Jan 01 00:00:00 2 5 0 libcam.so (Jul 9 2010 13:52:59) bver 6040207 Jan 01 00:00:00 5 6 0 Watchdog Timer is disable now. Jan 01 00:00:00 2 5 100 cam-disk.so (Jul 9 2010 13:53:13) Jan 01 00:00:14 6 8 0 get_config_data(): xres=800 yres=480 refresh=60 output_fmt=24 di_sel=1 display_type=1 yuv_layer=1 Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): type=1, gpio3=0x0600102a DVI_RST LVDS_RST LCD_DET Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): set gpio3=0x0600103a DVI_RST LVDS_RST LCD_DET LCD_BKLIGHT For the display.conf you can refer the attached buildfile. for modopts in display.conf am using the imx51-1.conf. xres=800,yres=480,refresh=60,pixclk=32264000,hsw=124,hss=60,hew=32,vsw=2 ,vss=33,vew=10,vpol=1,epol=1,dpol=0,cpol=0,hpol=1,ofmt=16,di=1,type=1,yu v=1 In the release notes they have mentioned about display-detect but i dint find any binary for the same, so i have directly given the imx51-1.conf file. Can anyone help me on this issue. Kishore.S -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post87517 Michael Van Reenen 2011-07-25T12:51:51Z post87517: Display problem for iMx51 - vsync and eglgears not working http://community.qnx.com/sf/go/post87517 Hi, I am working on iMx51 reference board from Freescale. When i run the vsync or egl-gears application nothing is comming up on the display. When i run the egl application i get the below prints. egl-gears 185 frames in 5.027 seconds = 36.801 FPS 184 frames in 5.027 seconds = 36.602 FPS 218 frames in 5.946 seconds = 36.663 FPS I am not getting any errors also when i run sloginfo. Jan 01 00:00:00 2 5 0 libcam.so (Jul 9 2010 13:52:59) bver 6040207 Jan 01 00:00:00 5 6 0 Watchdog Timer is disable now. Jan 01 00:00:00 2 5 100 cam-disk.so (Jul 9 2010 13:53:13) Jan 01 00:00:14 6 8 0 get_config_data(): xres=800 yres=480 refresh=60 output_fmt=24 di_sel=1 display_type=1 yuv_layer=1 Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): type=1, gpio3=0x0600102a DVI_RST LVDS_RST LCD_DET Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): set gpio3=0x0600103a DVI_RST LVDS_RST LCD_DET LCD_BKLIGHT For the display.conf you can refer the attached buildfile. for modopts in display.conf am using the imx51-1.conf. xres=800,yres=480,refresh=60,pixclk=32264000,hsw=124,hss=60,hew=32,vsw=2,vss=33,vew=10,vpol=1,epol=1,dpol=0,cpol=0,hpol=1,ofmt=16,di=1,type=1,yuv=1 In the release notes they have mentioned about display-detect but i dint find any binary for the same, so i have directly given the imx51-1.conf file. Can anyone help me on this issue. Kishore.S -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. kishore s 2011-07-22T06:42:37Z post86633: Re: Poulsbo and screen resiolution http://community.qnx.com/sf/go/post86633 Check your video memory setting in BIOS! Had the same problem with the poulsbo driver on a iEi UIBX-200 machine. Changing the video memory from 4MB to 8MB it works fine with 1280x1024 16M colors. Oscar Andreassen 2011-06-15T11:59:15Z post86430: IMG_W and IMG_H in img_t http://community.qnx.com/sf/go/post86430 I am loading a 640X480 rgb png as follow: img_t image1; rc = img_load_file(ilib, "/tmp/black.png", NULL, &image1); I am trying to walk through every pixel in this image and do per pixel calculation. However, the loop below causes my system to crash! for (i = 0; i <( image1.h * image1.w); i++) // walk through the image using a pointer After debugging this, it seems if I use image size to be 640*361 everything works fine. So, why is it that imag1.access.direct.data is pointing to a memory size that is (640*361) where the image size is 640X480? My image is a ARGB, so it I should have 4 bytes/pixel. According to the documentation in img_t, the img_w and ima_h fields are the number of pixels. Can someone help me understand the discrepancy that I am seeing? Thanks, R.S. Reza Salehi 2011-06-03T17:33:23Z post86372: img_t flags http://community.qnx.com/sf/go/post86372 Hi, I have a question in regards to the following img_t flags: IMG_TRANSPARENCY; IMG_FMT_ALPHA; I have a file that is ARGB8888. When I load this file as below rc = img_load_file(ilib, "/tmp/Day_24hr.png", NULL, &image1); the IMG_TRANSPARENCY, IMG_FMT_ALPHA are not set! Aren't these flags suppose to be set by the img_load_file, if the file is ARGB8888 png file? I am trying to blit (blend) two ARGB files, but for some reason, I keep overwriting the destination instead of the blending. I also tried the following without luck alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA; gf_context_set_dst_alpha(context, &alpha); I would appreciate if someone can show me me some code on how to blend to two ARGB png files together. I am trying to evaluate the QNX for our next company project but the documentation is not always very easy to follow (at least for a non graphic expert like me) Thanks, R.S. Reza Salehi 2011-06-02T03:40:24Z post86359: Re: How to blit insttead of overwite using gf_draw_blit2? http://community.qnx.com/sf/go/post86359 For some reason, when I do: image2.flags |= IMG_FORMAT; image2.format = GF_FORMAT_ARGB8888; rc = img_load_file(ilib, "/tmp/Day_24hr.png", NULL, &image1); rc = gf_surface_attach(&img_surf1, gdev, image1.w, image1.h, image1.access.direct.stride, img_fmt_to_gf(image1.format), &palette, image1.access.direct.data, 0); gf_context_create(&context); Then my call to rc = gf_context_set_surface(context, img_surf1); hangs and never returns!!! I am running out of ideas to try!!! Thanks, Reza. Reza Salehi 2011-06-01T21:36:34Z post86358: Re: How to blit insttead of overwite using gf_draw_blit2? http://community.qnx.com/sf/go/post86358 Correct, you'll need an alpha channel for source alpha blending. ----- Original Message ----- From: Reza Salehi [mailto:community-noreply@qnx.com] Sent: Wednesday, June 01, 2011 05:17 PM To: advanced-graphics <post86357@community.qnx.com> Subject: Re: How to blit insttead of overwite using gf_draw_blit2? Thanks for the quick reply Joel. However, I guess my problem is that I can not figure out how to enable blending! I have looked at the document and I found the gf_context_set_alpha. However, my images are RGB888 and not ARGB888. Should I read the original image as ARGB8888 (by setting the img_t format field). I would appreciate it if you can point me to small code snipet or site, as I have been trying to figure this out for past two days. Regards, Reza. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post86357 Joel Pilon(deleted) 2011-06-01T21:27:37Z post86357: Re: How to blit insttead of overwite using gf_draw_blit2? http://community.qnx.com/sf/go/post86357 Thanks for the quick reply Joel. However, I guess my problem is that I can not figure out how to enable blending! I have looked at the document and I found the gf_context_set_alpha. However, my images are RGB888 and not ARGB888. Should I read the original image as ARGB8888 (by setting the img_t format field). I would appreciate it if you can point me to small code snipet or site, as I have been trying to figure this out for past two days. Regards, Reza. Reza Salehi 2011-06-01T21:17:32Z post86356: Re: How to blit insttead of overwite using gf_draw_blit2? http://community.qnx.com/sf/go/post86356 You'll probably want to enable blending and use a source over blending mode. -Joel ----- Original Message ----- From: Reza Salehi [mailto:community-noreply@qnx.com] Sent: Wednesday, June 01, 2011 04:51 PM To: advanced-graphics <post86355@community.qnx.com> Subject: How to blit insttead of overwite using gf_draw_blit2? Hi All, I am trying to blit two .png files. I have attached the .png files to two seperate surfaces and am using the following code(only the important calls): rc = gf_surface_attach(&img_surf1, gdev, image1.w, image1.h, image1.access.direct.stride, img_fmt_to_gf(image1.format), &palette, image1.access.direct.data, 0); rc = gf_surface_attach(&img_surf2, gdev, image2.w, image2.h, image2.access.direct.stride, img_fmt_to_gf(image2.format), &palette2, image2.access.direct.data, 0); gf_context_create(&context); gf_context_set_surface(context, img_surf1); gf_draw_begin(context); gf_draw_blit2( context, img_surf2, NULL, 107, 4, 334, 222, 0, 0); gf_draw_end(context); rc = img_write_file(ilib, "/tmp/reza.png", NULL, &image1); The two images are getting combined. However, the target image is overwriting (covering) the target image. Can someone please tell me what I need to do (probably to the context) to have the source image blited into the target image, instead of overwriting it? Thanks in advance, Reza. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post86355 Joel Pilon(deleted) 2011-06-01T20:56:56Z post86355: How to blit insttead of overwite using gf_draw_blit2? http://community.qnx.com/sf/go/post86355 Hi All, I am trying to blit two .png files. I have attached the .png files to two seperate surfaces and am using the following code(only the important calls): rc = gf_surface_attach(&img_surf1, gdev, image1.w, image1.h, image1.access.direct.stride, img_fmt_to_gf(image1.format), &palette, image1.access.direct.data, 0); rc = gf_surface_attach(&img_surf2, gdev, image2.w, image2.h, image2.access.direct.stride, img_fmt_to_gf(image2.format), &palette2, image2.access.direct.data, 0); gf_context_create(&context); gf_context_set_surface(context, img_surf1); gf_draw_begin(context); gf_draw_blit2( context, img_surf2, NULL, 107, 4, 334, 222, 0, 0); gf_draw_end(context); rc = img_write_file(ilib, "/tmp/reza.png", NULL, &image1); The two images are getting combined. However, the target image is overwriting (covering) the target image. Can someone please tell me what I need to do (probably to the context) to have the source image blited into the target image, instead of overwriting it? Thanks in advance, Reza. Reza Salehi 2011-06-01T20:51:18Z post86287: Re: Write data into draw context memory slowly! http://community.qnx.com/sf/go/post86287 1. What graphics driver are you using? 2. What version of the OS? 3. What is the output of 'pci -v' (relevant part only -- search for VGA) 4. What is the output of show_vesa ? (just the header -- not need for modes' descriptions). Misha Nefedov 2011-05-31T12:51:49Z post86285: Re: Write data into draw context memory slowly! http://community.qnx.com/sf/go/post86285 This is the link which contains datasheet of ARK-6622H-18ZE: - http://www.alldatasheet.net/datasheet-pdf/pdf/327854/ADVANTECH/ARK-6622H-18ZE.html and this is the link for the board: - http://buy.advantech.com/AIMB270G200A1E/AIMB270G200A1E/model-AIMB-270G2-00A1E.htm 2011/5/31 Misha Nefedov <community-noreply@qnx.com> > The code is for a chassis. Please post a link to the board/graphics adapter > details. > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post86276 > > Thang Bui Quy(deleted) 2011-05-31T10:59:57Z post86276: Re: Write data into draw context memory slowly! http://community.qnx.com/sf/go/post86276 The code is for a chassis. Please post a link to the board/graphics adapter details. Misha Nefedov 2011-05-30T18:38:46Z post86275: Re: Write data into draw context memory slowly! http://community.qnx.com/sf/go/post86275 I bought a computer from Advantech, its name is ARK-6622H-18ZE. You can see details about graphic adapter on website of Advantech. Thank you. 2011/5/31 Thắng Bùi Quý <bqthangcndt@gmail.com> > Dear you! > I am using the graphics adapter Intel GFX. I used window OS to build > programs with the context memory and they always run normal, there were not > any problem. Do you have solutions for my problem? Can you help me. Please! > > > 2011/5/31 Misha Nefedov <community-noreply@qnx.com> > >> This is most likely expected -- when you get a pointer to a video >> (dedicated) memory. The memory access is facilitated by the graphics >> controller and is usually slow for reading (comparing to a RAM memory >> controller) and fast for writing. >> What graphics adapter are you using? >> >> >> >> _______________________________________________ >> >> Advanced Graphics >> http://community.qnx.com/sf/go/post86272 >> >> > Thang Bui Quy(deleted) 2011-05-30T17:38:35Z post86274: Re: Write data into draw context memory slowly! http://community.qnx.com/sf/go/post86274 Dear you! I am using the graphics adapter Intel GFX. I used window OS to build programs with the context memory and they always run normal, there were not any problem. Do you have solutions for my problem? Can you help me. Please! 2011/5/31 Misha Nefedov <community-noreply@qnx.com> > This is most likely expected -- when you get a pointer to a video > (dedicated) memory. The memory access is facilitated by the graphics > controller and is usually slow for reading (comparing to a RAM memory > controller) and fast for writing. > What graphics adapter are you using? > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post86272 > > Thang Bui Quy(deleted) 2011-05-30T17:32:36Z post86272: Re: Write data into draw context memory slowly! http://community.qnx.com/sf/go/post86272 This is most likely expected -- when you get a pointer to a video (dedicated) memory. The memory access is facilitated by the graphics controller and is usually slow for reading (comparing to a RAM memory controller) and fast for writing. What graphics adapter are you using? Misha Nefedov 2011-05-30T17:10:33Z post86234: Write data into draw context memory slowly! http://community.qnx.com/sf/go/post86234 I write a program using draw context memory by the function PdCreateOffscreenContext(). This function returns a pointer to a PdOffscreenContext_t. After that i use the function PdGetOffscreenContextPtr() to get a pointer to the shared memory object. When i have that pointer i can change data in the context to blit them on the screen by the function PgContextBlit(). However i had a problem with writing data back into the context, it was very slow. For example: ptr is the pointer to context, d is a variable. for(int i=0; i < CONTEXT_HEIGHT; ++i) for(int j=0; j < CONTEXT_WITH; ++j) { d = *(ptr + i * CONTEXT_WIDTH * 4 + j);(1) *(ptr + i * CONTEXT_WIDTH * 4 + j) = 2 * d; (2) } if i set CONTEXT_HEIGHT and CONTEXT_WIDTH small (about smaller than 256) the program run normal. if i set CONTEXT_HEIGHT and CONTEXT_WIDTH biggerl (about 1024) the program run very slow. I tried to test with bypassing either the line (1) or the line (2) and i realized that the line (2) made the program very slow. Can you help me to solve it? Thang Bui Quy(deleted) 2011-05-28T17:55:44Z post86181: Re: Who is responsible for alloc mem for access.direct.data? http://community.qnx.com/sf/go/post86181 I'd have to take a closer look. Perhaps someone else knows off hand. ----- Original Message ----- From: Reza Salehi [mailto:community-noreply@qnx.com] Sent: Thursday, May 26, 2011 05:59 PM To: advanced-graphics <post86180@community.qnx.com> Subject: Re: Who is responsible for alloc mem for access.direct.data? Hi Joel, Thanks for answering. I though the same. However, I wrote a small code and it seems like data is NULL before and after img_load_file() call! The function returns OK so the image does get loaded (somewhere), but the point is still data pointer is still NULL. So, when I try to use this pointer to attach it to a gf surface, the system hangs. img.flags = 0; img.flags |= IMG_DIRECT; printf("data before load %p \n",img.access.direct.data); if ((rc = img_load_file(ilib, "/tmp/n_day_r.png", NULL, &img)) != IMG_ERR_OK) { fprintf(stderr, "img_load_file(%s) failed: %d\n", "/tmp/n_day_r.png", rc); return -1; } else { fprintf(stderr, "img_load_file(%s) sucess : %d\n", "/tmp/n_day_r.png", rc); fprintf(stdout, "img is %dx%dx%d\n", img.w, img.h, IMG_FMT_BPP(img.format)); } printf("data after load %d \n",img.access.direct.data); _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post86180 Joel Pilon(deleted) 2011-05-26T22:02:30Z post86180: Re: Who is responsible for alloc mem for access.direct.data? http://community.qnx.com/sf/go/post86180 Hi Joel, Thanks for answering. I though the same. However, I wrote a small code and it seems like data is NULL before and after img_load_file() call! The function returns OK so the image does get loaded (somewhere), but the point is still data pointer is still NULL. So, when I try to use this pointer to attach it to a gf surface, the system hangs. img.flags = 0; img.flags |= IMG_DIRECT; printf("data before load %p \n",img.access.direct.data); if ((rc = img_load_file(ilib, "/tmp/n_day_r.png", NULL, &img)) != IMG_ERR_OK) { fprintf(stderr, "img_load_file(%s) failed: %d\n", "/tmp/n_day_r.png", rc); return -1; } else { fprintf(stderr, "img_load_file(%s) sucess : %d\n", "/tmp/n_day_r.png", rc); fprintf(stdout, "img is %dx%dx%d\n", img.w, img.h, IMG_FMT_BPP(img.format)); } printf("data after load %d \n",img.access.direct.data); Reza Salehi 2011-05-26T21:59:31Z post86178: Re: Who is responsible for alloc mem for access.direct.data? http://community.qnx.com/sf/go/post86178 It been a long time, but i'm pretty sure the lib will allocate the memory, however I think you're responsible for freeing it. ----- Original Message ----- From: Reza Salehi [mailto:community-noreply@qnx.com] Sent: Thursday, May 26, 2011 05:21 PM To: advanced-graphics <post86177@community.qnx.com> Subject: Who is responsible for alloc mem for access.direct.data? Hi All, I am having a problem with setting img.flags |= IMG_DIRECT. Who is responsible for alloc memory for acess.direct.data? Is it the user or does the img_load_file() allocates memeory when the user sets the IMG_DIRECT flag. I have been spinning why wheels on this. I am trying to grab the acess.direct.data pointer after loading a png file, but my system hangs everytime I set the IMG_DIRECT flag. Thanks, Reza. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post86177 Joel Pilon(deleted) 2011-05-26T21:23:40Z post86177: Who is responsible for alloc mem for access.direct.data? http://community.qnx.com/sf/go/post86177 Hi All, I am having a problem with setting img.flags |= IMG_DIRECT. Who is responsible for alloc memory for acess.direct.data? Is it the user or does the img_load_file() allocates memeory when the user sets the IMG_DIRECT flag. I have been spinning why wheels on this. I am trying to grab the acess.direct.data pointer after loading a png file, but my system hangs everytime I set the IMG_DIRECT flag. Thanks, Reza. Reza Salehi 2011-05-26T21:21:19Z post86166: How to update driver from 6.3 to 6.4/6.5? http://community.qnx.com/sf/go/post86166 Hello, For one of our embedded system we have a custom video driver working with QNX 6.3. Now I want to update it for QNX 6.4/6.5. I'm currently reading this doc : http://www.qnx.com/download/feature.html?programid=20957 Now I need to get the updated sources of the includes and sample drivers. But since the last changes in F27 I have not access to these sources. How is it possible to get these access? Thanks, Christophe Christophe Hannoyer 2011-05-26T14:50:05Z post86102: Re: RE: cleaning up an img_t* in C++ http://community.qnx.com/sf/go/post86102 Hi Derek, I have a question with regard to img_t but in regard to who is allocating memory for access.direct.data pointer when using setting the IMG_DIRECT flag? Will the img_load_file() allocate memory for it? I am trying to read a .png file, make some modification to the file and then save it as new .png file. However, when I set the IMG_DIRECT flag, my system hangs. If I don't set the IMG_DIRECT flag, the file is loaded correctly. I am using QNX 6.4.1 on the host and the same version running on a VM target. I appreciate it if you can give me pointer on where the problem could be. Thanks, RS. Reza Salehi 2011-05-25T00:13:23Z post86101: Re: RE: How to use devg-flat in gf_dev_attach? http://community.qnx.com/sf/go/post86101 Hi Joel, I tried to use the direct pointer approach, but my system hangs. Below is a code snipet where it hangs: img_t img_day; if ((rc = img_lib_attach(&ilib)) != IMG_ERR_OK) { fprintf(stderr, "img_lib_attach() failed: %d\n", rc); return rc; } img_day.flags = 0; img_day.flags |= IMG_DIRECT; // /tmp/stop.png is the location of the file on the target VM system img_template_file_Day = "/tmp/stop.png"; // The code hangs after making the call below. If I don't set the IMG_DIRECT flag, it works. if ((rc = img_load_file(ilib, img_template_file_Day, NULL, &img_day)) != IMG_ERR_OK) { fprintf(stderr, "img_load_file(%s) failed on Day Template: %d\n", img_template_file_Day, rc); // return rc; } Reza Salehi 2011-05-24T23:06:36Z post86097: Re: RE: How to use devg-flat in gf_dev_attach? http://community.qnx.com/sf/go/post86097 Well, I think my problem is that I am not familiar enough with the graphic sub-systems of QNX to know what I want to do :). Basically, I have some graphic artists that are providing me base .png files. I need to draw an ellipse based on some dynamic data and save the result as another .png file. So, whatever is the fastest to accomplish this would work for me. I appreciate it if you have any suggestion or code snippet to help me get started. Thanks, Reza Reza Salehi 2011-05-24T20:14:43Z post86096: RE: How to use devg-flat in gf_dev_attach? http://community.qnx.com/sf/go/post86096 Do you want to modify the img data using gf rendering or just via a pointer in software? If you don't plan on using gf rendering, then there's no need for a gf surface. -Joel -----Original Message----- From: Reza Salehi [mailto:community-noreply@qnx.com] Sent: May 24, 2011 3:02 PM To: advanced-graphics Subject: Re: How to use devg-flat in gf_dev_attach? Thanks Joel. But, my understanding was that in order to modify the image data, I will have to first attach it to a gf surface, modify it, and then save it. Just so I understand, if I only need need to modify a .png file (not display it), I don't need to use gf at all? In other words, I don't need to attach and great a gf surface at all? Basically, below is what I am trying to do: 1. Read a .png file from the file system (i.e. /tmp/test.png) 2. Modify this file with some algorithm to draw an ellipse 3. Same the result from #2 as /tmp/new_image.png Thanks, Reza. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post86093 Joel Pilon(deleted) 2011-05-24T19:38:35Z post86093: Re: How to use devg-flat in gf_dev_attach? http://community.qnx.com/sf/go/post86093 Thanks Joel. But, my understanding was that in order to modify the image data, I will have to first attach it to a gf surface, modify it, and then save it. Just so I understand, if I only need need to modify a .png file (not display it), I don't need to use gf at all? In other words, I don't need to attach and great a gf surface at all? Basically, below is what I am trying to do: 1. Read a .png file from the file system (i.e. /tmp/test.png) 2. Modify this file with some algorithm to draw an ellipse 3. Same the result from #2 as /tmp/new_image.png Thanks, Reza. Reza Salehi 2011-05-24T19:02:28Z post86090: Re: How to use devg-flat in gf_dev_attach? http://community.qnx.com/sf/go/post86090 If you just want to encode/decode image data you don't need GF. You can either pass or get a pointer to the img data by just using libimg. Joel Pilon(deleted) 2011-05-24T18:30:37Z post86089: How to use devg-flat in gf_dev_attach? http://community.qnx.com/sf/go/post86089 I am trying to read a .png file, modify it and write a back to the file system. In order to do that, my understanding is, that I need to use both gf and img libraries. I don't want to use any specific HW to attach to as I don't need to display my .png file. All I want to do is to be able to create surface so that I can modify my .png file. In order to create a surface, I need to first attach to a device. My understanding is that I can use devg-flat as a device. However I am not sure, how to install devg-flat driver and related files into my IDE and target. I also don't know how to use devg-flat in the call gf_dev_attach() call? I have already added libffb.so to extra libraries section of IDE. I appreciate it if anyone can give me some pointers on this. Regards, Reza. Reza Salehi 2011-05-24T18:27:12Z post86031: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post86031 Reza Salehi wrote: > Hi Armin, > > Thanks for your comment. Do you know if there is a site that tells you how to install sdl_gfx library/ies and write a hello world program to draw an ellipse on VM x86 target running Nuternia 6.5? SDL 1.3: http://community.qnx.com/sf/projects/qnx_community_sdl_project/ --> have a look to the OpenGL ES support SDL_Gfx: http://www.ferzkopp.net/joomla/content/view/19/14/ ... it compiles out of the box. --Armin > Thanks in advance, > > Reza. > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post86028 > > Armin Steinhoff 2011-05-21T11:43:26Z post86028: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post86028 Hi Armin, Thanks for your comment. Do you know if there is a site that tells you how to install sdl_gfx library/ies and write a hello world program to draw an ellipse on VM x86 target running Nuternia 6.5? Thanks in advance, Reza. Reza Salehi 2011-05-20T23:13:14Z post86000: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post86000 Joel Pilon wrote: > My mistake, my memory is a little rusty. You'll have to generate and tessellate your own ellipses in gf. Or you might be able to use photon and the pgdrawellise function. ... with SDL_Gfx you will get antialized ellipses :) --Armin http://www.steinhoff-automation.com > ----- Original Message ----- > From: Reza Salehi [mailto:community-noreply@qnx.com] > Sent: Thursday, May 19, 2011 08:42 PM > To: advanced-graphics<post85987@community.qnx.com> > Subject: Re: Newbie Question - Help with GF > > Thanks Joel. However, after checking the libgf, it seems like it doesn't support drawing of ellipses! I only see polyline and rectangular drawing functions. > > Cheers, > > Reza. > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post85987 > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post85995 > > Armin Steinhoff 2011-05-20T08:53:18Z post85995: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post85995 My mistake, my memory is a little rusty. You'll have to generate and tessellate your own ellipses in gf. Or you might be able to use photon and the pgdrawellise function. ----- Original Message ----- From: Reza Salehi [mailto:community-noreply@qnx.com] Sent: Thursday, May 19, 2011 08:42 PM To: advanced-graphics <post85987@community.qnx.com> Subject: Re: Newbie Question - Help with GF Thanks Joel. However, after checking the libgf, it seems like it doesn't support drawing of ellipses! I only see polyline and rectangular drawing functions. Cheers, Reza. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post85987 Joel Pilon(deleted) 2011-05-20T02:52:36Z post85987: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post85987 Thanks Joel. However, after checking the libgf, it seems like it doesn't support drawing of ellipses! I only see polyline and rectangular drawing functions. Cheers, Reza. Reza Salehi 2011-05-20T00:42:55Z post85984: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post85984 Oops accidently hit send to soon. You can get a pointer from a gf surface using gf to either read or write image data. Libimg accepts a pointer for the src or dst for image encode/decode operations. ----- Original Message ----- From: Joel Pilon Sent: Thursday, May 19, 2011 07:46 PM To: 'post85982@community.qnx.com' <post85982@community.qnx.com> Subject: Re: Newbie Question - Help with GF I don't have a link handy, but you can get a pointer from a CPU accessible surface. You can pass the pointrr ----- Original Message ----- From: Reza Salehi [mailto:community-noreply@qnx.com] Sent: Thursday, May 19, 2011 07:44 PM To: advanced-graphics <post85982@community.qnx.com> Subject: Re: Newbie Question - Help with GF Thank you very much Joel. At least I know where to start looking. After looking into libimg, I found the img_load and img_load_file APIs. However, one of these APIs deal with streaming data and another with a filesystem file! I could not find and API that would directly read and load an image from GF surface. Can you please tell which libimg API does that? Also, QNX usually has some very good code examples or tutorials on these types of things. Do you know a link or a location where I can find an example of how to do something like this instead of me asking stupid questions and wasting peoples time on the this Forum? Thanks again, Reza. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post85982 Joel Pilon(deleted) 2011-05-19T23:49:01Z post85983: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post85983 I don't have a link handy, but you can get a pointer from a CPU accessible surface. You can pass the pointrr ----- Original Message ----- From: Reza Salehi [mailto:community-noreply@qnx.com] Sent: Thursday, May 19, 2011 07:44 PM To: advanced-graphics <post85982@community.qnx.com> Subject: Re: Newbie Question - Help with GF Thank you very much Joel. At least I know where to start looking. After looking into libimg, I found the img_load and img_load_file APIs. However, one of these APIs deal with streaming data and another with a filesystem file! I could not find and API that would directly read and load an image from GF surface. Can you please tell which libimg API does that? Also, QNX usually has some very good code examples or tutorials on these types of things. Do you know a link or a location where I can find an example of how to do something like this instead of me asking stupid questions and wasting peoples time on the this Forum? Thanks again, Reza. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post85982 Joel Pilon(deleted) 2011-05-19T23:46:10Z post85982: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post85982 Thank you very much Joel. At least I know where to start looking. After looking into libimg, I found the img_load and img_load_file APIs. However, one of these APIs deal with streaming data and another with a filesystem file! I could not find and API that would directly read and load an image from GF surface. Can you please tell which libimg API does that? Also, QNX usually has some very good code examples or tutorials on these types of things. Do you know a link or a location where I can find an example of how to do something like this instead of me asking stupid questions and wasting peoples time on the this Forum? Thanks again, Reza. Reza Salehi 2011-05-19T23:44:14Z post85979: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post85979 I'd suggest taking a look at libimg. There also doc for the api as well. The gf api allows you to render things like ellipses and libimg would allow you to write data from gf surfaces as pngs. You could then load png files into gf surfaces or to render them as gf images. ----- Original Message ----- From: Reza Salehi [mailto:community-noreply@qnx.com] Sent: Thursday, May 19, 2011 06:30 PM To: advanced-graphics <post85978@community.qnx.com> Subject: Re: Newbie Question - Help with GF Sorry, I had a typo in the previous e-mail: I was trying to say that I am trying to draw ellipses and save them as a png file. Thanks, Reza. _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post85978 Joel Pilon(deleted) 2011-05-19T22:38:51Z post85978: Re: Newbie Question - Help with GF http://community.qnx.com/sf/go/post85978 Sorry, I had a typo in the previous e-mail: I was trying to say that I am trying to draw ellipses and save them as a png file. Thanks, Reza. Reza Salehi 2011-05-19T22:30:37Z post85977: Newbie Question - Help with GF http://community.qnx.com/sf/go/post85977 Hi All, I am Newbie with QNX GF and QNX in general. I am trying to use Momentics IDE to connect to a x86 VM target using qconn. What I want to do is to be able to draw an based on some parameters and then save it in a PNG format on the target file system (VM running neutrino). I would like to then be able to load the png file in a browser and display the image. Can anyone someone tell me what is the best way to start? Is GF the correct place to start. With GF, I could not find anyway to render to a file rather that a graphic device! I apologize if some my graphic terminology is not correct. I am trying to evaluate the QNX platform for a future project and this would help me get started. Thanks in advance. Reza. Reza Salehi 2011-05-19T21:35:09Z post85798: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip] http://community.qnx.com/sf/go/post85798 Thanks, Misha. It does seem to do something now. On 05/17/2011 09:19 AM, Misha Nefedov wrote: > Yes, I got this. The problem is that we asked to NO rendering buffer when doing th PfAttachCx(). Give it a number, for example: > > PfAttachCx( NULL, 32*1024 ); > > The size of the buffer should depend on how large the strings and the font size are. > > > > > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post85785 Ronald Burkey 2011-05-17T16:15:31Z post85785: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip] http://community.qnx.com/sf/go/post85785 Yes, I got this. The problem is that we asked to NO rendering buffer when doing th PfAttachCx(). Give it a number, for example: PfAttachCx( NULL, 32*1024 ); The size of the buffer should depend on how large the strings and the font size are. Misha Nefedov 2011-05-17T14:19:24Z post85745: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip] http://community.qnx.com/sf/go/post85745 On 05/16/2011 02:55 PM, Misha Nefedov wrote: > Hard to tell. Can you please post the entire source file -- for me to try? Here's code that fails for me as described. I compiled it with "ntox86-gcc -o FontTest FontTest.c -lph" and ran the font server with "phfont -d /usr/photon/font_repository -D /usr/photon/font_repository". #include <stdio.h> #include <errno.h> #include <photon/Pf.h> void Callback (void *ctx, const pf_point_t *pos, const FontRender *fr) { fprintf (stderr, "Callback: %d,%d\n", pos->x, pos->y); fprintf (stderr, "Callback: %d,%d %d,%d %d, %d, %d, %p\n", fr->size.x, fr->size.y, fr->offset.x, fr->offset.y, fr->width, fr->bpl, fr->bpp, fr->bmptr); } int main (void) { char *MyFontName = "Courier10 BT"; int FontSize = 10; int i; struct _Pf_ctrl *FontServer = NULL; FontID *ID; FontName Description; pf_point_t pp = { 50, 50 }; FontServer = PfAttachCx (NULL, 0); if (FontServer == NULL) { fprintf (stderr, "Cannot attach to font server.\n"); return (1); } if (NULL == PfGenerateFontNameCx (FontServer, MyFontName, 0, FontSize, Description)) { fprintf (stderr, "Cannot get font name %s size %d style 0x%X\n", MyFontName, FontSize, 0); return (1); } i = PfRenderCx (FontServer, FontServer, Description, 0L, 0L, "Hello, world!", 0, 0, &pp, NULL, Callback); fprintf (stderr, "PfRenderCx() returned %d\n", i); if (i) fprintf (stderr, "%s\n", strerror (errno)); return (0); } > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post85742 Ronald Burkey 2011-05-16T20:15:32Z post85743: RE: RE: gf_context_set_surface(): Problem with color format GF_FORMAT_PACK_YUV_UYVY http://community.qnx.com/sf/go/post85743 GF does not support blitting to/from YUV surfaces so you will not be able to set a context to this surface. The other formats are all RGB so they work. If you need to transfer YUV data between surfaces you'll have to manually copy this. Alternately depending on your application/use-case you could have multiple YUV surfaces and just re-target the layer to point at the different surfaces. (gf_layer_set_surfaces()) -----Original Message----- From: Nikshep Patil [mailto:community-noreply@qnx.com] Sent: May 16, 2011 3:35 PM To: advanced-graphics Subject: Re: RE: gf_context_set_surface(): Problem with color format GF_FORMAT_PACK_YUV_UYVY Hi Michael, I am working with an internal driver. Regards _______________________________________________ Advanced Graphics http://community.qnx.com/sf/go/post85736 Michael Van Reenen 2011-05-16T19:55:11Z post85742: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip] http://community.qnx.com/sf/go/post85742 Hard to tell. Can you please post the entire source file -- for me to try? Misha Nefedov 2011-05-16T19:54:59Z post85739: Re: gf_context_set_surface(): Problem with color format GF_FORMAT_PACK_YUV_UYVY http://community.qnx.com/sf/go/post85739 I am having problems with gf_context_set_surface() of step 3 with the color format GF_FORMAT_PACK_YUV_UYVY. Nikshep Patil 2011-05-16T19:39:34Z post85737: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip] http://community.qnx.com/sf/go/post85737 On 05/16/2011 01:17 PM, Misha Nefedov wrote: > The 'Description' should be replaced with 'FontName' when calling the PfFindFont(). The PfFindFont() is similar to PfGenerateFontName(), it only returns FontID. I am not sure why you need it. Well, I was simply following the sample code in the PfRenderCx() API doc, as you suggested. The sample code calls PfFindFontCx(). Personally, I'm willing to do without it, even though I don't see why it should be failing. > The 'Description' you got from the Generate function is good to be used with the subsequent PfRenderCx(). Okay, I think you're suggesting something like this: FontName Description; char *FontName = "Courier10 BT"; pf_point_t pp = { 50, 50 }; int FontSize = 10; FontServer = PfAttachCx (NULL, 0); ... check for error ... if (NULL == PfGenerateFontNameCx (FontServer, FontName, 0, FontSize, Description)) { ... error ... } i = PfRenderCx (FontServer, FontServer, Description, 0L, 0L, "Hello, world!", 0, 0, &pp, NULL, Callback); ... check for error ... This code fails when it reaches PfRenderCx(). The error message displayed by "perror(strerror(errno))" is "Invalid argument". > > > _______________________________________________ > > Advanced Graphics > http://community.qnx.com/sf/go/post85727 Ronald Burkey 2011-05-16T19:35:18Z post85736: Re: RE: gf_context_set_surface(): Problem with color format GF_FORMAT_PACK_YUV_UYVY http://community.qnx.com/sf/go/post85736 Hi Michael, I am working with an internal driver. Regards Nikshep Patil 2011-05-16T19:35:02Z