1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

45857 Commits

Author SHA1 Message Date
Michael Niedermayer
22793d7bb3 ffmpeg/lavc: move experimental warnings to libavcodec.
This way they are available to all applications and not just ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 17:58:33 +02:00
Michael Niedermayer
f9cf14c8da Merge remote-tracking branch 'qatar/master'
* qatar/master:
  riff: remove a write-only variable
  lavc: extend frame_size doxy.
  alacdec: set bits_per_raw_sample

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 14:50:06 +02:00
Michael Niedermayer
e3a91c51f7 Merge commit 'c3e15f7b39aac2012f09ee4ca86d2bc674ffdbd4'
* commit 'c3e15f7b39aac2012f09ee4ca86d2bc674ffdbd4':
  rtpdec: Don't pass a non-AVClass pointer as log context
  rtsp: Update a comment to the current filename scheme
  avcodec: handle AVERROR_EXPERIMENTAL
  avutil: Add AVERROR_EXPERIMENTAL
  avcodec: prefer decoders without CODEC_CAP_EXPERIMENTAL

Conflicts:
	doc/APIchanges
	ffmpeg.c
	libavcodec/utils.c
	libavformat/rtpdec.c
	libavutil/error.c
	libavutil/error.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 14:39:12 +02:00
Michael Niedermayer
c3778df2d4 ffmpeg: fix negative array index
Fixes CID733808
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 13:58:19 +02:00
Michael Niedermayer
6182e0a6f6 vf_aspect: unbreak avoption system
This fixes ff* -h infinite looping

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 13:12:15 +02:00
Stefano Sabatini
6752aac6bc lavfi/aspect: add max option 2012-10-22 10:46:43 +02:00
Stefano Sabatini
ccd6def9b3 lavfi/aspect: extend syntax for the setdar and setsar filters
Add support for named options, and deprecate old "num:den" ambiguous
syntax.
2012-10-22 10:46:34 +02:00
Stefano Sabatini
b6e36a4244 lavu/parseutils: remove unused gcd variable in av_parse_ratio()
Fix warning.
2012-10-22 10:41:51 +02:00
Paul B Mahol
cb0add3ce9 lavf/flacenc: disallow creation of invalid files with -c copy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-22 08:07:09 +00:00
Anton Khirnov
6173a8fe5d riff: remove a write-only variable 2012-10-22 08:49:58 +02:00
Anton Khirnov
d6f4fe68c8 lavc: extend frame_size doxy. 2012-10-22 08:49:58 +02:00
Justin Ruggles
46a86c6194 alacdec: set bits_per_raw_sample 2012-10-21 23:54:51 -04:00
Martin Storsjö
c3e15f7b39 rtpdec: Don't pass a non-AVClass pointer as log context
The log context is assumed to start with an AVClass pointer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-22 01:46:33 +03:00
Martin Storsjö
e0d5ac6ae3 rtsp: Update a comment to the current filename scheme
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-22 01:46:10 +03:00
Michael Niedermayer
2d11ee4bfc fate: fix fate-filter-metadata-scenedetect
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 00:07:53 +02:00
Michael Niedermayer
39747d87d0 avfilter_graph_parse: add support for parsing sws_flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 00:07:35 +02:00
Michael Niedermayer
248b1ff26b Fix various uses of av_log_missing_feature()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 23:13:53 +02:00
Nathan Caldwell
c854102da7 avcodec: handle AVERROR_EXPERIMENTAL
Error out on init if a codec with CODEC_CAP_EXPERIMENTAL is requested
and strict_std_compliance is not FF_COMPLIANCE_EXPERIMENTAL.

Move the check from avconv to avcodec_open2() and return
AVERROR_EXPERIMENTAL accordingly.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-21 23:03:26 +02:00
Nathan Caldwell
a893655bda avutil: Add AVERROR_EXPERIMENTAL
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-21 22:38:21 +02:00
Nathan Caldwell
a4aa20fbdb avcodec: prefer decoders without CODEC_CAP_EXPERIMENTAL
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-21 22:27:58 +02:00
Stefano Sabatini
8f37a1e8dc lavfi/avfiltergraph: avoid to print "(null)" in the scale args
Fix parsing.
2012-10-21 21:44:53 +02:00
Stefano Sabatini
2969abd908 lavfi/graphparser: fix parsing error in case of NULL sws_opts addition
If sws_opts was NULL it was resulting in the args being set to
"W:H:(null)", which with the new parsing code was generating a syntax
failure.
2012-10-21 21:44:45 +02:00
Stefano Sabatini
8c2dbc3805 lavc/utils: provide more feedback in case of experimental codec 2012-10-21 21:11:02 +02:00
Michael Niedermayer
5713091818 mpegaudiodec: Fix buffer handling on random access
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 20:59:08 +02:00
Clément Bœsch
e168165489 doc/muxers: document mov faststart option. 2012-10-21 20:23:09 +02:00
Clément Bœsch
c0d56bf8a4 fate: fix filter metadata dependency to ffprobe. 2012-10-21 20:10:37 +02:00
Carl Eugen Hoyos
fa190b3cd7 Improve MPEG-PS-in-MOV detection.
Fixes issue 1520.
2012-10-21 19:30:43 +02:00
Michael Niedermayer
747a00b688 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: if there is no audio stream, use external clock by default
  ffplay: use get_master_sync_type where necessary
  ffplay: add get_master_sync_type function
  ffplay: only check external clock if current frame serial matches the displayed frame serial
  ffplay: add serial field to PacketQueue entry and populate it
  ffplay: fix external time sync mode
  ffplay: initialize audio and video pts drift
  ffplay: fix nosync threshold check in synchronize_audio
  ffplay: use framedrop by default when sync is not done to video

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:56:58 +02:00
Marton Balint
d6e9566949 h264: add support for AFD detection
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Kieran Kunhya <kierank@ob-encoder.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:22:50 +02:00
Michael Niedermayer
40ceb6d49f libavformat/oggenc: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
c2c066784f libavformat/mxfenc: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
b8a64d69a9 libavformat/mpegvideodec: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
fefe9bd782 libavformat/movenc: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
217193facd bavformat/mov: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
f72b735d41 libavcodec/vorbisenc: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:22 +02:00
Michael Niedermayer
4ce9312d76 libavcodec/cook: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:22 +02:00
Michael Niedermayer
38797dc31b compat/getopt: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:22 +02:00
Clément Bœsch
fbedce6b85 lavfi/silencedetect: export silence info to metadata. 2012-10-21 17:29:11 +02:00
Clément Bœsch
de23953de2 lavfi/select: store scene score in buf ref metadata. 2012-10-21 17:29:11 +02:00
Clément Bœsch
6fb2fd895e lavc: add lavfi metadata support.
This commit introduces a new AVPacket side data type:
AV_PKT_DATA_STRINGS_METADATA. Its main goal is to provide a way to
transmit the metadata from the AVFilterBufferRef up to the AVFrame. This
is at the moment "only" useful for lavfi input from libavdevice:
lavd/lavfi only outputs packets, and the metadata from the buffer ref
kept in its context needs to be transmitted from the packet to the frame
by the decoders. The buffer ref can be destroyed at any time (along with
the metadata), and a duplication of the AVPacket needs to duplicate the
metadata as well, so the choice of using the side data to store them was
selected.

Making sure lavd/lavfi raises the metadata is useful to allow tools like
ffprobe to access the filters metadata (it is at the moment the only
way); ffprobe will now automatically show the AVFrame metadata in any
customizable output format for users. API users will also be able to
access the AVFrame->metadata pointer the same way ffprobe does
(av_frame_get_metadata).

All the changes are done in this single commit to avoid some memory
leaks: for instances, the changes in lavfi/avcodec.c are meant to
duplicate the metadata from the buffer ref into the AVFrame. Unless we
have an internal way of freeing the AVFrame->metadata automatically, it
will leak in most of the user apps. To fix this problem, we introduce
AVCodecContext->metadata and link avctx->metadata to the current
frame->metadata and free it at each decode frame call (and in the codec
closing callback for the last one). But doing this also means to update
the way the tiff decoder already handles the AVFrame->metadata (it's the
only one decoder with frame metadata at the moment), by making sure it
is not trying to free a pointer already freed by the lavc internals.

The lavfi/avcodec.c buffer ref code is based on an old Thomas Kühnel
work, the rest of the code belongs to the commit author.

Signed-off-by: Thomas Kühnel <kuehnelth@googlemail.com>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2012-10-21 17:29:10 +02:00
Marton Balint
3166a6fc37 ffplay: if there is no audio stream, use external clock by default
Otherwise playing the video could be much slower than realtime if the system
can't decode or display the frames fast enough.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
d30c69251f ffplay: use get_master_sync_type where necessary
We should make decisions based on the real sync type. This also simplifies
the code.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
fca16a1571 ffplay: add get_master_sync_type function
The real av_sync_type may be different to VideoState->av_sync_type, because the
required audio or video stream for audio or video clock may not be available.
We will use a function to query the real av_sync_type which is used for
determining the master clock.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
b2a8850969 ffplay: only check external clock if current frame serial matches the displayed frame serial
This way we avoid updating the external clocks with timestamps beloging to
frames before seek.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
2a4c7e6540 ffplay: add serial field to PacketQueue entry and populate it
The purpose of the serial field is to accompany the decoded data during the
decoding process to know if the decoded data belongs to the data stream after
the latest packet queue flush.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
77bd595ad2 ffplay: fix external time sync mode
We now initalize the external clock to 0 and, we use the system clock to
regulate the timings of audio and video in external clock sync mode.  We
recover from external clock sync loss, when the delay to external clock is
bigger than AV_NOSYNC_THRESHOLD.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
66bb5b1bc9 ffplay: initialize audio and video pts drift
This makes sensible audio and video clock values even before displaying the
first frame.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
eaa91ed863 ffplay: fix nosync threshold check in synchronize_audio
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
da56955621 ffplay: use framedrop by default when sync is not done to video
When using external sync, framedrop is perfectly fine.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Michael Niedermayer
d7b8a9a589 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: adpcm: cosmetics: Sort test entries
  fate: adpcm: Add dependencies
  svq3: cosmetics: Drop useless parentheses

Conflicts:
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 17:09:36 +02:00