Hi,
Alternatively you could consider to program a piece-wise-linear transfer
function; By limiting the numberof gain factors (i.e. degreeof freedom in
choice for steepness) to a set say {4*,2*, 1* , 1.125*, 1.25*, 1.5*} you
can replace multipliers by a number of ****ft-and-add functions, which
results in a compact and fast (since its most probably video, you should
appreciate that) solution.
I'd suggest youtry and play in Excel first to find a proper compromise
between accuracy and complexity, then step to an HDL implementation.
Cheers,
Maarten
"KJ" <kkjennings@[EMAIL PROTECTED]
> schreef in bericht
news:8c05a7c1-e730-4ee0-82e9-130dbb44e2b4@[EMAIL PROTECTED]
> On Jun 30, 9:33 am, Martin Sauer <m...@[EMAIL PROTECTED]
> wrote:
>> Hi,
>>
>> I'm looking for a gamma correction vhdl code. Do anything know about
>> such cores?
>>
>> thank you for your answer
>>
>> bye
>>
>> martin sauer
>
> I'd suggest the following:
> 1. Go to Wikipedia for the fundamental equations for gamma correction
> (unless you know them already).
>
> 2. Realize that to implement such a function you only need a lookup
> table for whatever your input data width is (i.e. 8 bit video = 256
> entry table).
>
> 3. Write a simple VHDL function to compute the above mentioned table.
> In order to do this for gamma correction, you'll see that you need log
> and powers and real number computations. While you can't syntheize
> type real for 'signals' you can use type real to compute 'constants'
> which is what you're trying to do here. For a related example that
> demonstrates this see the link below or Google for "Sample code to
> compute an sRGB->RGB conversion lookup table" in which case you should
> run across the posting that I did that shows this.
>
>
http://groups.google.com/group/comp.lang.vhdl/browse_frm/thread/b2e4be6480069641?hl=en#
>
> Kevin Jennings


|