From a6d41334d25ffde12484eb28301352560a063ef6 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Mon, 1 Oct 2012 14:04:31 -0700 Subject: Integrate improved coefficient sinc resampler: VHQ Summary: Very high quality is enabled only for 44.1 -> 48 or 48 -> 44.1, and uses low quality for all other use cases. Track estimated CPU load and throttles the quality based on load; as currently configured it should allow up to 2 instances of very high quality. Medium quality and high quality are currently disabled unless explicitly requested. Details: Only load .so the first time it is needed. Cleanup code style: formatting, indentation, whitespace. Restore medium quality resampler, but it is not used (see next line). Fix memory leak for sinc resampler. Check sample rate in resampler constructor. Add logs for debugging. Rename DEFAULT to DEFAULT_QUALITY for consistency with other quality levels. Renumber VERY_HIGH_QUALITY from 255 to 4. Use enum src_quality consistently. Improve parsing of property af.resampler.quality. Fix reentrancy bug - allow an instance of high quality and an instance of very high quality to both be active concurrently. Bug: 7229644 Change-Id: I0ce6b913b05038889f50462a38830b61a602a9f7 --- libvideoeditor/lvpp/VideoEditorSRC.cpp | 3 +-- libvideoeditor/vss/src/VideoEditorResampler.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'libvideoeditor') diff --git a/libvideoeditor/lvpp/VideoEditorSRC.cpp b/libvideoeditor/lvpp/VideoEditorSRC.cpp index 4753dd4..36d0812 100755 --- a/libvideoeditor/lvpp/VideoEditorSRC.cpp +++ b/libvideoeditor/lvpp/VideoEditorSRC.cpp @@ -321,8 +321,7 @@ void VideoEditorSRC::checkAndSetResampler() { mResampler = AudioResampler::create( 16 /* bit depth */, mChannelCnt, - mOutputSampleRate, - AudioResampler::DEFAULT); + mOutputSampleRate); CHECK(mResampler); mResampler->setSampleRate(mSampleRate); mResampler->setVolume(kUnityGain, kUnityGain); diff --git a/libvideoeditor/vss/src/VideoEditorResampler.cpp b/libvideoeditor/vss/src/VideoEditorResampler.cpp index 38dffb7..1129c3c 100755 --- a/libvideoeditor/vss/src/VideoEditorResampler.cpp +++ b/libvideoeditor/vss/src/VideoEditorResampler.cpp @@ -80,7 +80,7 @@ M4OSA_Context LVAudioResamplerCreate(M4OSA_Int32 bitDepth, M4OSA_Int32 inChanne VideoEditorResampler *context = new VideoEditorResampler(); context->mResampler = AudioResampler::create( - bitDepth, inChannelCount, sampleRate, AudioResampler::DEFAULT); + bitDepth, inChannelCount, sampleRate); if (context->mResampler == NULL) { return NULL; } -- cgit v1.1