1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

39744 Commits

Author SHA1 Message Date
Reimar Döffinger
d1a58afb95 latmenc: validate extradata size.
Fixes potential out-of-bounds writes.
This is mostly possible when muxing ALS files where from
an extradata size of about 1050 put_bits would write data
outside the buffer.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-12 20:29:56 +02:00
Reimar Döffinger
9540476ba1 latmenc: simplify using avpriv_copy_bits.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-12 20:29:28 +02:00
Reimar Döffinger
eb24def465 latmenc: Document assumptions when copying the AAC header.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-12 20:28:42 +02:00
Reimar Döffinger
0c1e9c2d6a latmenc: copy pce config from proper location.
For the FATE test sample used, this only avoids a warning
message.
However for other samples like al05_44.mp4 the converted
file can be played only after this fix.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-12 20:28:37 +02:00
Reimar Döffinger
912a838efe latmenc: fix muxing of byte-aligned DSE.
This will only work for DSEs that are first in a packet, but
that is enough to fix handling of the reference files in
fate-suite/aac (though most of them still have other issues).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-12 20:27:47 +02:00
Michael Niedermayer
8274b21c09 ffmpeg: fix ticks_per_frame for the avi stream copy case
Should not make any difference, but its more correct.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 12:57:22 +02:00
Michael Niedermayer
e8c63981e5 ratecontrol: Use ticks_per_frame to calculate fps.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 12:54:54 +02:00
Jakub Stachowski
3b00fd5985 wmalosslessdec: Reset residues to 0 if they were not decoded from bitstream.
If channel residues are have not been decoded from bitstream, they should be
initialized to 0 instead of using values from previous subframe.
This causes bursts of noise in silent parts of some files.
This patch fixes bug #1055

Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Reviewed-by: Mashiat Sarker Shakkhar <mashiat.sarker@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 12:41:53 +02:00
Michael Niedermayer
9e938d22c5 msmpeg4enc: fix stored fps value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 11:36:17 +02:00
Michael Niedermayer
75b38674b6 lavf: compute_pkt_fields, limit the pts upcorrection to mpeg
The pts correction conflicts with the ogg vorbis demuxer.

Thanks-to: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 11:35:38 +02:00
Nicolas George
733cf0ad51 ffmpeg: add -benchmark_all option. 2012-04-12 09:35:09 +02:00
Nicolas George
81a9d32f0d ffmpeg: move getutime to the start of the file. 2012-04-12 09:35:09 +02:00
Michael Niedermayer
0cd17a6291 mjpeg: fix crash with lowres and flipped images
Fixes Ticket1155

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 02:02:30 +02:00
Michael Niedermayer
c0af87550a vf_lut: fix rgba map regression
Fixes Ticket1184

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 02:02:30 +02:00
Reimar Döffinger
277f20c3c8 lavf: always call avio_flush in av_write_trailer.
Otherwise for muxers like e.g. latmenc that never call
avio_flush (and do not have a write_trailer function)
a part of the data will always be missing.
Also update references for the voc muxer, which was also
buggy before and did not write out all data.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-12 00:13:53 +02:00
Michael Niedermayer
4f6df20a00 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avplay: Don't free video filters string until the end of decoding.
  movenc: small refactor mov_write_packet
  movenc: remove redundant check
  interplayvideo: fix av_dlog parameter type mismatch
  Drop some pointless #ifdefs.

Conflicts:
	libavcodec/interplayvideo.c
	libavcodec/libxvidff.c
	libavcodec/snowenc.c
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 22:50:22 +02:00
Reimar Döffinger
8e357e8e75 latmenc: error out when packet size is too large.
Previously it would just silently write out incorrect data.
This also fixes a potential integer overflow in the allocation.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-11 22:28:34 +02:00
Reimar Döffinger
a736eb4a60 latmenc: Fix ALS in LATM.
"Fix" in so far as at least it will no longer overread and possibly
crash and makes somewhat sense, but no idea whether there is anything
that can play the resulting files (FFmpeg can't).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-11 22:28:34 +02:00
Reimar Döffinger
fa8a6385a1 latmenc: remove unused return value.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-11 22:27:34 +02:00
Reimar Döffinger
e6ad943734 latmenc: remove dead code.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-11 21:46:33 +02:00
Reimar Döffinger
5735f768b0 h261: move tables from header to .c file.
Currently they end up twice in the binary, since both
encoder and decoder include the header and thus each gets
their own copy.
This is clearly nonsense for the const tables, but shouldn't
be necessary for the RLTable either.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-11 21:46:33 +02:00
Michael Niedermayer
6952301f33 ff_samples_to_time_base: support AV_NOPTS_VALUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 20:30:55 +02:00
Alex Converse
e1ce756844 avplay: Don't free video filters string until the end of decoding.
av_freep()ing inside configure_video_filters() leaves a dangling
reference in the calling code, and the filter string is needed again when
reconfiguring video filters for a size change.
2012-04-11 10:24:01 -07:00
Dale Curtis
309a931a38 Fix memory leaks on failed ff_h264_decode_init()
During failure conditions ff_h264_decode_init() leaks memory
allocated for nal units.  Found via valgrind.

Valgrind traces: http://pastebin.com/GqTqxs8T

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 15:54:53 +02:00
Michael Niedermayer
ca4a3f4a08 oggparsevorbis: Remove code messing with cur_dts.
This code caused first_dts to become corrupt and in value to be
around relative_ts.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 14:56:02 +02:00
Michael Niedermayer
44239bd9f2 swr: add a swr_flags AVOption
Using swr_flags instead of plain flags will avoid conflicts that
arise with plain flags and multiple libs (which all have AVOption flags)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 14:10:22 +02:00
Michael Niedermayer
6c704d9c30 ffmpeg: support changing dither parameters for swr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 14:10:22 +02:00
Michael Niedermayer
be4cde226a cmdutils: parse options for swr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 14:10:21 +02:00
Michael Niedermayer
c1d404b9e4 swr: add a dither_scale parameter to tune the amplitude of the dither.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:44:48 +02:00
Michael Niedermayer
a2c92e6063 swr: pass context to swri_get_dither()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:44:15 +02:00
Luca Barbato
ebbede2265 movenc: small refactor mov_write_packet
Share the formerly internal write_packet with the hinter and move the
fragment flush logic to the user facing one since it is not concerned
about movtrack-only streams.

Fixes bug #263

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-11 14:38:37 +03:00
Luca Barbato
18b59956e0 movenc: remove redundant check
The proper check is already in mov_write_header.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-11 14:38:36 +03:00
Michael Niedermayer
f8a237a307 swr: add triangular highpass dither
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:27:22 +02:00
Michael Niedermayer
1fc4ff2205 swr: generate more dither noise to improve quality.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:26:32 +02:00
Michael Niedermayer
22057e8ecb swr: add swr_get_class()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:25:56 +02:00
Diego Biurrun
9676d8eb67 interplayvideo: fix av_dlog parameter type mismatch
libavcodec/interplayvideo.c:909:13: warning: format ‘%p’ expects argument of type ‘void *’, but argument 7 has type ‘GetByteContext’ [-Wformat]
2012-04-11 10:43:47 +02:00
Michael Niedermayer
f9a2c5bc07 swr: simplify code by using av_get_bytes_per_sample()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 10:02:00 +02:00
Michael Niedermayer
6e9c634c36 swr: fix copy & pasted comment to match the code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 23:54:04 +02:00
Michael Niedermayer
8702e35b9b vda: try to fix compile
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 23:37:30 +02:00
Michael Niedermayer
e387c9d5dd Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  rv40dsp x86: use only one register, for both increment and loop counter
  rv40dsp: implement prescaled versions for biweight.
  avconv: use default channel layouts when they are unknown
  avconv: parse channel layout string
  nutdec: K&R formatting cosmetics
  vda: Signal 4 byte NAL headers to the decoder regardless of what's in the extradata
  mem: Consistently return NULL for av_malloc(0)
  vf_overlay: implement poll_frame()
  vf_scale: support named constants for sws flags.
  lavc doxy: add all installed headers to doxy groups.
  lavc doxy: add avfft to the main lavc group.
  lavc doxy: add remaining avcodec.h functions to a misc doxygen group.
  lavc doxy: add AVPicture functions to a doxy group.
  lavc doxy: add resampling functions to a doxy group.
  lavc doxy: replace \ with /
  lavc doxy: add encoding functions to a doxy group.
  lavc doxy: add decoding functions to a doxy group.
  lavc doxy: fix formatting of AV_PKT_DATA_{PARAM_CHANGE,H263_MB_INFO}
  lavc doxy: add AVPacket-related stuff to a separate doxy group.
  lavc doxy: add core functions/definitions to a doxy group.
  ...

Conflicts:
	ffmpeg.c
	libavcodec/avcodec.h
	libavcodec/vda.c
	libavcodec/x86/rv40dsp.asm
	libavfilter/vf_scale.c
	libavformat/nutdec.c
	libavutil/mem.c
	tests/ref/acodec/pcm_s24daud

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 22:53:25 +02:00
Michael Niedermayer
b1ef4dc406 swr: add triangular dither support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 21:18:33 +02:00
Michael Niedermayer
0cff3e130b swr: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 21:18:32 +02:00
Michael Niedermayer
0170889372 swr: add SWR_DITHER_RECTANGULAR to AVOptions array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 21:18:32 +02:00
Reimar Döffinger
1ac606bae6 aacsbr: silence message for SBR extension "padding".
Some files contain a few additional, all-0 bits.
Check for that case and don't print incorrect "not supported"
message.
Fixes trac issue #836.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-10 20:51:20 +02:00
Michael Niedermayer
5b2be9bcc0 swr-test: include opt.h, this is needed for changing options for testing.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 19:54:42 +02:00
Michael Niedermayer
7c673d73ec swr: use assert in swri_sum2 to check that only supported formats are used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 19:54:42 +02:00
Michael Niedermayer
db2eadb2f5 swr: add dither support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 19:54:41 +02:00
Michael Niedermayer
5c1f312888 swr: update copyright year for rematrix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 19:54:41 +02:00
Diego Biurrun
679481b3b6 Drop some pointless #ifdefs.
The files are only compiled if the #ifdef conditions are met.
2012-04-10 19:27:38 +02:00
Christophe GISQUET
2130bd8f5b rv40dsp x86: use only one register, for both increment and loop counter
Around 10 cycles faster for luma.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-04-10 10:07:09 -07:00