Update maximum number of CB AF entries from 2 to 3 for DDP, per PP update
for PASDK-326,CID=bc77631. This fixes DDP ch0 glitches.
for PASDK-326,CID=bc77631. This fixes DDP ch0 glitches.
PASDK-218:Update OARI submodule for 96 kHz obj-audio
Update Tools to Build #55 version
Update PAF submodule to Build #55 version
Update Dolby IP submodules to Build #55 versions
PASDK-218:Update CB PCM OVR detection logic.
NOTE: CB write currently allocates max channels worth of data in PCM
buffer for each write. However, writer only writes active channels as
determined by AF CC stream. For THD 192 kHz, max channel count is 6, but
CB write will allocate space for 32 channels. This is gross
overallocation of memory for CB.
NOTE: CB write currently allocates max channels worth of data in PCM
buffer for each write. However, writer only writes active channels as
determined by AF CC stream. For THD 192 kHz, max channel count is 6, but
CB write will allocate space for 32 channels. This is gross
overallocation of memory for CB.
PASDK-218:CB updates for THD 192 kHz
- Update CB PCM overflow handling. PCM buffer writer address wrap event
varies based on dec sample count (PCM buffer not completely filled at
buffer end), so checking sample count in buffer won't prevent overwrite
of data not yet read from PCM buffer.
- Increase CB PCM buffer size for 192 kHz (increase "fudge factor") based
on feedback from CB PCM buffer overflow detection.
- Update CB PCM overflow handling. PCM buffer writer address wrap event
varies based on dec sample count (PCM buffer not completely filled at
buffer end), so checking sample count in buffer won't prevent overwrite
of data not yet read from PCM buffer.
- Increase CB PCM buffer size for 192 kHz (increase "fudge factor") based
on feedback from CB PCM buffer overflow detection.
Merge remote-tracking branch 'origin/dev_pasdk_govind_pasdk218' into dev_pasdk_frank_pasdk218MatThdHsr
PASDK-218: Both Stop & Start Output operations are now better managed, by starting the clocks only while starting output (Vs while selecting the output device
PASDK-218: Disabling Flush mode of MOB, thereby truncating the output by the last few frames, to aid with cleaner driver-state transitions.
PASDK-218:Update CB for THD HSR streams
- Add PCM over/underflow detection
- Increase size of CB PCM buffer using THD HSR "fudge factor". Need to
investigate proper worst case sizing of buffer.
- Add PCM over/underflow detection
- Increase size of CB PCM buffer using THD HSR "fudge factor". Need to
investigate proper worst case sizing of buffer.
Change debug capture Af code to use Af sample count (true indication of samples in frame)
Merge remote-tracking branch 'origin/dev_pasdk_govind_pasdk218' into dev_pasdk_frank_pasdk218MatThdHsr
PASDK-218:Update CB read to allow read spanning multiple CB AFs
- cbReadAf() can read frame lengths not a multiple of Dec output frame
length(s)
- cbReadAf() doesn't re-scan entire CB AF metadata array for each read
frame
- drain complete check moved to beginning of cbReadAf() to allow for
delayed detection of drain state and CB empty
- cbReadAf() can read frame lengths not a multiple of Dec output frame
length(s)
- cbReadAf() doesn't re-scan entire CB AF metadata array for each read
frame
- drain complete check moved to beginning of cbReadAf() to allow for
delayed detection of drain state and CB empty
PASDK-218: Fixed a bug involving insufficient num of spare EDMA params used by the IB. This lends stability to ASIT state-machine, when it transitions from source=unknown (auto-detection) to a known source (decode processing).
Merge remote-tracking branch 'origin/dev_pasdk_govind_pasdk218' into dev_pasdk_frank_pasdk218MatThdHsr
PASDK-218:Add missing DEF_STR_FRAME_LEN macro definition
PASDK-218: Clean up the code removing deadwood.
PASDK-218: Added comments to mark unused members of the device extension structure.
PASDK-218: Added debug counters + Restored start-up size to 1 Frame
PASDK-218: Corrected Rx side Pinmask for HDMI + Using DIR clock source now for the first-time DAC initialization, to avoid failures.
PASDK-218: Relocating OB buffers to L2 (temporary workaround)
PASDK-218: Increased L2 Heap Mem to now account for OB buffers
PASDK-218: EDMA CCNT bug-fix + Rx & Tx McASP Events are both now on EDMA TC Que_Num = 0 (higher priority Vs Que_Num = 1) + Much debug code.
PASDK-218:Add ability to dynamic config stream frame length over JTAG
PASDK-218:Move ownership of CB stream frame size to DSP:ASOT
PASDK-218:Update ASOT top-level State Machine.
Allow state transitions to skip Task sleep and output device selection.
This can be improved with a state transition function (and perhaps state
transition table).
Allow state transitions to skip Task sleep and output device selection.
This can be improved with a state transition function (and perhaps state
transition table).
PASDK-218:Provide higher resolution ND settings.
PASDK-218:Update cbReset() to use Nominal Delay.
THIS CODE IS UNTESTED. So far don't observe CB UND/OVR over thresholds, so cbReset() not called.
Note application-level CB reset counters exist on ARM & DSP.
THIS CODE IS UNTESTED. So far don't observe CB UND/OVR over thresholds, so cbReset() not called.
Note application-level CB reset counters exist on ARM & DSP.
PASDK-218:Retain cbInit() API, but remove functionality since unused.
PASDK-218:Add CB statistic for number of read AFs consumed for Nominal Delay
PASDK-218:Update CB last AF.
- No hard-coded values used (not cbInit() still called, but settings aren't applied during streaming
- Add APIs for ARM init of last AF, DSP update of last AF
- No hard-coded values used (not cbInit() still called, but settings aren't applied during streaming
- Add APIs for ARM init of last AF, DSP update of last AF
PASDK-218:Update DDP & PCM nominal delay settings
PASDK-218:Relocate first setCheckRateX and startOutput to ASOT:decodeProcessing:INIT
PASDK-218:Fix ASOT SM state update for CB drained
PASDK-218:Fix logic for reporting CB drain state
PASDK-218:Add debug counters
PASDK-218:Move CB init source select to after first decoded frame
PASDK-218:Add default THD CB nominal delay setting
PASDK-218:Change order of CB init and Dec Info Out Init-Sync
PASDK-218:Add check for Dec sync before sending INFO1 sync message
Add check for Dec sync before sending Dec Info1 sync message. This is
similar to logic in DSP:ASIT:decodeProcessing():INFO1 which checks for
THD/DTSHD/DXP majorAu.
Inspecting Dec Info function for various decoders:
- it appears this should work for MAT-THD/PCM, DDP & PCM.
- this may not work for DTSHD and DXP.
Whether it work correctly depends on Dec Info audio frame sampleDecode and
sampleRate output parameters.
Limited testing demonstrates this works for MAT-THD & DDP.
Add check for Dec sync before sending Dec Info1 sync message. This is
similar to logic in DSP:ASIT:decodeProcessing():INFO1 which checks for
THD/DTSHD/DXP majorAu.
Inspecting Dec Info function for various decoders:
- it appears this should work for MAT-THD/PCM, DDP & PCM.
- this may not work for DTSHD and DXP.
Whether it work correctly depends on Dec Info audio frame sampleDecode and
sampleRate output parameters.
Limited testing demonstrates this works for MAT-THD & DDP.
PASDK-218:Replace initSyncUpdateAf() with outIsCpyAf() in PAF_ASOT_initSyncResync()
PASDK-218:Replace initSyncUpdateAf() with outIsCpyAf().
NOTE: Can combine outIsReadDecStageFlagAndAf() and outIsCpyAf() functions
into single function in API.
NOTE: Can combine outIsReadDecStageFlagAndAf() and outIsCpyAf() functions
into single function in API.
PASDK-218:Add comment
PASDK-218:Fix Out IS audio frame copy (write & read)
PASDK-218:Add traces, fix typo in decodeEncode
PASDK-218:Update cbInitSourceSel() to init CB using Dec Info1 AF output
PASDK-218:Move cbInitSourceSel() from DSP to ARM.
Old location: DSP:ASIT:decodeProcessing():INIT:decodeInit()
New location: ARM:ASDT:INFO
cbInitSourceSel() still initializes CB using hard-coded values for some
parameters (e.g. sampling rate). Need to udpate function to take AF input
for initialization of these parameters.
Old location: DSP:ASIT:decodeProcessing():INIT:decodeInit()
New location: ARM:ASDT:INFO
cbInitSourceSel() still initializes CB using hard-coded values for some
parameters (e.g. sampling rate). Need to udpate function to take AF input
for initialization of these parameters.
PASDK-218:Update flag only after AF written for Out IS write.
Code is logically correct this way. Note entire function is gated, so
functionality won't change.
Code is logically correct this way. Note entire function is gated, so
functionality won't change.
PASDK-218:Add function to get "decoder frame length" using source select.
Need to review decoder (and other) frame lengths used in system.
Need to review decoder (and other) frame lengths used in system.
PASDK-218:Update locations of functions on ARM for Out Init-Sync
PASDK-218:Update OAR submodule
Update MAT-THD submodule
PASDK-218:Update decodeProcessing error codes
PASDK-218:Add Out Init-Sync to ASOT (DSP) and ASDT (ARM)
PASDK-218:Add low-level Out Init-Sync code
PASDK-218:Remove unused PAF_AST_Params and other defs
PASDK-218:Update cbCtlInit() in sysInit on ARM/DSP.
Expose global ASDT parameters to ARM sysinit.
Expose global ASIT parmaeters to DSP sysinit.
Expose global ASDT parameters to ARM sysinit.
Expose global ASIT parmaeters to DSP sysinit.
PASDK-218:Update Circular Buffer
1) Remove CB drain indicator from cbReadAf().
2) Add check CB drain function.
3) Add # CBs to CB control.
4) Move ARM/DSP code w/ common API to common source file (cbCtlInit()).
1) Remove CB drain indicator from cbReadAf().
2) Add check CB drain function.
3) Add # CBs to CB control.
4) Move ARM/DSP code w/ common API to common source file (cbCtlInit()).
PASDK-218:ASOT code clean ups
PASDK-218:Change CB write to only skip write in case of overflow.
CB write doesn't skip write in case reader is inactive.
CB write doesn't skip write in case reader is inactive.
PASDK-218:Add CB drained indicator to CB read
PASDK-218:Add function to get CB statistics
PASDK-218:Add CB statistics
- readAfWriterInactiveCnt
- wrtAfReaderInactiveCnt
- wrtAfZeroSampsCnt
- readAfWriterInactiveCnt
- wrtAfReaderInactiveCnt
- wrtAfZeroSampsCnt
Fix comment
PASDK-218:Update MAT-THD submodule
Change name of CB emptyFlag to drainFlag
PASDK-218:Merge remote-tracking branch 'origin/dev_pasdk_govind_pasdk218' into dev_pasdk_frank_pasdk218MatThdHsr
PASDK-218: Fixed incorrect divider for PAF_SAMPLERATE_96000HZ in clkxDivHDMI table.
PASDK-218:Update OAR submodule for 96 kHz support
Build #48:Update submodules
PASDK-318:Update tools submodule
PASDK-319:Update tools submodule
PASDK-319:Update PASDK Dolby IP release notes for BR1
PASDK-319:Update PASDK release notes for BR1
PASDK-319:Update PASDK setup guide for BR1
PASDK-319:Update release notes handling
- Move AR4 release notes to archive
- Change release notes names so not linked to AR4
- Update build scripts to use new names for release notes during creates of release packages
- Move AR4 release notes to archive
- Change release notes names so not linked to AR4
- Update build scripts to use new names for release notes during creates of release packages
PASDK-319:Update root installation folder to processor_audio_sdk_1_00_00_03
PASDK-319:Update PDK eng to 1.0.1.2.
Using build number (LS digit of version number) to differentiate PDK eng versions.
Using build number (LS digit of version number) to differentiate PDK eng versions.
PASDK-319:Update PDK eng to 1.0.1.2.
Using build number (LS digit of version number) to differentiate PDK eng versions.
Using build number (LS digit of version number) to differentiate PDK eng versions.
PASDK-319:Update PDK eng to 1.0.1.2.
Using build number (LS digit of version number) to differentiate PDK eng versions.
Using build number (LS digit of version number) to differentiate PDK eng versions.
PASDK-319:Update PDK eng to 1.0.1.2.
Using build number (LS digit of version number) to differentiate PDK eng versions.
Using build number (LS digit of version number) to differentiate PDK eng versions.
PASDK-319:Update tools submodule
PASDK-319:Change cygwin path location for component build script
PASDK-319:Fix alpha package generation in build scripts
PASDK-319:Fix include paths for test_dsp project, Debug_pkgs build profile
PASDK-319:Update PAF build script to include DEL3 (not used in DSP application)
PASDK-319:Update headers to 2017
PASDK-319:Update headers to 2017
PASDK-319:Update headers to 2017
PASDK-319:Add alpha package generation to build scripts
PASDK-319:Update OS package creation script to include DEL3,DM
PASDK-319:Update PAF submodule for DEL3 makefile update
Update tools submodule (v2.4.8)
Build #46:Disable PP CB dumps
Build #46:Update DDP submodule
PASDK-277:Increase MAT-THD nominal delay to 3504.
Resulting maximum size for PCM circular buffer in CB is 7680 samples.
=>maximum size for AF circular buffer size in CB is 7680/256=30.
We currently allocate 90*4096 bytes for each audio frame, and this is
being allocated from SR_DDR3. Needed to increase size of SR_DDR3, which
required moving other memory regions to different base addresses.
NOTE: COMMON2_DDR3 is untouched, hard-coded MAR settings in DSP system
init thread don't need to be changed.
Resulting maximum size for PCM circular buffer in CB is 7680 samples.
=>maximum size for AF circular buffer size in CB is 7680/256=30.
We currently allocate 90*4096 bytes for each audio frame, and this is
being allocated from SR_DDR3. Needed to increase size of SR_DDR3, which
required moving other memory regions to different base addresses.
NOTE: COMMON2_DDR3 is untouched, hard-coded MAR settings in DSP system
init thread don't need to be changed.
PASDK-277:Add debug variables
Captures show ASIT exits & re-enters decodeProcessing().
Because of this, cbInitSourceSel() is called twice during MAT-THD stream,
both "early" in stream. Because of this, ~5 decode frames are lost from CB.
Data accumulation in the CB associated with these 5 frames is lost.
(variable fill rate - fixed empty rate). As a result, CB can underflow
for MAT-THD streams.
Current approach(s) to circumvent CB underflow problem center around
artificially accumulating some amount of data at point in stream where
decodeProcessing() is re-entered.
- PP approach will accumulate first 5 frames of data (of whatever size in stream).
- Bogdan's approach will accumulate some number of samples:
(fixed nominal delay - size of frame where decodeProcessing is resumed).
Neither approach will gaurantee no underflow.
Captures show ASIT exits & re-enters decodeProcessing().
Because of this, cbInitSourceSel() is called twice during MAT-THD stream,
both "early" in stream. Because of this, ~5 decode frames are lost from CB.
Data accumulation in the CB associated with these 5 frames is lost.
(variable fill rate - fixed empty rate). As a result, CB can underflow
for MAT-THD streams.
Current approach(s) to circumvent CB underflow problem center around
artificially accumulating some amount of data at point in stream where
decodeProcessing() is re-entered.
- PP approach will accumulate first 5 frames of data (of whatever size in stream).
- Bogdan's approach will accumulate some number of samples:
(fixed nominal delay - size of frame where decodeProcessing is resumed).
Neither approach will gaurantee no underflow.
PASDK_277:Initial code for Bogdan's CB nominal delay
PASDK-277: Added GPIO for timestamping CB operation.