[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-video-dev
Subject:    Re: [hxvideo] CR-Client: Adding RGB444 support in unified image renderer
From:       "Greg Wright" <gwright () real ! com>
Date:       2003-09-18 23:06:04
Message-ID: 06ea01c37e39$712ce870$7c6f17ac () gwright3
[Download RAW message or body]

Adding a RGB444 converter is good if the unified renderer's
native format is that. No sense in double converting.

I don't know if we can not use the RGB32 converter though (which
is the same as the RGB24 one). Are there no datatypes that we
are going to use that output RGB32/24? RealText/3GPP text?

Each coverter we have right now is about 9k. We could shrink
those, perhaps, by 20-30% I think at the cost of performance.
Most of the unrolled code generates small amounts of assembly,
even though it looks like a alot. Actually, now that you broke 
out some of the common code each RGB converter is going to be
a bit smaller then the 9k above.

More as I think about it a bit more.....

--greg.


----- Original Message ----- 
From: "Eric Hyche" <ehyche@real.com>
To: <dev@video.helixcommunity.org>; <dev@datatype.helixcommunity.org>
Cc: "Gregory Wright" <gwright@real.com>
Sent: Thursday, September 18, 2003 2:21 PM
Subject: [hxvideo] CR-Client: Adding RGB444 support in unified image renderer


> 
> Synopsis: Adds a RGB444->RGB444 color converter to video/colconverter
>            and uses it in the unified image renderer
> 
> Overview: Right now we only have RGB32 -> RGB444 support in the
>            mini-site. However, the unified image renderer uses
>            the native symbian libraries to decode images, and there's
>            no way to produce a native 0x00RRGGBB from the symbian
>            SDK. We could produce a 24-bit 0xRRGGBB and then manually
>            convert from 24-bit to 32-bit, but since the native blt
>            format is RGB444, it seems a waste of heap to keep around
>            an image that is 2x as big as we need. So my solution is
>            to add an RGB444->RGB444 color converter and then change
>            the unified image renderer to produce RGB444. This should
>            give us significant run-time heap savings on rich-media
>            presentations.
> 
> Files Modified:
> datatype/image/unified/renderer/platform/symbian/symbimgdec.cpp - changed 
> from RGB24 -> RGB444
> video/colconverter/symumake - updated Umakefil to build RGB444->RGB444 
> color converter
> video/colconverter/nostatic/rgb32torgb444.c - RGB444->RGB444 color converter
> video/colconverter/pub/nostatic/colorlib.h - Added additional 
> RGB444->RGB444 prototype
> video/sitelib/minisurf.cpp - Add support in BeginOptimizedBlt() for RGB444 
> src formats
> 
> Files Added:
> 
> video/colconverter/nostatic/rgb444torgb444.c - the RGB444->RGB444 color 
> converter
> video/colconverter/nostatic/rgbcommon.c      - routines common between 
> RGB32->RGB444 and RGB444->RGB444
> video/colconverter/pub/nostatic/rgbcommon.h
> 
> Image Size and Heap Use impact: An increase in image size for rich-media 
> mobile profiles,
>                                  but does not affect baseline a/v profile. 
> Note that I
>                                  produced this color converter by modifying 
> the RGB32->RGB444
>                                  converter. I believe we should eventually 
> settle on one
>                                  RGB color converter for code size savings 
> and it should
>                                  probably be RGB444. I also believe that 
> with some more
>                                  work, I can make this RGB444->RGB444 color 
> converter a lot
>                                  smaller. It has a lot of unrolled loops 
> for optimization
>                                  which are probably adding a lot to the 
> code size. Given that
>                                  images/text are the only ones using the 
> RGB, we should probably
>                                  optimize for space rather than size.
> 
> Platforms and Profiles Affected: symbian only
> 
> Distribution Libraries affected: none
> 
> Distribution library impact and planned action: none
> 
> Platforms and Profiles Build Verified: symbian-61-emulator
> 
> Platforms and Profiles Functionality verified: symbian-61-emulator
> 
> Branch: head only
> 
> QA Instructions: none
> 
> 
> 
> 
> 
> 
> 
> 
> ======================================
> M. Eric Hyche (ehyche@real.com)
> Core Technologies
> RealNetworks, Inc.


--------------------------------------------------------------------------------


> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@video.helixcommunity.org
> For additional commands, e-mail: dev-help@video.helixcommunity.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@video.helixcommunity.org
For additional commands, e-mail: dev-help@video.helixcommunity.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic