Kostya Shishkov
e2834567d7
On2 AVC decoder
2014-04-23 19:57:44 +02:00
Kostya Shishkov and Derek Buitenhuis
93e15a3238
fic: use correct IDCT
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2014-04-21 12:37:54 -04:00
Kostya Shishkov
6477449243
g2meet: make JPEG tile decoder operate on 8x8 block mask
...
This is needed for upcoming Go2Meeting (G2M2/G2M3) decoder.
2014-02-11 12:46:27 +01:00
Kostya Shishkov and Luca Barbato
e95018b694
dnxhd: Support DNx444
...
Bug-Id: 99
Bug-Id: videolan/9620
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-02-09 19:53:35 +01:00
Kostya Shishkov and Derek Buitenhuis
cde7df25ef
Mirillis FIC video decoder
...
Does not contain cursor rendering yet.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2014-02-08 15:04:13 +00:00
Kostya Shishkov
28e1eed3c2
dxtory: compressed RGB555/RGB565 decoding support
2014-01-24 20:09:51 +01:00
Kostya Shishkov
0e1ad2f591
dxtory: add more compressed and uncompressed modes
2014-01-24 20:09:44 +01:00
Kostya Shishkov
025fd76e1a
dxtory: change error code for unexpected slice configuration
2014-01-21 17:47:50 +01:00
Kostya Shishkov
e91a3f1bdb
dxtory: correctly handle YUV slices with average odd height
2014-01-21 17:47:50 +01:00
Kostya Shishkov and Anton Khirnov
2f97094608
lagarith: do not call simd functions on unaligned lines
...
They end up overwriting past the line end.
Partially based on a patch by Michael Niedermayer <michaelni@gmx.at >
Bug-Id: vlc/9700
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2014-01-06 08:19:29 +01:00
Kostya Shishkov and Anton Khirnov
01f6df01b6
go2meeting: disallow tile dimensions that are not multiple of 16
...
Original decoder seems to always use 176x128 tiles anyway and this helps
avoiding lots of issues with odd tile sizes in fuzzed files.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2013-11-29 17:37:59 +01:00
Kostya Shishkov and Anton Khirnov
a16577d985
MSN Audio support
...
This is essentially a MS GSM decoder extension that supports more
sampling rates and lower bitrates.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2013-11-26 08:31:10 +01:00
Kostya Shishkov and Anton Khirnov
56d061ce9d
metasound: add last missing modes (8kHz @ 6kbps per channel)
...
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2013-11-26 08:29:42 +01:00
Kostya Shishkov and Luca Barbato
de44dfc7c0
vc1: Reset numref if fieldmode is not set
...
There are samples in the wild with B-frames and P-frames with different
interlace mode.
CC: libav-stable@libav.org
Reported-by: Jean-Baptiste Kempf <jb@videolan.org >
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-11-26 00:34:12 +01:00
Kostya Shishkov and Diego Biurrun
16e7b189c5
mpegvideo: Fix swapping of UV planes for VCR2
2013-11-19 02:05:51 +01:00
Kostya Shishkov and Diego Biurrun
669fe50595
twinvq: consume block_align+1 packets as full ones
...
They can be produced by VQF.
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-11-14 13:38:10 +01:00
Kostya Shishkov and Diego Biurrun
1afa8a7568
twinvq: support multiple frames per packet
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-11-14 13:38:10 +01:00
Kostya Shishkov and Diego Biurrun
ddb839e928
metasound: add missing modes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-11-14 13:38:10 +01:00
Kostya Shishkov and Diego Biurrun
5462dde194
metasound: Fix error message argument
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-11-08 16:50:17 +01:00
Kostya Shishkov and Martin Storsjö
4370f65be8
g2meet: Respect cursor_stride properly everywhere
...
This fixes a regression with rgb cursors since b1e46988 .
Signed-off-by: Martin Storsjö <martin@martin.st >
2013-09-25 17:42:01 +03:00
Kostya Shishkov
4eb4bb3a02
imc: support mode 1
2013-08-26 09:23:45 +02:00
Kostya Shishkov
9e7b62f0fb
twinvq: set block align for codecs and use it in size checks
...
This both allows factoring out size check for both MetaSound and TwinVQ-VQF
decoders and fixes the situation when there are several MetaSound frames
stuffed together (that happens in 8kHz @ 8kbps MetaSound in ASF for example).
2013-08-26 09:23:39 +02:00
Kostya Shishkov and Martin Storsjö
f399e406af
altivec: perform an explicit unaligned load
...
Implicit vector loads on POWER7 hardware can use the VSX
instruction set instead of classic Altivec/VMX. Let's force
a VMX load in this case.
Signed-off-by: Martin Storsjö <martin@martin.st >
2013-08-16 10:08:47 +03:00
Kostya Shishkov
3e5898782d
Voxware MetaSound decoder
2013-08-08 10:52:44 +02:00
Kostya Shishkov
f544c58636
deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead
...
Voxware is the name of company, it has produced several audio codecs e.g.
MetaVoice family and MetaSound.
2013-08-07 10:56:18 +02:00
Kostya Shishkov and Diego Biurrun
86f4c59bd6
twinvq: Split VQF-specific part from common TwinVQ decoder core
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-08-05 20:59:23 +02:00
Kostya Shishkov and Diego Biurrun
bc909626b0
twinvq: move all bitstream reading into single place
...
This is required for the future addition of VoxWare MetaSound decoder, for its
functions are mostly the same but bitstream reader is completely different
and bitstream format is slightly different too.
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2013-08-05 19:37:47 +02:00
Kostya Shishkov
410066986f
aic: use chroma scan tables while decoding luma component in progressive mode
...
For some unclear reason Apple decided to use the same scan tables for luma and
chroma in the progressive mode while using different ones for luma in the
interlaced mode.
2013-07-04 12:09:45 +02:00
Kostya Shishkov and Luca Barbato
ee16a0ced0
smacker: check frame size validity
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-06-16 15:57:31 +02:00
Kostya Shishkov and Luca Barbato
58c95448e4
smacker: pad the extradata allocation
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-06-16 15:57:31 +02:00
Kostya Shishkov and Luca Barbato
bbb2945f2d
smacker: check the return value of smacker_decode_tree
...
Also prevent a memory leak.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-06-16 15:56:50 +02:00
Kostya Shishkov and Luca Barbato
f52edef301
smacker: fix an off by one in huff.length computation
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2013-06-16 15:55:53 +02:00
Kostya Shishkov
7dfc3381dd
g2meet: do not leak buffers
2013-06-12 09:54:45 +02:00
Kostya Shishkov
4d960d7f60
g2meet: more graceful cursor loading
2013-06-12 09:54:45 +02:00
Kostya Shishkov
767ae86cee
g2meet: reset dimensions on header parsing errors
2013-06-12 09:54:45 +02:00
Kostya Shishkov
2d66a58ccd
Go2Webinar decoder
2013-06-03 09:24:55 +02:00
Kostya Shishkov
31980b6abd
vmd: decode videos with no LZ buffer size provided - they might not need it
...
The buffer is used for an additional pass of frame compression, so videos
can be coded without ever using it (and some are coded so indeed, e.g. in
Woodruff and the Schnibble of Azimuth game).
2013-06-02 19:08:09 +02:00
Kostya Shishkov
0aed0bfc62
vmd: fix mode 3 decoding
2013-06-02 19:07:31 +02:00
Kostya Shishkov
de421b2085
use my full first name instead of short one in copyrights
2013-06-01 13:38:50 +02:00
Kostya Shishkov
33f64fd5d5
indeo4: expand allowed quantiser range
...
Indeo 4 has quantiser range 0-31 instead of 0-23 for Indeo 5, and clipping
quantiser leads to incorrect quantisation and DC prediction on low-quality
videos.
This fixes bug 259.
2013-06-01 06:36:47 +02:00
Kostya Shishkov
0b0953baec
proresenc: alpha coding support
2013-05-30 09:23:26 +02:00
Kostya Shishkov
2cf5d29110
indeo4: reuse context block VLC for band instead of defaulting
...
Currently if no custom block VLC is specified for band, a default block VLC
will be used, while the global block VLC stored in the context should be used
instead.
This fixes decoding of one sample I have.
2013-05-28 14:10:58 +02:00
Kostya Shishkov
6647aa0426
indeo4: add missing Haar and slanted transforms
...
That involves fixing INV_HAAR4() macro and changing it to work with different
input and output like INV_HAAR8() instead of in-place transform.
2013-05-28 14:08:09 +02:00
Kostya Shishkov
3b03d7e251
dxtory v2 support
2013-05-28 13:35:09 +02:00
Kostya Shishkov
851bc1d6be
smacker: assign video frame PTS
2013-05-28 09:03:41 +02:00
Kostya Shishkov
268bb88544
smacker: add a clarification notice about audio decoding
2013-05-28 06:17:08 +02:00
Kostya Shishkov
c3c08baefb
smacker: fix off-by-one error in palette expanding code
2013-05-27 18:19:08 +02:00
Kostya Shishkov
5f30c6c8ed
Revert "smackaud: clip output samples"
...
Smacker audio uses overflows instead of clipping.
This reverts commit 375ca0aca8 .
2013-05-27 18:19:01 +02:00
Kostya Shishkov
0418cbf081
fix scalarproduct_and_madd_int16_altivec() for orders > 16
...
the second and third sources were incremented only by half of the needed size
2013-05-26 16:10:47 +02:00
Kostya Shishkov
e9e5a1bdc7
Monkey's Audio old versions FATE tests
2013-05-24 09:04:18 +02:00
Kostya Shishkov
03ece7b040
proresdec: simplify slice component offsets handling
2013-05-21 09:58:59 +02:00
Kostya Shishkov
e45d6222cc
Escape 130 FATE test
2013-05-19 07:09:36 +02:00
Kostya Shishkov
8e673efc6f
prores: update FATE test to account for alpha plane present in the test sample
2013-05-19 07:09:23 +02:00
Kostya Shishkov
cebdedca57
prores: decode alpha plane when it's present
2013-05-18 07:11:34 +02:00
Kostya Shishkov
1232a1647a
Apple Intermediate Codec decoder
2013-05-17 06:31:05 +02:00
Kostya Shishkov
56c1b92576
dfa: implement missing TDLT coding method
2013-04-09 18:32:00 +02:00
Kostya Shishkov
472391b9a7
ape: use correct context for the bit table printed in debug
2013-03-27 16:20:08 +01:00
Kostya Shishkov
613a37eca4
ape: 3.80-3.92 decoding support
2013-03-25 18:40:56 +01:00
Kostya Shishkov and Luca Barbato
50c449ac24
iff: validate CMAP palette size
...
Fixes CVE-2013-2495
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
CC: libav-stable@libav.org
2013-03-18 10:48:29 +01:00
Kostya Shishkov
c42e262513
add support for Monkey's Audio versions from 3.93
2013-03-15 09:50:42 +01:00
Kostya Shishkov
9652d4fcfc
ape: provide two additional bytes in buffer for old MAC versions
...
Range coder in 3.90-3.95 overread two bytes in the final normalize.
2013-03-15 09:50:42 +01:00
Kostya Shishkov
b164d66e35
ape: make version-dependent decoding functions called via pointers
...
This will help in supporting old versions, e.g. version 3.93 uses the same
range coder but different predictor and version 3.82 uses different range
coder and predictor. Also this should not make decoding newer versions slower
by introducing additional checks on versions.
2013-03-15 09:50:42 +01:00
Kostya Shishkov
b5f536d24b
pnm: add high-bitdepth PGMYUV support for both encoder and decoder
2013-02-23 16:49:22 +01:00
Kostya Shishkov and Anton Khirnov
89f11f498b
qtrle: fix the topmost line for 1bit
...
Signed-off-by: Anton Khirnov <anton@khirnov.net >
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Kostya Shishkov and Anton Khirnov
685e6f2e39
xxan: properly handle odd heights.
...
Duplicate the last one or two chroma lines.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Kostya Shishkov
6d93308c0c
mss2: reindent after last commit
2012-11-11 16:07:42 +01:00
Kostya Shishkov and Diego Biurrun
38fdf72580
swscale: do not forget to swap data in formats with different endianness
...
Otherwise during scaling it will try to interpret input in the wrong way and
that leads to the test results disagreeing on different platforms and with
different optimizations.
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2012-10-31 17:53:57 +01:00
Kostya Shishkov
169514c440
indeo3: do not try to output more lines than we can fit
...
Internally chroma planes have multiple of four height while allocated image
planes might be smaller if CODEC_FLAG_EMU_EDGE is set. Thus we should not
output more lines of chroma than frame can accept.
Also the decoder can be safely switched to direct rendering now.
2012-10-19 07:58:51 +02:00
Kostya Shishkov
8774d58358
bmv: get a new frame on every decode_frame(), so we can use direct rendering
2012-10-19 07:58:51 +02:00
Kostya Shishkov
4dc8c8386e
vc1dec: add flush function for WMV9 and VC-1 decoders
...
CC: libav-stable@libav.org
2012-09-28 07:08:54 +02:00
Kostya Shishkov
04fc5c6bde
g723_1: add comfort noise generation
2012-08-30 18:21:12 +02:00
Kostya Shishkov
7627c35a81
vc1: export some functions
...
This is a preparatory step for the MSS2 decoder which needs to use
the WMV9 decoder to decode some kinds of frames.
From the patch by Alberto Delmás <adelmas@gmail.com >
2012-08-28 07:37:06 +02:00
Kostya Shishkov
0de4a563e4
mss1: move code that will be reused by MSS2 decoder into separate file
2012-08-27 18:12:10 +02:00
Kostya Shishkov
49df339f4b
mss1: merge decode_intra() and decode_inter()
...
They have most of their code in common.
2012-08-27 18:11:50 +02:00
Kostya Shishkov
84f9d78a96
fate: add G.723.1 decoder tests
2012-08-09 19:35:47 +02:00
Kostya Shishkov
e78e6c37ef
g723_1: clip argument for 15-bit version of normalize_bits()
...
It expects maximum value to be 32767 but calculations in scale_vector()
which uses this function can give it ABS(-32768) which leads to wrong
result and thus clipping is needed.
2012-08-08 13:24:19 +02:00
Kostya Shishkov
f86b2f3661
g723_1: use all LPC vectors in formant postfilter
...
Due to some mistake LPC vector for the first subframe was used for all
subframes instead of their own LPC vectors.
2012-08-08 13:23:22 +02:00
Kostya Shishkov
8f2aa89a5d
mpc8: do not leave padding after last frame in buffer for the next decode call
2012-08-08 09:11:38 +02:00
Kostya Shishkov
d3e0766fc0
g723_1: scale output as supposed for the case with postfilter disabled
2012-08-03 07:07:07 +02:00
Kostya Shishkov
94bfdfd6f0
g723_1: increase excitation storage by 4
...
Fixed codebook mode in 5300 rate may write up to SUBFRAME_LEN + 4 and
that is considered normal by the reference decoder. Without that additional
padding it might overwrite first elements of LPC history.
2012-08-03 07:07:07 +02:00
Kostya Shishkov
802bcdcb2f
g723_1: fix upper bound parameter from inverse maximum autocorrelation
2012-08-03 07:07:07 +02:00
Kostya Shishkov
8ddadea171
g723_1: make scale_vector() behave like the reference
2012-08-03 07:07:07 +02:00
Kostya Shishkov
8772d2511a
g723_1: fix off-by-one error in normalize_bits()
2012-08-03 07:07:07 +02:00
Kostya Shishkov
7f92db14f9
g723_1: save/restore excitation with offset to store LPC history
...
The same buffer with saved data is used later in LPC reconstruction, so
it should have some head space for LPC history.
2012-08-03 07:07:06 +02:00
Kostya Shishkov
0cf7d849ff
tscc2: fix typo in array index
2012-07-27 07:34:38 +02:00
Kostya Shishkov
1470ce21ce
Bump libavcodec and libavformat minor versions for G.723.1 decoder and demuxer
2012-07-22 08:43:12 +02:00
Kostya Shishkov
4cfb0d871d
tscc2: do not add/subtract 128 bias during DCT
...
It turns out that the reference decoder subtracts 128 from DC during block
decode but adds it back during reordering block with zigzag pattern.
Transforming block with incorrect DC caused heavy visual artifacts for
many quantisers.
2012-07-18 07:05:59 +02:00
Kostya Shishkov
3c6c19184c
tscc2: fix typo in DCT
2012-07-18 07:05:53 +02:00
Kostya Shishkov
0b40153d20
tscc2: DCT output should not be clipped
...
This fixes decoding some TSCC2 files with large quantisers.
2012-07-17 07:21:24 +02:00
Kostya Shishkov
5b7e3a195d
MS Expression Encoder Screen decoder
2012-07-13 06:59:48 +02:00
Kostya Shishkov
781888da89
TechSmith Screen Codec 2 decoder
2012-07-11 07:29:05 +02:00
Kostya Shishkov
ed219ed366
mss1: fix decoding masked regions in interframes
...
Spotted by Alberto Delmás
2012-07-10 13:58:05 +02:00
Kostya Shishkov
5467742232
mss3: use standard zigzag table
2012-07-09 18:17:51 +02:00
Kostya Shishkov
acfb6b6cf8
mss3: split DSP functions that are used in MTS2(MSS4) into separate file
2012-07-09 18:17:51 +02:00
Kostya Shishkov
1f061da529
mss3: add forgotten 'static' qualifier for private table
2012-07-06 11:37:35 +02:00
Kostya Shishkov
edf35d8342
MS ATC Screen (aka MSS3) decoder
2012-07-02 07:14:44 +02:00
Kostya Shishkov
15358ade15
mss1: validate number of changeable palette entries
2012-06-27 18:05:58 +02:00
Kostya Shishkov
8f5d573a83
mss1: report palette changed when some additional colours were decoded
2012-06-27 18:05:58 +02:00
Kostya Shishkov
005c80b645
MS Screen 1 decoder
2012-06-20 19:08:10 +02:00
Kostya Shishkov
19be0f3ca6
iac: add missing dependency
2012-06-10 06:50:10 +02:00