Michael Niedermayer
27b7bfc7b5
avidec: Fix demuxing of non seekable avis with multiple RIFFs
...
This solution uses the size of the first RIFF if its valid
to check frame size validity when the filesize could not be determined.
Feedback is welcome, other ideas and improvments as well!
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 17:30:42 +01:00
Michael Niedermayer
8d0da20ca6
avidec: fix duration and bitrate of truncated files
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 13:09:52 +01:00
Michael Niedermayer
2653e12520
Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'
...
* commit '1afddbe59e96af75f1c07605afc95615569f388f':
avpacket: use AVBuffer to allow refcounting the packets.
Conflicts:
libavcodec/avpacket.c
libavcodec/utils.c
libavdevice/v4l2.c
libavformat/avidec.c
libavformat/flacdec.c
libavformat/id3v2.c
libavformat/matroskaenc.c
libavformat/mux.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 19:12:03 +01:00
Anton Khirnov
1afddbe59e
avpacket: use AVBuffer to allow refcounting the packets.
...
This will allow us to avoid copying the packets in many cases.
This breaks ABI.
2013-03-08 07:33:45 +01:00
Michael Niedermayer
82d79289db
avformat: Allocate duration_error separately
...
This significantly reduces the memory needed per AVStream when the
array is not needed.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 23:15:09 +01:00
Michael Niedermayer
b4a7f4d018
Merge commit '570a4a0189946c2c983da41d37fdd67fa13266e7'
...
* commit '570a4a0189946c2c983da41d37fdd67fa13266e7':
avidec: use sensible error codes instead of -1
Conflicts:
libavformat/avidec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 13:38:20 +01:00
Jindrich Makovicka
570a4a0189
avidec: use sensible error codes instead of -1
...
Use AVERROR_INVALIDDATA on invalid inputs, and AVERROR_EOF when no more
frames are available in an interleaved AVI.
Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-21 16:02:40 +01:00
Michael Niedermayer
028cc42a16
read_gab2_sub: fix null pointer dereference
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 17:46:05 +01:00
Carl Eugen Hoyos
ccf771cd79
Correctly skip strf tag for subtitles when decoding avi.
...
Fixes ticket #1797 .
2012-11-30 10:18:37 +01:00
Michael Niedermayer
be89693ddc
avidec: try to support oddly muxed MMES stream
...
Fixes ticket1804
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 23:20:35 +01:00
Michael Niedermayer
3d48dd01fd
avidec: remove unneeded null check
...
Fixes CID29555
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 21:46:39 +02:00
Michael Niedermayer
2fed05f53a
avoid more "0xFF << 24" as it is considered a integer overflow in C99
...
missed these in my previous search and replace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 03:34:16 +02:00
Heesuk Jung
e3301459f6
avidec: Use sample size in case incorrect timestamps for aac in AVI (Ticket #1755 )
...
In some case for aac in AVI, avidec extracts wrong PTS value.
(www.ffmpeg.org/trac/ffmpeg/ticket/1755)
I found additional case(ss=4096) and add condition.
Problematic file link : https://docs.google.com/open?id=0B6r7ZfWFIypCOTdZQUtGVEdJUUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:57:35 +02:00
Carl Eugen Hoyos
1a104bf641
Fix broken timestamps for some mp3 in avi samples.
...
Mostly based on 73ad355
by Michael Niedermayer.
Fixes ticket #606 .
2012-10-10 23:59:43 +02:00
Michael Niedermayer
73ad355d23
avidec: fix 10l typo
...
found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 17:06:12 +02:00
Michael Niedermayer
229e33a2b6
avidec: override sample size of 1024 for VBR AAC
...
Fixes Ticket1755
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 16:48:58 +02:00
Michael Niedermayer
31ab1575e5
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
avcodec: Convert some commented-out printf/av_log instances to av_dlog
avcodec: Drop silly and/or broken printf debug output
avcodec: Drop some silly commented-out av_log() invocations
avformat: Convert some commented-out printf/av_log instances to av_dlog
avformat: Remove non-compiling and/or silly commented-out printf/av_log statements
Remove some silly disabled code.
ac3dec: ensure get_buffer() gets a buffer for the correct number of channels
Conflicts:
libavcodec/dnxhddec.c
libavcodec/ffv1.c
libavcodec/h264.c
libavcodec/h264_parser.c
libavcodec/mjpegdec.c
libavcodec/motion_est_template.c
libavcodec/mpegaudiodec.c
libavcodec/mpegvideo_enc.c
libavcodec/put_bits.h
libavcodec/ratecontrol.c
libavcodec/wmaenc.c
libavdevice/timefilter.c
libavformat/asfdec.c
libavformat/avidec.c
libavformat/avienc.c
libavformat/flvenc.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:12:38 +02:00
Diego Biurrun
72eaba5e4f
avformat: Convert some commented-out printf/av_log instances to av_dlog
2012-10-01 10:24:28 +02:00
Diego Biurrun
11d4e92ed9
avformat: Remove non-compiling and/or silly commented-out printf/av_log statements
2012-10-01 10:24:28 +02:00
Michael Niedermayer
b96dc093ea
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
wmalosslessdec: increase channel_coeffs/residues size
wmalosslessdec: increase WMALL_BLOCK_MAX_BITS to 14.
lagarith: check count before writing zeros.
wmaprodec: check num_vec_coeffs for validity
avidec: use actually read size instead of requested size
avidec: return 0, not packet size from read_packet().
Conflicts:
libavcodec/lagarith.c
libavcodec/wmalosslessdec.c
libavcodec/wmaprodec.c
libavformat/avidec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 15:11:34 +02:00
Anton Khirnov
0af49a63c7
avidec: use actually read size instead of requested size
...
Fixes CVE-2012-2788
2012-09-29 09:27:59 +02:00
Anton Khirnov
eeade678f0
avidec: return 0, not packet size from read_packet().
2012-09-29 09:27:51 +02:00
Michael Niedermayer
8d07742cb1
avidec: workaround aac with broken block align
...
Fixes Ticket1742
Based on patch by: Nikola Vranic <nikola.vranic@rt-rk.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 22:39:54 +02:00
Michael Niedermayer
108957c661
avidec/guess_ni_flag: fix harmless integer overflow
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 16:56:59 +02:00
Michael Niedermayer
d46c1c72e4
Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'
...
* commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9':
avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
Conflicts:
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libx264.c
libavcodec/mpeg12enc.c
libavcodec/options_table.h
libavcodec/snowenc.c
libavcodec/tiffenc.c
libavdevice/v4l2.c
libavdevice/x11grab.c
libavfilter/af_amix.c
libavfilter/af_asyncts.c
libavfilter/af_join.c
libavfilter/buffersrc.c
libavfilter/src_movie.c
libavfilter/vf_delogo.c
libavfilter/vf_drawtext.c
libavformat/http.c
libavformat/img2dec.c
libavformat/img2enc.c
libavformat/movenc.c
libavformat/mpegenc.c
libavformat/mpegtsenc.c
libavformat/options_table.h
libavformat/segment.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:33:32 +02:00
Piotr Bandurski
08277a45c3
lavf: add missing new line to some error messages
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:59:30 +02:00
Michael Niedermayer
ba2cf854d0
lavc: move AVRn to a seperate decoder.
...
The special cases in demuxers and decoders are a mess otherwise (and more
would be needed to support it fully)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 02:46:09 +02:00
Michael Niedermayer
7a72695c05
Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
...
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
Replace all CODEC_ID_* with AV_CODEC_ID_*
lavc: add AV prefix to codec ids.
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
doc/examples/muxing.c
ffmpeg.c
ffprobe.c
ffserver.c
libavcodec/8svx.c
libavcodec/avcodec.h
libavcodec/dnxhd_parser.c
libavcodec/dvdsubdec.c
libavcodec/error_resilience.c
libavcodec/h263dec.c
libavcodec/libvorbisenc.c
libavcodec/mjpeg_parser.c
libavcodec/mjpegenc.c
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/pcm.c
libavcodec/r210dec.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/version.h
libavdevice/alsa-audio-dec.c
libavdevice/bktr.c
libavdevice/v4l2.c
libavformat/asfdec.c
libavformat/asfenc.c
libavformat/avformat.h
libavformat/avidec.c
libavformat/caf.c
libavformat/electronicarts.c
libavformat/flacdec.c
libavformat/flvdec.c
libavformat/flvenc.c
libavformat/framecrcenc.c
libavformat/img2.c
libavformat/img2dec.c
libavformat/img2enc.c
libavformat/ipmovie.c
libavformat/isom.c
libavformat/matroska.c
libavformat/matroskadec.c
libavformat/matroskaenc.c
libavformat/mov.c
libavformat/movenc.c
libavformat/mp3dec.c
libavformat/mpeg.c
libavformat/mpegts.c
libavformat/mxf.c
libavformat/mxfdec.c
libavformat/mxfenc.c
libavformat/nsvdec.c
libavformat/nut.c
libavformat/oggenc.c
libavformat/pmpdec.c
libavformat/rawdec.c
libavformat/rawenc.c
libavformat/riff.c
libavformat/sdp.c
libavformat/utils.c
libavformat/vocenc.c
libavformat/wtv.c
libavformat/xmv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Michael Niedermayer
8993c25695
avidec: fix AVStream.info memleak with dv.
...
Fixes Ticket1334
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 19:18:53 +02:00
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
2012-08-07 16:00:24 +02:00
Michael Niedermayer
a80ce390df
avidec: parse INFO tags at the end
...
Fixes Ticket1123
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 21:36:42 +02:00
Michael Niedermayer
d1dad7c824
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
mpc8: return more meaningful error codes.
mpc: return more meaningful error codes.
wv,mpc8: don't return apetag data in packets.
rtmp: do not warn about receiving metadata packets
x86: h264dsp: Adjust YASM #ifdefs
x86: yadif: Mark mmxext optimizations as such
h264: convert loop filter strength dsp function to yasm.
Improve descriptiveness of a number of codec and container long names
Conflicts:
libavcodec/flvdec.c
libavcodec/libopenjpegdec.c
libavformat/apetag.c
libavformat/mp3dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-31 22:41:00 +02:00
Diego Biurrun
0177b7d23a
Improve descriptiveness of a number of codec and container long names
2012-07-30 20:46:55 +02:00
Michael Niedermayer
83d6ad3616
avidec: Mark first frame as keyframe in case there are no keyframes.
...
This fixes seeking in filecopy.avi of Ticket504
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 18:44:46 +02:00
Michael Niedermayer
e3c2d83183
avidec: switch to av_assert
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 23:26:55 +02:00
Paul B Mahol
6b9446e932
avidec: add .category
...
While here make .class_name consistent with other AVClass.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 16:26:01 +00:00
Paul B Mahol
7238ed6c84
avidec: use designated initializers for AVClass
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 13:59:17 +00:00
Michael Niedermayer
944d049eaa
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
movenc: Write chan atom for all audio tracks in mov mode movies.
mpegtsenc: use avio_open_dyn_buf(), zero pointers after freeing
doc/avconv: add some details about the transcoding process.
avidec: make scale and rate unsigned.
avconv: check output stream recording time before each frame returned from filters
avconv: split selecting input file out of transcode().
avconv: split checking for active outputs out of transcode().
avfiltergraph: make some functions static.
Conflicts:
ffmpeg.c
libavfilter/avfiltergraph.c
libavfilter/internal.h
libavformat/mpegtsenc.c
tests/ref/fate/acodec-alac
tests/ref/fate/acodec-pcm-s16be
tests/ref/fate/acodec-pcm-s24be
tests/ref/fate/acodec-pcm-s32be
tests/ref/fate/acodec-pcm-s8
tests/ref/lavf/mov
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 22:59:32 +02:00
Anton Khirnov
a982e5a031
avidec: make scale and rate unsigned.
...
The specs say they are unsigned 32bit integers.
2012-06-04 14:18:49 +02:00
Michael Niedermayer
57778f61d0
avidec: fix odd extradata size case.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 00:46:47 +02:00
Michael Niedermayer
76853a3e0c
libavformat: ff_get_bmp_header: return esize too
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 00:46:02 +02:00
Michael Niedermayer
d0f78e77e1
avidec: simplify avi_read_idx1()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-23 19:49:25 +02:00
Michael Niedermayer
212f129fb8
avidec: discard 0 packets even for sample_size==0 NI
...
Fixes Ticket1332
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-23 19:04:23 +02:00
Michael Niedermayer
455fcf29b8
avidec: zero extradata padding
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-19 22:52:34 +02:00
Michael Niedermayer
096231d497
avidec: Dont crash on avi packets that belong to dv streams in dv in avi
...
Fixes null pointer dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 17:58:19 +02:00
Michael Niedermayer
9789b6ca48
avidec: document early_exit argument
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 17:58:19 +02:00
Reimar Döffinger
d05625bd04
avidec: handle 0-size packets that exist only in index.
...
0-sized packets are used to implement variable fps.
However there seems to be a variation where these are not
even stored in the main file but as 0-size index entries
only.
This fixes the sample in trac issue #957 , it now plays both
the same ways as in MPlayer and in a way that looks correct.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-14 18:21:19 +02:00
Michael Niedermayer
c41ac87047
avidec: update size when packet is shrunk
...
Fixes out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-14 00:24:38 +02:00
Michael Niedermayer
8df774be88
avidec: better NI detection.
...
The new code detects NI avis by analyzing the index.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-01 10:33:16 +02:00
Michael Niedermayer
0ebd83617f
Merge remote-tracking branch 'qatar/master'
...
* qatar/master: (27 commits)
avconv: free packet in write_frame() when discarding due to frame number limit
FATE: use +/- flag option syntax for vp8 emu-edge tests
lavf: make av_interleave_packet_per_dts() private.
lavf: deprecate av_read_packet().
oggdec: output correct timestamps for Vorbis
avconv: pass input stream timestamps to audio encoders
lavc: shrink encoded audio packet size after encoding.
xa: set correct bit rate
xa: do not set bit_rate, block_align, or bits_per_coded_sample
xa: fix end-of-file handling
xa: fix timestamp calculation
bink: fix typo in FFALIGN() argument
bink: align plane width to 8 when calculating bundle sizes
doc: pass -Idoc texi2html and texi2pod
doc: texi2pod: add -I flag
movenc: Add a min_frag_duration option
rtsp: Set the default delay to 0.1 s for the RTSP/SDP/RTP demuxers
libavformat: Set the default for the max_delay option to -1
Generate manpages for AV{Format,Codec}Context AVOptions.
doc/avconv: remove entries for AVOptions.
...
Conflicts:
doc/Makefile
doc/ffmpeg.texi
doc/muxers.texi
ffmpeg.c
libavcodec/Makefile
libavcodec/options.c
libavcodec/vp8.c
libavformat/options.c
tests/fate/demux.mak
tests/ref/fate/truemotion1-15
tests/ref/fate/truemotion1-24
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-21 01:33:53 +01:00