OSDN Git Service
Clément Bœsch [Wed, 8 Feb 2012 16:09:04 +0000 (17:09 +0100)]
ffmpeg: move do_video_stats() above do_video_out().
This avoid a forward declaration.
Clément Bœsch [Tue, 7 Feb 2012 12:22:20 +0000 (13:22 +0100)]
ffmpeg: move video stats code to do_video_out().
This will allow some simplifications in transcode_video().
Clément Bœsch [Tue, 7 Feb 2012 10:49:53 +0000 (11:49 +0100)]
ffmpeg: move filtered_frame to video stream processing scope.
Clément Bœsch [Tue, 7 Feb 2012 10:51:06 +0000 (11:51 +0100)]
ffmpeg: reindent after video frame polling simplification.
Clément Bœsch [Tue, 7 Feb 2012 10:42:59 +0000 (11:42 +0100)]
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().
Clément Bœsch [Tue, 7 Feb 2012 10:38:03 +0000 (11:38 +0100)]
ffmpeg: use exit_program() if configure_video_filters() fails.
Carl Eugen Hoyos [Fri, 10 Feb 2012 16:50:50 +0000 (17:50 +0100)]
Add missing newline to mpeg1/2 intra matrix error message.
Carl Eugen Hoyos [Fri, 10 Feb 2012 16:39:36 +0000 (17:39 +0100)]
Add missing swscale dependency for MP-filters.
Reported-by: Hanspeter Niederstrasser
Fixes ticket #989.
Hanspeter Niederstrasser [Fri, 10 Feb 2012 16:33:39 +0000 (17:33 +0100)]
Add missing swresample dependency for ffplay.
Fixes part of ticket #989.
Aneesh Dogra [Fri, 10 Feb 2012 06:08:07 +0000 (11:38 +0530)]
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>
Michael Niedermayer [Tue, 7 Feb 2012 22:43:10 +0000 (23:43 +0100)]
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>
Michael Niedermayer [Fri, 10 Feb 2012 01:39:14 +0000 (02:39 +0100)]
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>
Michael Niedermayer [Thu, 9 Feb 2012 23:38:13 +0000 (00:38 +0100)]
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>
Carl Eugen Hoyos [Tue, 7 Feb 2012 09:54:49 +0000 (10:54 +0100)]
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>
Carl Eugen Hoyos [Thu, 9 Feb 2012 22:56:47 +0000 (23:56 +0100)]
Fix fate tests after
5c2c6bbf.
Carl Eugen Hoyos [Thu, 9 Feb 2012 22:26:28 +0000 (23:26 +0100)]
Support encoding BGR24 and BGR0 in ljpeg.
Carl Eugen Hoyos [Thu, 9 Feb 2012 22:25:46 +0000 (23:25 +0100)]
Allow encoding rawvideo RGBA64 and friends.
Carl Eugen Hoyos [Thu, 9 Feb 2012 22:20:48 +0000 (23:20 +0100)]
Allow encoding rawvideo RGB0 and friends.
Janne Grunau [Thu, 9 Feb 2012 19:46:08 +0000 (20:46 +0100)]
eac3dec: replace undefined 1<<31 with INT32_MIN in noise generation
Janne Grunau [Thu, 9 Feb 2012 19:27:12 +0000 (20:27 +0100)]
yadif: specify array size outside DECLARE_ALIGNED
Ronald S. Bultje [Thu, 9 Feb 2012 19:00:01 +0000 (11:00 -0800)]
prores: specify array size outside DECLARE_ALIGNED brackets.
Paul B Mahol [Wed, 8 Feb 2012 22:17:54 +0000 (22:17 +0000)]
WavPack demuxer: set packet duration
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Michael Niedermayer [Mon, 6 Feb 2012 16:21:46 +0000 (17:21 +0100)]
lavf: put av_new_stream() compatibility wrapper back
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 6 Feb 2012 16:30:29 +0000 (17:30 +0100)]
mpeg12dec: print the value that is being ignored in load_matrix()
error message by Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 6 Feb 2012 16:26:38 +0000 (17:26 +0100)]
lavf: put av_find_stream_info() compatibility wrapper back.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 6 Feb 2012 18:26:58 +0000 (19:26 +0100)]
bink: fix pointer type warnings.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 18:17:03 +0000 (19:17 +0100)]
ffmpeg: better dox for *pts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Stefano Sabatini [Tue, 17 Jan 2012 16:12:42 +0000 (17:12 +0100)]
lavu: add timestamp.h header with convenience timestamp utilities
Laurent [Thu, 9 Feb 2012 16:49:22 +0000 (17:49 +0100)]
configure: fix gcc asm tests for MinGW GCC 4.6.2
Thanks to stackoverflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Paul B Mahol [Sun, 5 Feb 2012 19:39:13 +0000 (19:39 +0000)]
tta: use skip_bits_long()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tomas Härdin [Thu, 26 Jan 2012 12:21:30 +0000 (13:21 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 13:12:50 +0000 (14:12 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 12:21:44 +0000 (13:21 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 12:21:43 +0000 (13:21 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 12:21:41 +0000 (13:21 +0100)]
mxfdec: Don't crash in mxf_packet_timestamps() if current_edit_unit overflows
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Tomas Härdin [Thu, 26 Jan 2012 12:21:40 +0000 (13:21 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 12:21:39 +0000 (13:21 +0100)]
mxfdec: Sanity check PreviousPartition
Without this certain files could get the demuxer stuck in a loop.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Tomas Härdin [Thu, 26 Jan 2012 12:21:38 +0000 (13:21 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 12:21:37 +0000 (13:21 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 12:21:36 +0000 (13:21 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 12:21:35 +0000 (13:21 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 12:21:34 +0000 (13:21 +0100)]
mxfdec: Check for NULL component
This fixes a SIGSEGV with zzuf1.mxf.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Tomas Härdin [Thu, 26 Jan 2012 12:21:32 +0000 (13:21 +0100)]
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>
Tomas Härdin [Thu, 26 Jan 2012 12:21:31 +0000 (13:21 +0100)]
mxfdec: Make sure x < index_table->nb_ptses
Avoids a SIGSEGV on files with IndexEntryCount < IndexDuration.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Wed, 8 Feb 2012 10:02:10 +0000 (11:02 +0100)]
build: Add missing directories to DIRS declarations.
Diego Biurrun [Wed, 8 Feb 2012 12:18:22 +0000 (13:18 +0100)]
arm: Add missing #include to vp8.h to fix a make checkheaders warning.
Diego Biurrun [Wed, 8 Feb 2012 10:01:41 +0000 (11:01 +0100)]
swscale: ppc: Add missing header #includes to pass 'make checkheaders'.
Diego Biurrun [Wed, 8 Feb 2012 09:39:18 +0000 (10:39 +0100)]
cosmetics: Delete empty lines at end of file.
Aneesh Dogra [Wed, 8 Feb 2012 18:07:20 +0000 (23:37 +0530)]
bytestream: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Paul B Mahol [Thu, 9 Feb 2012 00:00:29 +0000 (00:00 +0000)]
apetag: fix comment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Michael Niedermayer [Wed, 8 Feb 2012 23:44:20 +0000 (00:44 +0100)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
pixdesc: mark pseudopaletted formats with a special flag.
avconv: switch to avcodec_encode_video2().
libx264: implement encode2().
libx264: split extradata writing out of encode_nals().
lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket
cmdutils: update copyright year to 2012.
swscale: sign-extend integer function argument to qword on x86-64.
x86inc: support yasm -f win64 flag also.
h264: manually save/restore XMM registers for functions using INIT_MMX.
x86inc: allow manual use of WIN64_SPILL_XMM.
aacdec: Use correct speaker order for 7.1.
aacdec: Remove incorrect comment.
aacdec: Simplify output configuration.
Remove Sun medialib glue code.
dsputil: set STRIDE_ALIGN to 16 for x86 also.
pngdsp: swap argument inversion.
Conflicts:
cmdutils.c
configure
doc/APIchanges
ffmpeg.c
libavcodec/aacdec.c
libavcodec/dsputil.h
libavcodec/libx264.c
libavcodec/mlib/dsputil_mlib.c
libavcodec/utils.c
libavfilter/vf_scale.c
libavutil/avutil.h
libswscale/mlib/yuv2rgb_mlib.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 22:14:28 +0000 (23:14 +0100)]
ffmpeg: change sync_opts code to be more similar to qatar.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Clément Bœsch [Wed, 8 Feb 2012 22:16:32 +0000 (23:16 +0100)]
Revert "vf_fspp: use LOCAL_MANGLE instead of MANGLE."
This reverts commit
1aa8f5fcfba6701eb0181ea07c070d09ab0f4efd. It broke
the other x86_32 fate instances.
Anton Khirnov [Wed, 1 Feb 2012 14:33:51 +0000 (15:33 +0100)]
rawenc: switch to encode2().
This changes a number of FATE results, since before this commit, the
timestamps in all tests using rawenc were made up by lavf.
In most cases, the previous timestamps were completely bogus.
In some other cases -- raw formats, mostly h264 -- the new timestamps
are bogus as well. The only difference is that timestamps invented by
the muxer are replaced by timestamps invented by the demuxer.
cscd -- avconv sets output codec timebase from r_frame_rate
and r_frame_rate is in this case some guessed number 31.42 (377/12),
which is not accurate enough to represent all timestamps. This results
in some frames having duplicate pts. Therefore, vsync 0 needs to be
changed to vsync 2 and avconv drops two frames. A proper fix in the
future would be to set output timebase to something saner in avconv.
nuv -- previous timestamps for video were wrong AND the cscd
comment applies, one frame is dropped.
vp8-signbias -- the file contains two frames with identical timestamps,
so -vsync 0 needs to be removed/changed to -vsync 2 and avconv drops one
frame.
vc1-ism -- apparrently either the demuxer lies about timestamps or the
file is broken, since dts == pts on all packets, but reordering clearly
takes place.
Anton Khirnov [Wed, 1 Feb 2012 14:32:21 +0000 (15:32 +0100)]
pixdesc: mark pseudopaletted formats with a special flag.
This makes it possible to dintinguish them from PAL8.
Fixes an invalid write in avpicture_layout().
Anton Khirnov [Wed, 1 Feb 2012 09:51:36 +0000 (10:51 +0100)]
avconv: switch to avcodec_encode_video2().
Anton Khirnov [Mon, 6 Feb 2012 06:39:23 +0000 (07:39 +0100)]
libx264: implement encode2().
Anton Khirnov [Mon, 6 Feb 2012 06:34:57 +0000 (07:34 +0100)]
libx264: split extradata writing out of encode_nals().
This is done in preparation for the following patch.
Anton Khirnov [Wed, 1 Feb 2012 08:54:38 +0000 (09:54 +0100)]
lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket
Deprecate avcodec_encode_video().
Paul B Mahol [Wed, 8 Feb 2012 17:35:47 +0000 (17:35 +0000)]
lagarith: refactor code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Clément Bœsch [Mon, 6 Feb 2012 18:19:00 +0000 (19:19 +0100)]
vf_fspp: use LOCAL_MANGLE instead of MANGLE.
The symbols are locals, thus the EXTERN_PREFIX should be omitted. This
might fix the llvm-gcc fate instance.
Ronald S. Bultje [Wed, 8 Feb 2012 18:16:41 +0000 (10:16 -0800)]
cmdutils: update copyright year to 2012.
Ronald S. Bultje [Sat, 4 Feb 2012 09:27:45 +0000 (10:27 +0100)]
swscale: sign-extend integer function argument to qword on x86-64.
Haruhiko Yamagata [Tue, 7 Feb 2012 20:27:33 +0000 (12:27 -0800)]
x86inc: support yasm -f win64 flag also.
This sets __OUTPUT_FORMAT__ to win64 instead of win32, even though both
(through -m amd64) produce 64-bit binary code.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Ronald S. Bultje [Tue, 7 Feb 2012 20:46:59 +0000 (12:46 -0800)]
h264: manually save/restore XMM registers for functions using INIT_MMX.
On Win64, these registers are callee-save, so not saving/restoring them
correctly is a violation of ABI and can lead to crashes or corrupt data.
Henrik Gramner [Sat, 4 Feb 2012 08:28:46 +0000 (00:28 -0800)]
x86inc: allow manual use of WIN64_SPILL_XMM.
Functions using INIT_MMX may still access XMM registers through direct
means (xmm0-15). Therefore, they still need to be marked for clobber
so they can be properly saved/restored.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Alex Converse [Tue, 31 Jan 2012 22:25:35 +0000 (14:25 -0800)]
aacdec: Use correct speaker order for 7.1.
The spec says the following speaker mapping is default:
center front speaker
left, right center front speakers,
left, right outside front speakers,
left surround, right surround rear speakers,
front low frequency effects speaker
Alex Converse [Tue, 31 Jan 2012 23:49:45 +0000 (15:49 -0800)]
aacdec: Remove incorrect comment.
It was only correct when element ids met very specific criteria.
Alex Converse [Tue, 31 Jan 2012 23:49:06 +0000 (15:49 -0800)]
aacdec: Simplify output configuration.
Michael Niedermayer [Wed, 8 Feb 2012 16:26:06 +0000 (17:26 +0100)]
ffmpeg: update (next_)pts in the stream copy case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 16:25:40 +0000 (17:25 +0100)]
ffmpeg: use ist->dts in rate_emu_sleep()
Based on change by Anton Khirnov.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 16:25:01 +0000 (17:25 +0100)]
ffmpeg: use ist->dts in do_streamcopy()
Based on change by Anton Khirnov.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Anton Khirnov [Wed, 8 Feb 2012 15:59:16 +0000 (16:59 +0100)]
ffmpeg: remove setting fb->pts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Anton Khirnov [Sun, 5 Feb 2012 19:56:24 +0000 (20:56 +0100)]
ffmpeg: reduce overloading for InputStream.pts.
It currently has different meanings at different times (dts of the last
read packet/pts of the last decoded frame). Reduce obfuscation by
storing pts of the decoded frame in the frame itself.
Conflicts:
ffmpeg.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 15:28:56 +0000 (16:28 +0100)]
ffmpeg: update dts variables in transcode_audio()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 15:16:42 +0000 (16:16 +0100)]
ffmpeg: move next_dts/pts update out of transcode_video()
this makes it placed similar to qatar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 15:15:47 +0000 (16:15 +0100)]
ffmpeg: update ist->pts in transcode_audio with the audio decoders output.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 14:49:21 +0000 (15:49 +0100)]
ffmpeg: print more details and rescaled timestamps in debug code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 07:21:58 +0000 (08:21 +0100)]
ffmpeg: use (next_)dts in timestamp discontinuity detection code.
Strongly based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diego Biurrun [Wed, 1 Feb 2012 13:43:06 +0000 (14:43 +0100)]
Remove Sun medialib glue code.
It is obscure, most likely unused and not bit-exact compared to
libavcodec due to a different IDCT transform algorithm.
Michael Niedermayer [Wed, 8 Feb 2012 06:56:53 +0000 (07:56 +0100)]
ffmpeg: Use the correct (dts) variables for stream copy.
Strongly based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 06:56:17 +0000 (07:56 +0100)]
ffmpeg: Fix (next)_dts/pts init.
Based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 05:31:06 +0000 (06:31 +0100)]
ffmpeg: use ist->dts instead of passing an argument into transcode_video().
This makes the code more similar to qatar
And fixes decoding of the last frame of fate/vc1-ism
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 05:19:43 +0000 (06:19 +0100)]
ffmpeg: Init dts variables in output_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 05:13:44 +0000 (06:13 +0100)]
ffmpeg: add (next_dts/dts) variables.
Strongly based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Wed, 8 Feb 2012 01:59:09 +0000 (02:59 +0100)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
swscale: make yuv2yuv1 use named registers.
h264: mark h264_idct_add8_10 with number of XMM registers.
swscale: fix V plane memory location in bilinear/unscaled RGB/YUYV case.
vp8: always update next_framep[] before returning from decode_frame().
avconv: estimate next_dts from framerate if it is set.
avconv: better next_dts usage.
avconv: rename InputStream.pts to last_dts.
avconv: reduce overloading for InputStream.pts.
avconv: rename InputStream.next_pts to next_dts.
avconv: rework -t handling for encoding.
avconv: set encoder timebase for subtitles.
pva-demux test: add -vn
swscale: K&R formatting cosmetics for SPARC code
apedec: allow the user to set the maximum number of output samples per call
apedec: do not unnecessarily zero output samples for mono frames
apedec: allocate a single flat buffer for decoded samples
apedec: use sizeof(field) instead of sizeof(type)
swscale: split C output functions into separate file.
swscale: Split C input functions into separate file.
bytestream: Add bytestream2 writing API.
The avconv changes are due to massive regressions and bugs not merged yet.
Conflicts:
ffmpeg.c
libavcodec/vp8.c
libswscale/swscale.c
libswscale/x86/swscale_template.c
tests/fate/demux.mak
tests/ref/lavf/asf
tests/ref/lavf/avi
tests/ref/lavf/mkv
tests/ref/lavf/mpg
tests/ref/lavf/nut
tests/ref/lavf/ogg
tests/ref/lavf/rm
tests/ref/lavf/ts
tests/ref/seek/lavf_avi
tests/ref/seek/lavf_mkv
tests/ref/seek/lavf_rm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Ronald S. Bultje [Tue, 7 Feb 2012 22:54:46 +0000 (14:54 -0800)]
dsputil: set STRIDE_ALIGN to 16 for x86 also.
This fixes crashes in e.g. PNG decoding with SSE2 enabled. In fact, many
x86 optimizations for codecs assume that our buffer strides are 16-byte
aligned.
Ronald S. Bultje [Tue, 7 Feb 2012 20:51:21 +0000 (12:51 -0800)]
pngdsp: swap argument inversion.
Joseph Artsimovich [Tue, 7 Feb 2012 15:47:23 +0000 (15:47 +0000)]
Set default qmax for VC-3/DNxHD to 1024 (maximum allowed by VC-3 spec).
Also increase the global limit on qmax.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Ronald S. Bultje [Sat, 4 Feb 2012 09:00:27 +0000 (10:00 +0100)]
swscale: make yuv2yuv1 use named registers.
Michael Kostylev [Sat, 4 Feb 2012 08:16:35 +0000 (00:16 -0800)]
h264: mark h264_idct_add8_10 with number of XMM registers.
This fixes XMM register clobber problems on Win64.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Ronald S. Bultje [Tue, 7 Feb 2012 19:33:20 +0000 (11:33 -0800)]
swscale: fix V plane memory location in bilinear/unscaled RGB/YUYV case.
Fixes bug 221.
CC: libav-stable@libav.org
Ronald S. Bultje [Tue, 31 Jan 2012 23:17:59 +0000 (15:17 -0800)]
vp8: always update next_framep[] before returning from decode_frame().
Also slightly move around code not allocate a new frame if we won't
decode it. This prevents us from putting undecoded frames in frame
pointers, which (in mt decoding) other threads will use and wait on
as references, causing a deadlock (if we skipped decoding) or a crash
(if we didn't initialized next_framep[] at all).
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Thu, 2 Feb 2012 12:18:49 +0000 (13:18 +0100)]
avconv: estimate next_dts from framerate if it is set.
Anton Khirnov [Thu, 2 Feb 2012 11:21:37 +0000 (12:21 +0100)]
avconv: better next_dts usage.
next_dts is used for estimating the dts of the next packet if it's
missing. Therefore, it makes no sense to set it from the pts of the last
decoded frame. Also it should be estimated from the current packet
duration/ticks_per_frame always, not only when a frame was successfully
decoded.
Anton Khirnov [Sun, 5 Feb 2012 20:12:43 +0000 (21:12 +0100)]
avconv: rename InputStream.pts to last_dts.
It more accurately describes what does this variable store.
Anton Khirnov [Sun, 5 Feb 2012 19:56:24 +0000 (20:56 +0100)]
avconv: reduce overloading for InputStream.pts.
It currently has different meanings at different times (dts of the last
read packet/pts of the last decoded frame). Reduce obfuscation by
storing pts of the decoded frame in the frame itself.
Anton Khirnov [Fri, 3 Feb 2012 14:32:51 +0000 (15:32 +0100)]
avconv: rename InputStream.next_pts to next_dts.
It's used to predict dts, not pts.
Anton Khirnov [Sun, 5 Feb 2012 13:32:10 +0000 (14:32 +0100)]
avconv: rework -t handling for encoding.
Current code compares the desired recording time with InputStream.pts,
which has a very unclear meaning. Change the code to use actual
timestamps of the frames passed to the encoder.
In several tests, one less frame is encoded, which is more correct.
In the idroq test one more frame is encoded, which is again more
correct.
Behavior with stream copy should be unchanged.
Anton Khirnov [Sun, 5 Feb 2012 13:28:19 +0000 (14:28 +0100)]
avconv: set encoder timebase for subtitles.
The actual number (1/1000) will probably require some
discussion/tweaking in the future, but should be good enough for now,
since the timestamps in AVSubtitle are in this timebase by definition.