• Stefano Sabatini's avatar
    iff/8svx: redesign 8SVX demuxing and decoding for handling stereo samples correctly · e280a4da
    Stefano Sabatini authored
    Make the iff demuxer send the whole audio chunk to the decoder as a
    single packet, move stereo interleaving from the iff demuxer to the
    decoder, and introduce an 8svx_raw decoder which performs
    stereo interleaving.
    
    This is required for handling stereo data correctly, indeed samples
    are stored like:
    LLLLLL....RRRRRR
    
    that is all left samples are at the beginning of the chunk, all right
    samples at the end, so it is necessary to store and process the whole
    buffer in order to decode each frame. Thus the decoder needs all the
    audio chunk before it can return interleaved data.
    
    Fix decoding of files 8svx_exp.iff and 8svx_fib.iff, fix trac issue #169.
    e280a4da
Name
Last commit
Last update
..
4xm-1 Loading commit data...
4xm-2 Loading commit data...
8bps Loading commit data...
aac-demux Loading commit data...
aasc Loading commit data...
adpcm-ea-r2 Loading commit data...
adpcm-ea-r3 Loading commit data...
aea-demux Loading commit data...
alg-mm Loading commit data...
amv Loading commit data...
ansi Loading commit data...
armovie-escape124 Loading commit data...
auravision Loading commit data...
auravision-v2 Loading commit data...
bethsoft-vid Loading commit data...
bfi Loading commit data...
bink-demux Loading commit data...
bink-demux-video Loading commit data...
caf Loading commit data...
cdgraphics Loading commit data...
cljr Loading commit data...
corepng Loading commit data...
creative-adpcm Loading commit data...
creative-adpcm-8-2.6bit Loading commit data...
creative-adpcm-8-2bit Loading commit data...
creative-adpcm-8-4bit Loading commit data...
creatureshock-avs Loading commit data...
cryo-apc Loading commit data...
cscd Loading commit data...
cvid Loading commit data...
cvid-palette Loading commit data...
cyberia-c93 Loading commit data...
cyuv Loading commit data...
d-cinema-demux Loading commit data...
delphine-cin Loading commit data...
deluxepaint-anm Loading commit data...
dpx Loading commit data...
duck-dk3 Loading commit data...
duck-dk4 Loading commit data...
duck-tm2 Loading commit data...
dxa-scummvm Loading commit data...
ea-cdata Loading commit data...
ea-cmv Loading commit data...
ea-dct Loading commit data...
ea-mad-adpcm-ea-r1 Loading commit data...
ea-mad-pcm-planar Loading commit data...
ea-tgq Loading commit data...
ea-tgv-ima-ea-eacs Loading commit data...
ea-tgv-ima-ea-sead Loading commit data...
ea-tqi-adpcm Loading commit data...
ea-vp60 Loading commit data...
ea-vp61 Loading commit data...
fax-g3 Loading commit data...
fax-g3s Loading commit data...
feeble-dxa Loading commit data...
film-cvid-pcm-stereo-8bit Loading commit data...
flic-af11-palette-change Loading commit data...
flic-af12 Loading commit data...
flic-magiccarpet Loading commit data...
fraps-v0 Loading commit data...
fraps-v1 Loading commit data...
fraps-v2 Loading commit data...
fraps-v3 Loading commit data...
fraps-v4 Loading commit data...
fraps-v5 Loading commit data...
frwu Loading commit data...
funcom-iss Loading commit data...
g722dec-1 Loading commit data...
gsm Loading commit data...
gsm-ms Loading commit data...
h264-conformance-aud_mw_e Loading commit data...
h264-conformance-ba1_ft_c Loading commit data...
h264-conformance-ba1_sony_d Loading commit data...
h264-conformance-ba2_sony_f Loading commit data...
h264-conformance-ba3_sva_c Loading commit data...
h264-conformance-ba_mw_d Loading commit data...
h264-conformance-bamq1_jvc_c Loading commit data...
h264-conformance-bamq2_jvc_c Loading commit data...
h264-conformance-banm_mw_d Loading commit data...
h264-conformance-basqp1_sony_c Loading commit data...
h264-conformance-caba1_sony_d Loading commit data...
h264-conformance-caba1_sva_b Loading commit data...
h264-conformance-caba2_sony_e Loading commit data...
h264-conformance-caba2_sva_b Loading commit data...
h264-conformance-caba3_sony_c Loading commit data...
h264-conformance-caba3_sva_b Loading commit data...
h264-conformance-caba3_toshiba_e Loading commit data...
h264-conformance-cabac_mot_fld0_full Loading commit data...
h264-conformance-cabac_mot_frm0_full Loading commit data...
h264-conformance-cabac_mot_mbaff0_full Loading commit data...
h264-conformance-cabac_mot_picaff0_full Loading commit data...
h264-conformance-cabaci3_sony_b Loading commit data...
h264-conformance-cabast3_sony_e Loading commit data...
h264-conformance-cabastbr3_sony_b Loading commit data...
h264-conformance-cabref3_sand_d Loading commit data...
h264-conformance-cacqp3_sony_d Loading commit data...
h264-conformance-cafi1_sva_c Loading commit data...
h264-conformance-cama1_sony_c Loading commit data...
h264-conformance-cama1_toshiba_b Loading commit data...
h264-conformance-cama1_vtc_c Loading commit data...
h264-conformance-cama2_vtc_b Loading commit data...
h264-conformance-cama3_sand_e Loading commit data...
h264-conformance-cama3_vtc_b Loading commit data...
h264-conformance-camaci3_sony_c Loading commit data...
h264-conformance-camanl1_toshiba_b Loading commit data...
h264-conformance-camanl2_toshiba_b Loading commit data...
h264-conformance-camanl3_sand_e Loading commit data...
h264-conformance-camasl3_sony_b Loading commit data...
h264-conformance-camp_mot_mbaff_l30 Loading commit data...
h264-conformance-camp_mot_mbaff_l31 Loading commit data...
h264-conformance-canl1_sony_e Loading commit data...
h264-conformance-canl1_sva_b Loading commit data...
h264-conformance-canl1_toshiba_g Loading commit data...
h264-conformance-canl2_sony_e Loading commit data...
h264-conformance-canl2_sva_b Loading commit data...
h264-conformance-canl3_sony_c Loading commit data...
h264-conformance-canl3_sva_b Loading commit data...
h264-conformance-canl4_sva_b Loading commit data...
h264-conformance-canlma2_sony_c Loading commit data...
h264-conformance-canlma3_sony_c Loading commit data...
h264-conformance-capa1_toshiba_b Loading commit data...
h264-conformance-capama3_sand_f Loading commit data...
h264-conformance-capcm1_sand_e Loading commit data...
h264-conformance-capcmnl1_sand_e Loading commit data...
h264-conformance-capm3_sony_d Loading commit data...
h264-conformance-caqp1_sony_b Loading commit data...
h264-conformance-cavlc_mot_fld0_full_b Loading commit data...
h264-conformance-cavlc_mot_frm0_full_b Loading commit data...
h264-conformance-cavlc_mot_mbaff0_full_b Loading commit data...
h264-conformance-cavlc_mot_picaff0_full_b Loading commit data...
h264-conformance-cawp1_toshiba_e Loading commit data...
h264-conformance-cawp5_toshiba_e Loading commit data...
h264-conformance-ci1_ft_b Loading commit data...
h264-conformance-ci_mw_d Loading commit data...
h264-conformance-cvbs3_sony_c Loading commit data...
h264-conformance-cvcanlma2_sony_c Loading commit data...
h264-conformance-cvfi1_sony_d Loading commit data...
h264-conformance-cvfi1_sva_c Loading commit data...
h264-conformance-cvfi2_sony_h Loading commit data...
h264-conformance-cvfi2_sva_c Loading commit data...
h264-conformance-cvma1_sony_d Loading commit data...
h264-conformance-cvma1_toshiba_b Loading commit data...
h264-conformance-cvmanl1_toshiba_b Loading commit data...
h264-conformance-cvmanl2_toshiba_b Loading commit data...
h264-conformance-cvmapaqp3_sony_e Loading commit data...
h264-conformance-cvmaqp2_sony_g Loading commit data...
h264-conformance-cvmaqp3_sony_d Loading commit data...
h264-conformance-cvmp_mot_fld_l30_b Loading commit data...
h264-conformance-cvmp_mot_frm_l31_b Loading commit data...
h264-conformance-cvnlfi1_sony_c Loading commit data...
h264-conformance-cvnlfi2_sony_h Loading commit data...
h264-conformance-cvpa1_toshiba_b Loading commit data...
h264-conformance-cvpcmnl1_sva_c Loading commit data...
h264-conformance-cvpcmnl2_sva_c Loading commit data...
h264-conformance-cvwp1_toshiba_e Loading commit data...
h264-conformance-cvwp2_toshiba_e Loading commit data...
h264-conformance-cvwp3_toshiba_e Loading commit data...
h264-conformance-cvwp5_toshiba_e Loading commit data...
h264-conformance-fi1_sony_e Loading commit data...
h264-conformance-frext-alphaconformanceg Loading commit data...
h264-conformance-frext-bcrm_freh10 Loading commit data...
h264-conformance-frext-brcm_freh11 Loading commit data...
h264-conformance-frext-brcm_freh3 Loading commit data...
h264-conformance-frext-brcm_freh4 Loading commit data...
h264-conformance-frext-brcm_freh5 Loading commit data...
h264-conformance-frext-brcm_freh8 Loading commit data...
h264-conformance-frext-brcm_freh9 Loading commit data...
h264-conformance-frext-freh12_b Loading commit data...
h264-conformance-frext-freh1_b Loading commit data...
h264-conformance-frext-freh2_b Loading commit data...
h264-conformance-frext-freh6 Loading commit data...
h264-conformance-frext-freh7_b Loading commit data...
h264-conformance-frext-frext01_jvc_d Loading commit data...
h264-conformance-frext-frext02_jvc_c Loading commit data...
h264-conformance-frext-frext1_panasonic_c Loading commit data...
h264-conformance-frext-frext2_panasonic_b Loading commit data...
h264-conformance-frext-frext3_panasonic_d Loading commit data...
h264-conformance-frext-frext4_panasonic_a Loading commit data...
h264-conformance-frext-frext_mmco4_sony_b Loading commit data...
h264-conformance-frext-hcaff1_hhi_b Loading commit data...
h264-conformance-frext-hcafr1_hhi_c Loading commit data...
h264-conformance-frext-hcafr2_hhi_a Loading commit data...
h264-conformance-frext-hcafr3_hhi_a Loading commit data...
h264-conformance-frext-hcafr4_hhi_a Loading commit data...
h264-conformance-frext-hcamff1_hhi_b Loading commit data...
h264-conformance-frext-hpca_brcm_c Loading commit data...
h264-conformance-frext-hpcadq_brcm_b Loading commit data...
h264-conformance-frext-hpcafl_bcrm_c Loading commit data...
h264-conformance-frext-hpcaflnl_bcrm_c Loading commit data...
h264-conformance-frext-hpcalq_brcm_b Loading commit data...
h264-conformance-frext-hpcamapalq_bcrm_b Loading commit data...
h264-conformance-frext-hpcamolq_brcm_b Loading commit data...
h264-conformance-frext-hpcanl_brcm_c Loading commit data...
h264-conformance-frext-hpcaq2lq_brcm_b Loading commit data...
h264-conformance-frext-hpcv_brcm_a Loading commit data...
h264-conformance-frext-hpcvfl_bcrm_a Loading commit data...
h264-conformance-frext-hpcvflnl_bcrm_a Loading commit data...
h264-conformance-frext-hpcvmolq_brcm_b Loading commit data...
h264-conformance-frext-hpcvnl_brcm_a Loading commit data...
h264-conformance-frext-pph10i1_panasonic_a Loading commit data...
h264-conformance-frext-pph10i2_panasonic_a Loading commit data...
h264-conformance-frext-pph10i3_panasonic_a Loading commit data...
h264-conformance-frext-pph10i4_panasonic_a Loading commit data...
h264-conformance-frext-pph10i5_panasonic_a Loading commit data...
h264-conformance-frext-pph10i6_panasonic_a Loading commit data...
h264-conformance-frext-pph10i7_panasonic_a Loading commit data...
h264-conformance-hcbp2_hhi_a Loading commit data...
h264-conformance-hcmp1_hhi_a Loading commit data...
h264-conformance-ls_sva_d Loading commit data...
h264-conformance-midr_mw_d Loading commit data...
h264-conformance-mps_mw_a Loading commit data...
h264-conformance-mr1_bt_a Loading commit data...
h264-conformance-mr1_mw_a Loading commit data...
h264-conformance-mr2_mw_a Loading commit data...
h264-conformance-mr2_tandberg_e Loading commit data...
h264-conformance-mr3_tandberg_b Loading commit data...
h264-conformance-mr4_tandberg_c Loading commit data...
h264-conformance-mr5_tandberg_c Loading commit data...
h264-conformance-mr6_bt_b Loading commit data...
h264-conformance-mr7_bt_b Loading commit data...
h264-conformance-mr8_bt_b Loading commit data...
h264-conformance-mr9_bt_b Loading commit data...
h264-conformance-mv1_brcm_d Loading commit data...
h264-conformance-nl1_sony_d Loading commit data...
h264-conformance-nl2_sony_h Loading commit data...
h264-conformance-nl3_sva_e Loading commit data...
h264-conformance-nlmq1_jvc_c Loading commit data...
h264-conformance-nlmq2_jvc_c Loading commit data...
h264-conformance-nrf_mw_e Loading commit data...
h264-conformance-sharp_mp_field_1_b Loading commit data...
h264-conformance-sharp_mp_field_2_b Loading commit data...
h264-conformance-sharp_mp_field_3_b Loading commit data...
h264-conformance-sharp_mp_paff_1r2 Loading commit data...
h264-conformance-sharp_mp_paff_2r Loading commit data...
h264-conformance-sl1_sva_b Loading commit data...
h264-conformance-sva_ba1_b Loading commit data...
h264-conformance-sva_ba2_d Loading commit data...
h264-conformance-sva_base_b Loading commit data...
h264-conformance-sva_cl1_e Loading commit data...
h264-conformance-sva_fm1_e Loading commit data...
h264-conformance-sva_nl1_b Loading commit data...
h264-conformance-sva_nl2_e Loading commit data...
h264-extreme-plane-pred Loading commit data...
h264-interlace-crop Loading commit data...
h264-lossless Loading commit data...
id-cin-video Loading commit data...
idroq-video-dpcm Loading commit data...
idroq-video-encode Loading commit data...
iff-byterun1 Loading commit data...
iff-fibonacci Loading commit data...
iff-ilbm Loading commit data...
iff-pcm Loading commit data...
indeo2 Loading commit data...
indeo3 Loading commit data...
indeo5 Loading commit data...
interplay-mve-16bit Loading commit data...
interplay-mve-8bit Loading commit data...
iv8-demux Loading commit data...
kmvc Loading commit data...
lmlm4-demux Loading commit data...
loco-rgb Loading commit data...
loco-yuy2 Loading commit data...
lossless-appleaudio Loading commit data...
lossless-meridianaudio Loading commit data...
lossless-monkeysaudio Loading commit data...
lossless-shortenaudio Loading commit data...
lossless-tta Loading commit data...
lossless-wavpackaudio Loading commit data...
maxis-xa Loading commit data...
mimic Loading commit data...
mjpegb Loading commit data...
motionpixels Loading commit data...
mpc7-demux Loading commit data...
mpc8-demux Loading commit data...
mpeg2-field-enc Loading commit data...
mpeg4-als-conformance-00 Loading commit data...
mpeg4-als-conformance-01 Loading commit data...
mpeg4-als-conformance-02 Loading commit data...
mpeg4-als-conformance-03 Loading commit data...
mpeg4-als-conformance-04 Loading commit data...
mpeg4-als-conformance-05 Loading commit data...
msmpeg4v1 Loading commit data...
msrle-8bit Loading commit data...
msvideo1-16bit Loading commit data...
msvideo1-8bit Loading commit data...
mszh Loading commit data...
mtv Loading commit data...
mxf-demux Loading commit data...
nc-demux Loading commit data...
nsv-demux Loading commit data...
nuv Loading commit data...
oma-demux Loading commit data...
pcm_dvd Loading commit data...
pictor Loading commit data...
psx-str Loading commit data...
psx-str-v3-adpcm_xa Loading commit data...
psx-str-v3-mdec Loading commit data...
ptx Loading commit data...
pva-demux Loading commit data...
qcp-demux Loading commit data...
qpeg Loading commit data...
qt-alaw-mono Loading commit data...
qt-alaw-stereo Loading commit data...
qt-ima4-mono Loading commit data...
qt-ima4-stereo Loading commit data...
qt-mac3-mono Loading commit data...
qt-mac3-stereo Loading commit data...
qt-mac6-mono Loading commit data...
qt-mac6-stereo Loading commit data...
qt-msadpcm-stereo Loading commit data...
qt-msimaadpcm-stereo Loading commit data...
qt-rawpcm-16bit-stereo-signed-be Loading commit data...
qt-rawpcm-16bit-stereo-signed-le Loading commit data...
qt-rawpcm-8bit-mono-unsigned Loading commit data...
qt-rawpcm-8bit-stereo-unsigned Loading commit data...
qt-ulaw-mono Loading commit data...
qt-ulaw-stereo Loading commit data...
qtrle-16bit Loading commit data...
qtrle-1bit Loading commit data...
qtrle-24bit Loading commit data...
qtrle-2bit Loading commit data...
qtrle-32bit Loading commit data...
qtrle-4bit Loading commit data...
qtrle-8bit Loading commit data...
quickdraw Loading commit data...
real-14_4 Loading commit data...
real-rv40 Loading commit data...
redcode-demux Loading commit data...
rl2 Loading commit data...
rpza Loading commit data...
rv30 Loading commit data...
sha Loading commit data...
sierra-audio Loading commit data...
sierra-vmd Loading commit data...
siff Loading commit data...
smacker Loading commit data...
smc Loading commit data...
sp5x Loading commit data...
sub-srt Loading commit data...
sunraster-1bit-raw Loading commit data...
sunraster-1bit-rle Loading commit data...
sunraster-24bit-raw Loading commit data...
sunraster-24bit-rle Loading commit data...
sunraster-8bit-raw Loading commit data...
sunraster-8bit-rle Loading commit data...
svq1 Loading commit data...
svq3 Loading commit data...
thp-mjpeg-adpcm Loading commit data...
tiertex-seq Loading commit data...
tmv Loading commit data...
truemotion1-15 Loading commit data...
truemotion1-24 Loading commit data...
tscc-15bit Loading commit data...
tscc-32bit Loading commit data...
txd-16bpp Loading commit data...
txd-pal8 Loading commit data...
ulti Loading commit data...
v210 Loading commit data...
vc1 Loading commit data...
vcr1 Loading commit data...
video-xl Loading commit data...
vmnc-16bit Loading commit data...
vmnc-32bit Loading commit data...
vp3 Loading commit data...
vp5 Loading commit data...
vp6a Loading commit data...
vp6f Loading commit data...
vp8-sign-bias Loading commit data...
vp8-test-vector-001 Loading commit data...
vp8-test-vector-002 Loading commit data...
vp8-test-vector-003 Loading commit data...
vp8-test-vector-004 Loading commit data...
vp8-test-vector-005 Loading commit data...
vp8-test-vector-006 Loading commit data...
vp8-test-vector-007 Loading commit data...
vp8-test-vector-008 Loading commit data...
vp8-test-vector-009 Loading commit data...
vp8-test-vector-010 Loading commit data...
vp8-test-vector-011 Loading commit data...
vp8-test-vector-012 Loading commit data...
vp8-test-vector-013 Loading commit data...
vp8-test-vector-014 Loading commit data...
vp8-test-vector-015 Loading commit data...
vp8-test-vector-016 Loading commit data...
vp8-test-vector-017 Loading commit data...
vqa-cc Loading commit data...
vqf-demux Loading commit data...
w64 Loading commit data...
wc3movie-xan Loading commit data...
westwood-aud Loading commit data...
wmv8-drm Loading commit data...
wmv8-drm-nodec Loading commit data...
wnv1 Loading commit data...
ws_snd Loading commit data...
xan-dpcm Loading commit data...
yop Loading commit data...
zlib Loading commit data...
zmbv-15bit Loading commit data...
zmbv-16bit Loading commit data...
zmbv-32bit Loading commit data...
zmbv-8bit Loading commit data...