Peter Ross
803bdc5469
electronicarts: demux alpha stream
...
Electronic Arts VP6 files may contain two video streams: one for the
primary video stream and another for the alpha mask. The file format
uses identical data structures for both streams.
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Peter Ross
a2517fca1e
electronicarts: move video stream properties into dedicated structure
...
This is required for the alpha stream demux patch.
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Stephan Vedder
b368428fc0
avformat/electronicarts: Fixed ea_probe function to accept vp6a videos
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Paul B Mahol
6dfa70f272
Correct few "ffmpeg" typos
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
10 years ago
Anton Khirnov
cb7b1a2dfb
electronicarts: set the framerate for TGQ/TQI
...
It is hardcoded to 15fps.
10 years ago
Anton Khirnov
7b6aae23e1
electronicarts: read the framerate for MAD
10 years ago
Anton Khirnov
4d6c515284
electronicarts: do not fail on zero-sized chunks
...
At least one FATE sample contains such chunks and happens to work simply
by accident (due to find_stream_info() swallowing the error).
CC: libav-stable@libav.org
10 years ago
James Almer
d34ec64a22
replace calls to url_feof() with avio_feof()
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Diego Biurrun
d92024f18f
lavf: more correct printf format specifiers
11 years ago
Michael Niedermayer
55328d5f72
avformat/electronicarts: detect endianness by comparing sizes instead of using an arbitrary threshold
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
587e3c3426
avformat/electronicarts: use 64bit variable for avio_tell() result
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
f9b89b61f8
avformat/electronicarts: check chunksize more completely in probe()
...
Fixes probetest failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
20769d9349
avformat/electronicarts: check chunk size.
...
Fix infinite loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Martin Storsjö
a9221e3960
electronicarts: Add more sanity checking for the number of channels
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Martin Storsjö
f7e616959a
electronicarts: Check packet sizes before reading
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Diego Biurrun
163a729725
electronicarts: Let functions always returning the same value return void
11 years ago
Diego Biurrun
4908c8ef27
electronicarts: Improve some function/variable names
11 years ago
Diego Biurrun
a90cff137b
electronicarts: comment wording fixes
11 years ago
Diego Biurrun
288f2ffb57
electronicarts: Remove bogus function documentation
11 years ago
Diego Biurrun
8747fce91f
electronicarts: K&R formatting cosmetics
11 years ago
Michael Niedermayer
1831274ff1
electronicarts: check timebase, fix assertion failure
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Paul B Mahol
a9b424879f
lavc & lavf: replace deprecated av_log* functions
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
12 years ago
Anton Khirnov
85a5bc054c
lavf: remove disabled FF_API_R_FRAME_RATE cruft
12 years ago
Michael Niedermayer
fb1ea777b3
electronicarts: check size before reading duration out of a chunk.
...
Fixes null pointer dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Peter Ross
6f78ba8b0b
electronic arts: support rare samples containing adpcm_ea_r1 audio
...
Fixes ticket #1549 .
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Peter Ross
d168fcb68f
electronicarts: use av_log_ask_for_sample
...
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
12 years ago
Clément Bœsch
16dc5f2050
Replace various inlined inverse AVRational with av_inv_q().
12 years ago
Diego Biurrun
6774247a9d
avformat: Drop pointless "format" from container long names
12 years ago
Anton Khirnov
aba232cfa9
lavf: deprecate r_frame_rate.
...
According to its description, it is supposed to be the LCM of all the
frame durations. The usability of such a thing is vanishingly small,
especially since we cannot determine it with any amount of reliability.
Therefore get rid of it after the next bump.
Replace it with the average framerate where it makes sense.
FATE results for the wtv and xmv demux tests change. In the wtv case
this is caused by the file being corrupted (or possibly badly cut) and
containing invalid timestamps. This results in lavf estimating the
framerate wrong and making up wrong frame durations.
In the xmv case the file contains pts jumps, so again the estimated
framerate is far from anything sane and lavf again makes up different
frame durations.
In some other tests lavf starts making up frame durations from different
frame.
12 years ago
Ronald S. Bultje
273e6af47b
ea: check chunk_size for validity.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
Paul B Mahol
015fd02bab
electronicarts vp6: set duration of video stream
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Justin Ruggles
ea289186f0
ea: fix audio pts
...
The time base is 1 / sample_rate, not 90000.
Several more codecs encode the sample count in the first 4 bytes of the
chunk, so we set the durations accordingly. Also, we can set start_time and
packet duration instead of keeping track of the sample count in the demuxer.
13 years ago
Anton Khirnov
efec3bc65a
electronicarts: set timebase for tgv video.
...
The container has no timestamps and the framerate isn't stored in the
data either.
The decoder sets codec timebase to experimentally found value 1/15. Do
the same for the demuxer too, it should at least be better than the
default 1/90000.
13 years ago
Anton Khirnov
e39400c3a8
electronicarts: parse the framerate for cmv video.
13 years ago
Anton Khirnov
1d3144c318
electronicarts: don't set codec timebase
...
Demuxers are not supposed to set it.
Set stream timebase and framerates instead (this is a cfr container with
no timestamps).
13 years ago
Reimar Döffinger
a0eb8de5e0
Merge palette-only header with actual video frame.
...
This fixes the video frame pts (off by one for each MVIh)
and makes the "key frames" decode stand-alone (MVIh
contains only palette, such a palette-only frame being
marked as key frame is not really correct).
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Anton Khirnov
6e9651d106
lavf: remove AVFormatParameters from AVFormatContext.read_header signature
13 years ago
Janne Grunau
73b16198b6
electronicarts: check bytes per sample for validity
...
Prevents division by zero.
13 years ago
Michael Niedermayer
f37174bc19
electronicarts: Pass error through ea_read_header().
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Oana Stratulat
0d3a51e5d2
electronicarts: Fix division by zero. Fixes Ticket #793
...
Signed-off-by: Oana Stratulat <oanaandreeastratulat@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Clément Bœsch
215b7724e7
lavf: rename remaining av_set_pts_info() to avpriv_set_pts_info().
13 years ago
Anton Khirnov
c3f9ebf743
lavf: make av_set_pts_info private.
...
It's supposed to be called only from (de)muxers.
13 years ago
Anton Khirnov
3b3bbdd3e6
lavf,lavd: replace av_new_stream->avformat_new_stream part I.
...
Trivial replacements with sed are done in this commit:
sed 's/av_new_stream(\([^)]*\), 0)/avformat_new_stream(\1, NULL)/'
13 years ago
Anton Khirnov
dfc2c4d900
lavf: use designated initialisers for all (de)muxers.
...
It's more readable and less prone to breakage.
14 years ago
Reimar Döffinger
3c10843f15
Use av_set_pts_info to set time_base.
...
Also remove useless assignments of 0, the priv
context is initialized to 0.
14 years ago
Reimar Döffinger
f0a68a20a7
Enable header parsing for MPEG2VIDEO to get time-stamps.
...
FFmpeg can generate pts and dts on its own, but only
if we enable parsing, so do that.
This fixes ticket #46 .
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Anton Khirnov
45a8a02a41
lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes sense
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Anton Khirnov
66e5b1df36
avio: deprecate url_feof
...
AVIOContext.eof_reached should be used directly instead.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago