Commit Graph

259 Commits

Author SHA1 Message Date
Rémi Denis-Courmont 244a35b030 dca: set output buffer size correctly (fixes #6509, fixes #7459)
Some filters and outputs rely on the samples count (which was correct),
others on the bytes size (which was not), accounting for why decoding
failed only in some combinations.
2012-10-01 22:04:20 +03:00
Rémi Denis-Courmont cd9561239e mad: do not convert to from FI32 to FL32 on the fly
Let the conversion plugin(s) do that. They can be optimized.
2012-08-14 21:59:28 +03:00
Rémi Denis-Courmont 970d70aca0 audio: remove FI32 conversions
Conversion from FI32 to S16 is already supported by the Laurent's
generic audio format filter. Conversion to FI32 are useless for lack
of (functional) FI32 encoder or output.
2012-07-04 22:43:55 +03:00
Rafaël Carré 31c8cef1ba s/vlc_memcpy/memcpy/
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2012-07-03 18:06:46 +03:00
Rafaël Carré 3172a979cc Remove vlc_memset 2012-07-02 13:10:56 +02:00
Rémi Denis-Courmont e2b439cfa1 Replace remaining instances of aout_buffer_t with block_t 2012-05-22 23:21:16 +03:00
Rémi Denis-Courmont f20299c236 Do not apply AOUT_CHAN_PHYSMASK to i_physical_channels
It only makes sense for i_original_channels.
2012-04-21 19:23:46 +03:00
Rémi Denis-Courmont 6493879248 DTS: rework post audio_filter conversion and fix buffer size
Although this was not reported, this suffered the same problem as A52.
2012-03-13 13:26:12 +02:00
Rémi Denis-Courmont a6e127f134 a52: cleanup and fix buffer size
This closes a heap overflow on corrupt files.

Pointed-out-by: Clément Lecigne <clemun@gmail.com>
2012-03-13 13:26:11 +02:00
Rémi Denis-Courmont cece0cc754 Remove filter_t.pf_audio_buffer_new 2011-09-05 22:54:57 +03:00
Rémi Denis-Courmont cf1498fbbe Remove write-only block_t.i_rate 2011-08-25 22:28:07 +03:00
Rémi Denis-Courmont 0a2f90d469 audio format: use bswap*() 2011-08-17 18:21:32 +03:00
Rémi Denis-Courmont f6a0d76f0c mad: fix succesful probing debug message
Bits per sample only make no sense for the output.
2011-08-03 18:06:12 +03:00
Rémi Denis-Courmont 5593848a8e mad: convert as requested by caller (refs #5150) 2011-08-03 18:06:12 +03:00
Rémi Denis-Courmont c54022a6cb dca: do not override output format (refs #5150) 2011-08-03 18:06:12 +03:00
Rémi Denis-Courmont c97c04369c a52dec: do not change output format (refs #5150) 2011-08-03 18:06:11 +03:00
Rémi Denis-Courmont 819d135d46 dca: pass audio sample formats by pointer rather than value 2011-08-03 18:06:11 +03:00
Rémi Denis-Courmont 5d9de36f76 a52dec: pass sample formats by address rather than value 2011-08-03 18:06:11 +03:00
Rémi Denis-Courmont 790c5845af S/PDIF: use SetWBE/SetWLE 2011-04-28 22:20:53 +03:00
Rémi Denis-Courmont 3519dfc861 Merge audio_filters Makefiles 2011-03-05 10:12:53 +02:00
Rémi Denis-Courmont 40b4d780a4 add_bool: remove callback parameter 2010-10-22 21:11:38 +03:00
Laurent Aimar 87c351e58a Fixed timestamps handling in various audio filters. 2010-07-26 20:29:57 +02:00
Rémi Denis-Courmont ae2c9e4fb6 var_InheritInteger -> var_InheritBool 2010-06-07 00:25:10 +03:00
Rémi Duraffort 07990fcdad Fix assertions. (dts-dynrng and spdif are boolean parameters)
This close #3646
2010-05-20 21:20:27 +02:00
Jean-Paul Saman 5bc2030975 audio/converter/fixed.c: cleanup 2010-05-17 13:44:14 +02:00
Laurent Aimar fd49cf2212 Fixed output format of audio format.c convertor.
It closes #3620.
2010-05-13 17:00:04 +02:00
Laurent Aimar 0888d465c1 Removed down/up mixing support from mpgatofixed32.
It was incomplete and was creating issues when the audio output provided a
non mono device (close #3272).
2010-03-02 21:47:38 +01:00
Laurent Aimar c1e7c9f281 Added support for non native float32, and for float64 (BE/LE) in format.c 2010-02-06 14:40:45 +01:00
Laurent Aimar 420e58dec7 Fixed potential use of uninitialized value (format.c). 2010-02-06 14:40:45 +01:00
Laurent Aimar 5681ac3636 Removed now useless audio filter float.c 2010-01-30 14:03:14 +01:00
Laurent Aimar 97e5f06070 Implemented fi32 -> fl32/s16 conversion in format.c. 2010-01-30 14:03:14 +01:00
Rémi Denis-Courmont ff9fe43d8e fixed: add S32N, rewrite FL32 2010-01-30 14:40:32 +02:00
Laurent Aimar dec529e168 Rewrite of format audio filter.
It factorizes the common code and implements all conversions between s8, u8,
s16l/b, u16l/b, s24l/b, s32l/b and fl32 (close #3162).
 In cases a direct conversion is not implemented, s16 is used as the middle
format.
 The following direct conversions have been removed: fl32->s24, fl32->u16, u16->fl32.
2010-01-30 13:12:27 +01:00
Laurent Aimar 899895efc8 Factorized 8->16 bits audio conversions. 2010-01-30 13:12:27 +01:00
Laurent Aimar f3a2e18cdb Cosmetics (audio format conversions). 2010-01-30 13:12:27 +01:00
Rémi Denis-Courmont 0b764e2a1e Move FL32->FI32 conversion to fixed plugin 2010-01-30 13:58:08 +02:00
Rémi Denis-Courmont e71c332dc3 fixed: refactor into one module and one submodule
instead of three submodule and no main module!
2010-01-30 13:47:26 +02:00
Rémi Denis-Courmont 39a6423983 Audio format: requires same sample rate and channels count
This fixes #3168. The audio_format plugin was ignorantly claiming to
convert the sample rate and channel count, though it obviously did not.
2010-01-17 20:28:17 +02:00
Rémi Denis-Courmont 430be231b6 Remove all default modules from configure.ac 2010-01-16 15:25:01 +02:00
Rémi Denis-Courmont fbd95be806 Move ARM NEON optimizations to arm_neon/ 2010-01-10 18:13:11 +02:00
Rémi Denis-Courmont d2eaf62f53 libdca: kill config_Get 2009-12-30 20:39:36 +02:00
Rémi Denis-Courmont ff717d8778 liba52: kill config_Get 2009-12-30 20:39:36 +02:00
Rémi Denis-Courmont 25232e200b Do not assert memory allocations 2009-12-06 11:58:34 +02:00
JP Dinger 15643af12d Replace argument = realloc( argument, size ); with realloc_or_free() in modules/*, and while at it add assert( argument ) to mark unhandled ENOMEM conditions, also for malloc(). 2009-12-05 22:25:43 +01:00
Matthias Dahl dbee243488 fix dts spdif output regression
dts spdif output was broken by the switch over to the new filter
API.

  * dtstofloat32 should only take control if there is _no_ spdif
    output requested otherwise the decoded stream ends up on the
    spdif device

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2009-11-24 22:50:15 +02:00
Matthias Dahl baa1ec0106 fix A/52 spdif output regression
A/52 spdif output was broken by the switch over to the new filter API.

  * a52tofloat32 should only take control if there is _no_ spdif
    output requested otherwise the decoded stream ends up on the spdif
    device

  * a52tospdif has to set a pts/dts value otherwise the frames get
    (wrongfully) discarded as too late because a wrong pts/dts value
    got evaluated by aout_OutputNextBuffer()

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2009-11-24 22:50:11 +02:00
Rémi Denis-Courmont 2aa61dc55a Rename audio filter2 capability back to audio filter 2009-11-05 23:40:23 +02:00
Rémi Denis-Courmont bfaa71e26d Assume liba52 is built as fixed-point if needed
(This kinda sucks, but liba52 does not export is build mode through
 any public header)
2009-10-19 22:15:42 +03:00
Rémi Denis-Courmont 145903d05b HAVE_FPU: make constant
Currently, we do not have any architecture where this would not be
a build-time constant. Constancy helps fixing a few issues in the audio
path.
2009-10-19 22:15:30 +03:00
Rémi Denis-Courmont 98632dae64 DTS to SPDIF: audio filter2 2009-10-03 16:26:41 +03:00