On 11/14/13 14:45, Antti Palosaari wrote:
> On 11.11.2013 16:38, Hans Verkuil wrote:
>> On 11/11/2013 03:19 PM, Andy Walls wrote:
>>> On Sun, 2013-11-10 at 19:16 +0200, Antti Palosaari wrote:
>>>> Convert unsigned 8 to float 32 [-1 to +1], which is commonly
>>>> used format for baseband signals.
>>>
>>> Hi Annti,
>>>
>>> I don't think this a good idea. Floating point representations are
>>> inherently non-portable. Even though most everything now uses IEEE-754
>>> representation, things like denormaliazed numbers may be treated
>>> differently by different machines. If someone saves the data to a file,
>>> endianess issues aside, there are no guarantees that a different machine
>>> reading is going to interpret all the floating point data from that file
>>> properly.
>>>
>>> I really would recommend staying with scaled integer representations or
>>> explicit integer mantissa, exponent representations.
>>
>> For what it's worth: ALSA does support float format as well (both LE and BE).
>
> I want use existing data formats and that [-1 to +1] scaled 32-bit IEEE-754
> floating point is de facto format for SDR application (actually pair of
> floats as a complex).
>
> Doing conversion inside libv4lconvert makes it very easy for write
> application. Currently I have implemented GNU Radio and SDRsharp plugins that
> feeds data from device via libv4l2 using mmap and conversion.
>
> Thanks to pointing endianess issue, I didn't though it all. I suspect those
> apps just relies to local endianess. So do I have to implement float format
> conversion with both endianess?
I would say that it should be written with endianness conversion in mind. It's
not
likely to be used on a big-endian system, but it should be possible to support
it
without too much work.
Regards,
Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html