[Bug 772872] audioconvert: superfluous quantization when converting S24LE to S24LE causing extra CPU load

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Oct 13 22:57:09 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=772872

--- Comment #10 from Petr Kulhavy <brain at jikos.cz> ---
(In reply to Petr Kulhavy from comment #9)
> (In reply to Nicolas Dufresne (stormer) from comment #8)
> > Ok, I think I found why this example does not go in passthrough, it's
> > missing channel-mask field. Adding channel-mask=0x03 make it go in
> > passthrough. Now, 0x03 should be the default mask anyway no ?
> 
> I do see the message 
> "audio-converter audio-converter.c:881:gst_audio_converter_new: same formats
> and passthrough mixing -> passthrough"
> 
> even without adding the channel-mask=0x03. However the CPU usage is still
> higher for S24LE than for S32LE, which I don't really understand why...

In the call map I do see an extra function for S24LE in audiotestsrc, which is
not present in S32LE or S16LE. This could be the pack_func because the sine
generator is implemented only for 16 and 32 bits, not for 24 bits. That would
explain the extra CPU load.

Hmmm, does that mean, that I'm chasing a red herring here? ...

Summary:
--------
1) It seems the pass-through is correctly enabled in all cases as Nicolas said
in comment 1. I was just trusting the debug messages too much - sorry for
causing the confusion. 

2) The different CPU profile @ 24-bits could be explained by extra conversion
32->24bits in the SINE GENERATOR (and not in the conversion). So my measurement
was disturbed - sorry for that too.

So before this gets closed as invalid, my question though is: do you see as
justifiable the +2% CPU usage for doing virtually nothing? I mean there might
be some overhead caused by the extra element in the pipeline, but 2% of 500MHz
Cortex A7 for doing nothing is a lot.

The +8% CPU usage for BE->LE conversion would be the next thing to look at...

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list