ffmpeg.git
7 years agoffmpeg: move video stats code to do_video_out().
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().

7 years agoffmpeg: move filtered_frame to video stream processing scope.
Clément Bœsch [Tue, 7 Feb 2012 10:49:53 +0000 (11:49 +0100)]
ffmpeg: move filtered_frame to video stream processing scope.

7 years agoffmpeg: reindent after video frame polling simplification.
Clément Bœsch [Tue, 7 Feb 2012 10:51:06 +0000 (11:51 +0100)]
ffmpeg: reindent after video frame polling simplification.

7 years agoffmpeg: simplify video frame polling.
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().

7 years agoffmpeg: use exit_program() if configure_video_filters() fails.
Clément Bœsch [Tue, 7 Feb 2012 10:38:03 +0000 (11:38 +0100)]
ffmpeg: use exit_program() if configure_video_filters() fails.

7 years agoAdd missing newline to mpeg1/2 intra matrix error message.
Carl Eugen Hoyos [Fri, 10 Feb 2012 16:50:50 +0000 (17:50 +0100)]
Add missing newline to mpeg1/2 intra matrix error message.

7 years agoAdd missing swscale dependency for MP-filters.
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.

7 years agoAdd missing swresample dependency for ffplay.
Hanspeter Niederstrasser [Fri, 10 Feb 2012 16:33:39 +0000 (17:33 +0100)]
Add missing swresample dependency for ffplay.

Fixes part of ticket #989.

7 years agosunrast: Remove the useless check.
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>
7 years agoffmpeg: Add threshold to discard crazy/damaged timestamps.
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>
7 years agolavf: Rewrite metadata printing from dump_metadata().
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>
7 years agoMerge remote-tracking branch 'qatar/master'
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>
7 years agoFix libstagefright compilation
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>
7 years agoFix fate tests after 5c2c6bbf.
Carl Eugen Hoyos [Thu, 9 Feb 2012 22:56:47 +0000 (23:56 +0100)]
Fix fate tests after 5c2c6bbf.

7 years agoSupport encoding BGR24 and BGR0 in ljpeg.
Carl Eugen Hoyos [Thu, 9 Feb 2012 22:26:28 +0000 (23:26 +0100)]
Support encoding BGR24 and BGR0 in ljpeg.

7 years agoAllow encoding rawvideo RGBA64 and friends.
Carl Eugen Hoyos [Thu, 9 Feb 2012 22:25:46 +0000 (23:25 +0100)]
Allow encoding rawvideo RGBA64 and friends.

7 years agoAllow encoding rawvideo RGB0 and friends.
Carl Eugen Hoyos [Thu, 9 Feb 2012 22:20:48 +0000 (23:20 +0100)]
Allow encoding rawvideo RGB0 and friends.

7 years agoeac3dec: replace undefined 1<<31 with INT32_MIN in noise generation
Janne Grunau [Thu, 9 Feb 2012 19:46:08 +0000 (20:46 +0100)]
eac3dec: replace undefined 1<<31 with INT32_MIN in noise generation

7 years agoyadif: specify array size outside DECLARE_ALIGNED
Janne Grunau [Thu, 9 Feb 2012 19:27:12 +0000 (20:27 +0100)]
yadif: specify array size outside DECLARE_ALIGNED

7 years agoprores: specify array size outside DECLARE_ALIGNED brackets.
Ronald S. Bultje [Thu, 9 Feb 2012 19:00:01 +0000 (11:00 -0800)]
prores: specify array size outside DECLARE_ALIGNED brackets.

7 years agoWavPack demuxer: set packet duration
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>
7 years agolavf: put av_new_stream() compatibility wrapper back
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>
7 years agompeg12dec: print the value that is being ignored in load_matrix()
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>
7 years agolavf: put av_find_stream_info() compatibility wrapper back.
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>
7 years agobink: fix pointer type warnings.
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>
7 years agoffmpeg: better dox for *pts.
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>
7 years agolavu: add timestamp.h header with convenience timestamp utilities
Stefano Sabatini [Tue, 17 Jan 2012 16:12:42 +0000 (17:12 +0100)]
lavu: add timestamp.h header with convenience timestamp utilities

7 years agoconfigure: fix gcc asm tests for MinGW GCC 4.6.2
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>
7 years agotta: use skip_bits_long()
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>
7 years agomxfdec: Ignore the last entry in Avid's index table segments
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>
7 years agomxfdec: Sanity-check SampleRate
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>
7 years agomxfdec: Handle small EditUnitByteCount
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>
7 years agomxfdec: Consider OPAtom files that do not have exactly one EC to be OP1a
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>
7 years agomxfdec: Don't crash in mxf_packet_timestamps() if current_edit_unit overflows
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>
7 years agomxfdec: Zero nb_ptses in mxf_compute_ptses_fake_index()
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>
7 years agomxfdec: Sanity check PreviousPartition
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>
7 years agomxfdec: Never seek back in local sets and KLVs
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>
7 years agomxfdec: Move the current_partition check inside mxf_read_header()
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>
7 years agomxfdec: Fix infinite loop in mxf_packet_timestamps()
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>
7 years agomxfdec: Check eof_reached in mxf_read_local_tags()
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>
7 years agomxfdec: Check for NULL component
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>
7 years agomxfdec: Make sure mxf->nb_index_tables > 0 in mxf_packet_timestamps()
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>
7 years agomxfdec: Make sure x < index_table->nb_ptses
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>
7 years agobuild: Add missing directories to DIRS declarations.
Diego Biurrun [Wed, 8 Feb 2012 10:02:10 +0000 (11:02 +0100)]
build: Add missing directories to DIRS declarations.

7 years agoarm: Add missing #include to vp8.h to fix a make checkheaders warning.
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.

7 years agoswscale: ppc: Add missing header #includes to pass 'make checkheaders'.
Diego Biurrun [Wed, 8 Feb 2012 10:01:41 +0000 (11:01 +0100)]
swscale: ppc: Add missing header #includes to pass 'make checkheaders'.

7 years agocosmetics: Delete empty lines at end of file.
Diego Biurrun [Wed, 8 Feb 2012 09:39:18 +0000 (10:39 +0100)]
cosmetics: Delete empty lines at end of file.

7 years agobytestream: K&R formatting cosmetics
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>
7 years agoapetag: fix comment
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>
7 years agoMerge remote-tracking branch 'qatar/master'
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>
7 years agoffmpeg: change sync_opts code to be more similar to qatar.
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>
7 years agoRevert "vf_fspp: use LOCAL_MANGLE instead of MANGLE."
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.

7 years agorawenc: switch to encode2().
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.

7 years agopixdesc: mark pseudopaletted formats with a special flag.
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().

7 years agoavconv: switch to avcodec_encode_video2().
Anton Khirnov [Wed, 1 Feb 2012 09:51:36 +0000 (10:51 +0100)]
avconv: switch to avcodec_encode_video2().

7 years agolibx264: implement encode2().
Anton Khirnov [Mon, 6 Feb 2012 06:39:23 +0000 (07:39 +0100)]
libx264: implement encode2().

7 years agolibx264: split extradata writing out of encode_nals().
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.

7 years agolavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket
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().

7 years agolagarith: refactor code
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>
7 years agovf_fspp: use LOCAL_MANGLE instead of MANGLE.
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.

7 years agocmdutils: update copyright year to 2012.
Ronald S. Bultje [Wed, 8 Feb 2012 18:16:41 +0000 (10:16 -0800)]
cmdutils: update copyright year to 2012.

7 years agoswscale: sign-extend integer function argument to qword on x86-64.
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.

7 years agox86inc: support yasm -f win64 flag also.
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>
7 years agoh264: manually save/restore XMM registers for functions using INIT_MMX.
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.

7 years agox86inc: allow manual use of WIN64_SPILL_XMM.
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>
7 years agoaacdec: Use correct speaker order for 7.1.
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

7 years agoaacdec: Remove incorrect comment.
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.

7 years agoaacdec: Simplify output configuration.
Alex Converse [Tue, 31 Jan 2012 23:49:06 +0000 (15:49 -0800)]
aacdec: Simplify output configuration.

7 years agoffmpeg: update (next_)pts in the stream copy case
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>
7 years agoffmpeg: use ist->dts in rate_emu_sleep()
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>
7 years agoffmpeg: use ist->dts in do_streamcopy()
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>
7 years agoffmpeg: remove setting fb->pts.
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>
7 years agoffmpeg: reduce overloading for InputStream.pts.
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>
7 years agoffmpeg: update dts variables in transcode_audio()
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>
7 years agoffmpeg: move next_dts/pts update out of transcode_video()
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>
7 years agoffmpeg: update ist->pts in transcode_audio with the audio decoders output.
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>
7 years agoffmpeg: print more details and rescaled timestamps in debug code.
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>
7 years agoffmpeg: use (next_)dts in timestamp discontinuity detection code.
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>
7 years agoRemove Sun medialib glue code.
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.

7 years agoffmpeg: Use the correct (dts) variables for stream copy.
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>
7 years agoffmpeg: Fix (next)_dts/pts init.
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>
7 years agoffmpeg: use ist->dts instead of passing an argument into transcode_video().
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>
7 years agoffmpeg: Init dts variables in output_packet()
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>
7 years agoffmpeg: add (next_dts/dts) variables.
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>
7 years agoMerge remote-tracking branch 'qatar/master'
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>
7 years agodsputil: set STRIDE_ALIGN to 16 for x86 also.
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.

7 years agopngdsp: swap argument inversion.
Ronald S. Bultje [Tue, 7 Feb 2012 20:51:21 +0000 (12:51 -0800)]
pngdsp: swap argument inversion.

7 years agoSet default qmax for VC-3/DNxHD to 1024 (maximum allowed by VC-3 spec).
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>
7 years agoswscale: make yuv2yuv1 use named registers.
Ronald S. Bultje [Sat, 4 Feb 2012 09:00:27 +0000 (10:00 +0100)]
swscale: make yuv2yuv1 use named registers.

7 years agoh264: mark h264_idct_add8_10 with number of XMM 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>
7 years agoswscale: fix V plane memory location in bilinear/unscaled RGB/YUYV case.
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
7 years agovp8: always update next_framep[] before returning from decode_frame().
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
7 years agoavconv: estimate next_dts from framerate if it is set.
Anton Khirnov [Thu, 2 Feb 2012 12:18:49 +0000 (13:18 +0100)]
avconv: estimate next_dts from framerate if it is set.

7 years agoavconv: better next_dts usage.
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.

7 years agoavconv: rename InputStream.pts to last_dts.
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.

7 years agoavconv: reduce overloading for InputStream.pts.
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.

7 years agoavconv: rename InputStream.next_pts to next_dts.
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.

7 years agoavconv: rework -t handling for encoding.
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.

7 years agoavconv: set encoder timebase for subtitles.
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.

7 years agopva-demux test: add -vn
Anton Khirnov [Sun, 5 Feb 2012 11:18:14 +0000 (12:18 +0100)]
pva-demux test: add -vn

The output is obviously not supposed to contain video (since only
-acodec copy is specified), but that only happens because of the way -t
handling is implemented currently.