Commit Graph

37728 Commits

Author SHA1 Message Date
Reimar Döffinger
3fe00cac71 Fix bitexact intra mismatch control.
The DC coefficient should be included, too.
This probably was missed because DC quantizer is always
even for MPEG-1/2 but this function is also used for MPEG-4.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-10 23:18:52 +01:00
Reimar Döffinger
5338566eaf mpegvideodec: minor simplifications.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-10 23:18:52 +01:00
Michael Niedermayer
af46ca7356 msmpeg4: replace 999999 by INT_MAX and initial by a valid index.
Fixes Ticket990

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-10 22:50:16 +01:00
Clément Bœsch
a3c4371f3c ffmpeg: prefer NULL over 0 for av_log context pointer parameter. 2012-02-10 20:47:42 +01:00
Clément Bœsch
158bd596a6 ffmpeg: move quality parameter to do_video_out() scope.
This make do_video_out() and do_audio_out() consistent. Also simplifies
callers.
2012-02-10 20:13:36 +01:00
Clément Bœsch
63b5e99fab ffmpeg: make use of ret error out in transcode_video(). 2012-02-10 20:13:36 +01:00
Clément Bœsch
086fc4d765 ffmpeg: move filtered_frame to the CONFIG_AVFILTER scope.
This simplifies a bit the #ifdefery.
2012-02-10 20:13:36 +01:00
Clément Bœsch
9303b794b8 ffmpeg: move do_video_stats() above do_video_out().
This avoid a forward declaration.
2012-02-10 20:12:52 +01:00
Clément Bœsch
a78dd826ee ffmpeg: move video stats code to do_video_out().
This will allow some simplifications in transcode_video().
2012-02-10 20:12:52 +01:00
Clément Bœsch
cf31060127 ffmpeg: move filtered_frame to video stream processing scope. 2012-02-10 20:12:52 +01:00
Clément Bœsch
aede21f1b6 ffmpeg: reindent after video frame polling simplification. 2012-02-10 19:59:38 +01:00
Clément Bœsch
e22c7b4e25 ffmpeg: simplify video frame polling.
input_video_filter and output_video_filter can't be NULL at this point.
If they are, the current code would likely crash anyway (since
filtered_frame would be NULL and sent to do_video_out().
2012-02-10 19:59:38 +01:00
Clément Bœsch
4ab4b3db5a ffmpeg: use exit_program() if configure_video_filters() fails. 2012-02-10 19:59:38 +01:00
Carl Eugen Hoyos
3546f680d5 Add missing newline to mpeg1/2 intra matrix error message. 2012-02-10 17:50:50 +01:00
Carl Eugen Hoyos
baa8ec8d74 Add missing swscale dependency for MP-filters.
Reported-by: Hanspeter Niederstrasser

Fixes ticket #989.
2012-02-10 17:39:36 +01:00
Hanspeter Niederstrasser
342afd12de Add missing swresample dependency for ffplay.
Fixes part of ticket #989.
2012-02-10 17:33:39 +01:00
Aneesh Dogra
1b7ff90107 sunrast: Remove the useless check.
in , else (1) { if (!1) } the if conditional will never evaluate to be true.
So as making the check useless.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-10 07:10:30 +01:00
Michael Niedermayer
29034e6503 ffmpeg: Add threshold to discard crazy/damaged timestamps.
The added tests are limited to the case where timestamp discontinuities
are not allowed. The default is 30 hours which is arbitrarily picked and
quite conservative.
This prevents a out of memory condition due to duplicating a frame
millions of times.

Found-by:  Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-10 05:40:42 +01:00
Michael Niedermayer
789d6b73cf lavf: Rewrite metadata printing from dump_metadata().
This code contained several bugs that mis-formated the output.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-10 03:24:14 +01:00
Michael Niedermayer
8c6ebab747 Merge remote-tracking branch 'qatar/master'
* qatar/master: (26 commits)
  eac3dec: replace undefined 1<<31 with INT32_MIN in noise generation
  yadif: specify array size outside DECLARE_ALIGNED
  prores: specify array size outside DECLARE_ALIGNED brackets.
  WavPack demuxer: set packet duration
  tta: use skip_bits_long()
  mxfdec: Ignore the last entry in Avid's index table segments
  mxfdec: Sanity-check SampleRate
  mxfdec: Handle small EditUnitByteCount
  mxfdec: Consider OPAtom files that do not have exactly one EC to be OP1a
  mxfdec: Don't crash in mxf_packet_timestamps() if current_edit_unit overflows
  mxfdec: Zero nb_ptses in mxf_compute_ptses_fake_index()
  mxfdec: Sanity check PreviousPartition
  mxfdec: Never seek back in local sets and KLVs
  mxfdec: Move the current_partition check inside mxf_read_header()
  mxfdec: Fix infinite loop in mxf_packet_timestamps()
  mxfdec: Check eof_reached in mxf_read_local_tags()
  mxfdec: Check for NULL component
  mxfdec: Make sure mxf->nb_index_tables > 0 in mxf_packet_timestamps()
  mxfdec: Make sure x < index_table->nb_ptses
  build: Add missing directories to DIRS declarations.
  ...

Conflicts:
	doc/build_system.txt
	doc/fate.texi
	libavfilter/x86/yadif_template.c
	libavformat/mxfdec.c
	libavutil/Makefile
	tests/fate/audio.mak
	tests/fate/prores.mak
	tests/fate/screen.mak
	tests/fate/video.mak
	tests/ref/fate/bethsoft-vid
	tests/ref/fate/cscd
	tests/ref/fate/dfa4
	tests/ref/fate/nuv
	tests/ref/fate/vp8-sign-bias
	tests/ref/fate/wmv8-drm
	tests/ref/lavf/gxf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-10 01:20:07 +01:00
Carl Eugen Hoyos
ea4037162f Fix libstagefright compilation
Comment-by-michael: iam commiting this as the code cannot work without it and likely works with it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 23:55:33 +01:00
Carl Eugen Hoyos
3b25d6193c Fix fate tests after 5c2c6bbf. 2012-02-09 23:56:47 +01:00
Carl Eugen Hoyos
52719dae8a Support encoding BGR24 and BGR0 in ljpeg. 2012-02-09 23:26:28 +01:00
Carl Eugen Hoyos
edf34c346e Allow encoding rawvideo RGBA64 and friends. 2012-02-09 23:25:46 +01:00
Carl Eugen Hoyos
5c2c6bbfba Allow encoding rawvideo RGB0 and friends. 2012-02-09 23:20:48 +01:00
Janne Grunau
c57fe49da8 eac3dec: replace undefined 1<<31 with INT32_MIN in noise generation 2012-02-09 21:28:37 +01:00
Janne Grunau
456d3e4fb5 yadif: specify array size outside DECLARE_ALIGNED 2012-02-09 21:28:37 +01:00
Ronald S. Bultje
73e15e8e6b prores: specify array size outside DECLARE_ALIGNED brackets. 2012-02-09 11:07:12 -08:00
Paul B Mahol
0f3d8baef9 WavPack demuxer: set packet duration
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-09 13:13:04 -05:00
Michael Niedermayer
dd7198b25f lavf: put av_new_stream() compatibility wrapper back
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 19:03:32 +01:00
Michael Niedermayer
491d8353e8 mpeg12dec: print the value that is being ignored in load_matrix()
error message by Reimar

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 19:03:32 +01:00
Michael Niedermayer
8a07429318 lavf: put av_find_stream_info() compatibility wrapper back.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 19:03:32 +01:00
Michael Niedermayer
f480fcb1f9 bink: fix pointer type warnings.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 19:03:32 +01:00
Michael Niedermayer
677911ad81 ffmpeg: better dox for *pts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 19:03:31 +01:00
Stefano Sabatini
c28e7af70d lavu: add timestamp.h header with convenience timestamp utilities 2012-02-09 18:37:58 +01:00
Laurent
71d6b46849 configure: fix gcc asm tests for MinGW GCC 4.6.2
Thanks to stackoverflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 17:49:22 +01:00
Paul B Mahol
9aff2d1753 tta: use skip_bits_long()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-09 17:10:26 +01:00
Tomas Härdin
e24167aae6 mxfdec: Ignore the last entry in Avid's index table segments
The last entry is the total size of the essence container.
Previously a TemporalOffset error would be logged, even though
segments like these are expected.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 13:26:02 +01:00
Tomas Härdin
d6b81ff949 mxfdec: Sanity-check SampleRate
This avoids a SIGFPE if SampleRate is missing or set to naughty values.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 13:00:05 +01:00
Tomas Härdin
c65642d351 mxfdec: Handle small EditUnitByteCount
These are common with audio atoms. Without this the demuxer would read two
bytes at a time for a mono 16-bit file.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:59:41 +01:00
Tomas Härdin
240ddbce56 mxfdec: Consider OPAtom files that do not have exactly one EC to be OP1a
This fixes demuxing of 2011_DCPTEST_24FPS.V.mxf.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:55:44 +01:00
Tomas Härdin
9123950be0 mxfdec: Don't crash in mxf_packet_timestamps() if current_edit_unit overflows
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:54:14 +01:00
Tomas Härdin
d00257e96a mxfdec: Zero nb_ptses in mxf_compute_ptses_fake_index()
This fixes SIGSEGV on files with both CBR and VBR index segments (zzuf6.mxf).

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:54:13 +01:00
Tomas Härdin
df2a85085e mxfdec: Sanity check PreviousPartition
Without this certain files could get the demuxer stuck in a loop.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:54:05 +01:00
Tomas Härdin
11800c8c89 mxfdec: Never seek back in local sets and KLVs
Specially crafted files can lead the parsing code to take too long.
We fix a lot of these problems by not allowing local tags to extend
past the end of the set and not allowing other KLVs to be read past
the end of themselves.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:46:12 +01:00
Tomas Härdin
687e2fdebd mxfdec: Move the current_partition check inside mxf_read_header()
This fixes SIGSEGV on files where this is the case, such as zzuf4.mxf.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:43:47 +01:00
Tomas Härdin
e352c96c17 mxfdec: Fix infinite loop in mxf_packet_timestamps()
This can happen if an index table segment has a very large IndexStartPosition.
zzuf3.mxf is an example of such a file.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:42:59 +01:00
Tomas Härdin
0373ec635d mxfdec: Check eof_reached in mxf_read_local_tags()
This fixes an infinite loop with zzuf2.mxf.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:41:50 +01:00
Tomas Härdin
effe3b9575 mxfdec: Check for NULL component
This fixes a SIGSEGV with zzuf1.mxf.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:41:50 +01:00
Tomas Härdin
29fc8f50cd mxfdec: Make sure mxf->nb_index_tables > 0 in mxf_packet_timestamps()
Only the OPAtom demuxing logic is guaranteed to have index tables,
meaning OP1a files that lack an index would cause SIGSEGV.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 12:41:42 +01:00