ffmpeg.git
3 years agoavfilter/showcqt: fix compilation with libswscale disabled
James Almer [Thu, 29 Oct 2015 05:11:58 +0000 (02:11 -0300)]
avfilter/showcqt: fix compilation with libswscale disabled

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavutil/audio_fifo: add av_warn_unused_result
Ganesh Ajjanagadde [Thu, 15 Oct 2015 23:24:14 +0000 (19:24 -0400)]
avutil/audio_fifo: add av_warn_unused_result

This one should not trigger any warnings, but will be useful for future
robustness.

Strictly speaking, one could check the size after the call by examining
the structure instead of the return value. Such a use case is highly
unusual, and this commit may be easily reverted if there is a legitimate
need of such use.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agovp9_parser: don't overwrite cached timestamps with nopts.
Ronald S. Bultje [Wed, 28 Oct 2015 16:20:25 +0000 (12:20 -0400)]
vp9_parser: don't overwrite cached timestamps with nopts.

3 years agoavcodec/motion_est_template: replace qsort with AV_QSORT
Ganesh Ajjanagadde [Wed, 28 Oct 2015 02:46:18 +0000 (22:46 -0400)]
avcodec/motion_est_template: replace qsort with AV_QSORT

This code is in a performance critical section. AV_QSORT is
substantially faster due to the inlining of the comparison callback.
Thus, the increase in performance is worth the increase in binary size.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoavutil/ripemd: make rol macro more robust by adding parentheses
Ganesh Ajjanagadde [Tue, 27 Oct 2015 23:58:41 +0000 (19:58 -0400)]
avutil/ripemd: make rol macro more robust by adding parentheses

This ensures that the macro remains correct in the sense of allowing
expressions for value and bits, by placing the value and bits expressions within
parentheses.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agodoc/encoders: fix "the their" typo
Lou Logan [Wed, 28 Oct 2015 21:23:52 +0000 (13:23 -0800)]
doc/encoders: fix "the their" typo

Signed-off-by: Lou Logan <lou@lrcd.com>
3 years agodoc/filters: Remove article redundancy
Michael Niedermayer [Wed, 28 Oct 2015 13:20:09 +0000 (14:20 +0100)]
doc/filters: Remove article redundancy

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoswr: do not reject channel layouts that use channel 63
wm4 [Wed, 28 Oct 2015 18:25:49 +0000 (19:25 +0100)]
swr: do not reject channel layouts that use channel 63

Channel layouts are essentially uint64_t, and every value is valid.

3 years agolavu/aes: test CBC functionality
Rodger Combs [Mon, 12 Oct 2015 03:15:52 +0000 (22:15 -0500)]
lavu/aes: test CBC functionality

3 years agoavcodec/png: read and write stereo3d frame side data information
Kirill Gavrilov [Thu, 22 Oct 2015 20:36:52 +0000 (23:36 +0300)]
avcodec/png: read and write stereo3d frame side data information

Use optional sTER chunk defining side-by-side stereo pair
within "Extensions to the PNG 1.2 Specification", version 1.3.0.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agolavu/aes: align AVAES struct members
Rodger Combs [Mon, 12 Oct 2015 03:15:08 +0000 (22:15 -0500)]
lavu/aes: align AVAES struct members

3 years agolavu/aes: add runtime dispatch for crypt function
Rodger Combs [Mon, 12 Oct 2015 03:14:20 +0000 (22:14 -0500)]
lavu/aes: add runtime dispatch for crypt function

3 years agolavu/aes: move AVAES to separate internal header
Rodger Combs [Mon, 12 Oct 2015 03:12:16 +0000 (22:12 -0500)]
lavu/aes: move AVAES to separate internal header

3 years agolavu: add AESNI CPU flag
Rodger Combs [Mon, 26 Oct 2015 07:08:58 +0000 (02:08 -0500)]
lavu: add AESNI CPU flag

3 years agoffprobe: Remove abort()
Michael Niedermayer [Wed, 28 Oct 2015 09:11:22 +0000 (10:11 +0100)]
ffprobe: Remove abort()

Found-by: Ganesh Ajjanagadde and wm4
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavutil/avstring: add av_warn_unused_result
Ganesh Ajjanagadde [Thu, 15 Oct 2015 22:04:45 +0000 (18:04 -0400)]
avutil/avstring: add av_warn_unused_result

This does not trigger any warnings, but adds robustness.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoavfilter/avf_showcqt: Fix ;;
Michael Niedermayer [Wed, 28 Oct 2015 02:23:40 +0000 (03:23 +0100)]
avfilter/avf_showcqt: Fix ;;

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/avf_showcqt: rewrite showcqt and add features
Muhammad Faiz [Sun, 25 Oct 2015 17:18:41 +0000 (00:18 +0700)]
avfilter/avf_showcqt: rewrite showcqt and add features

add yuv444p, yuv422p, and yuv420p output format (lower cpu usage
on ffplay playback because it does not do format conversion)
custom size with size/s option (fullhd option is deprecated)
custom layout with bar_h, axis_h, and sono_h option
support rational frame rate (within fps/r/rate option)
relaxed frame rate restriction (support fractional sample step)
support all input sample rates
separate sonogram and bargraph volume (with volume/sono_v and
volume2/bar_v)
timeclamp option alias (timeclamp/tc)
fcount option
gamma option alias (gamma/sono_g and gamma2/bar_g)
support custom frequency range (basefreq and endfreq)
support drawing axis using external image file (axisfile option)
alias for disabling drawing to axis (text/axis)
possibility to optimize it using arch specific asm code

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/img2enc: re enable atomic writes with split planes
Michael Niedermayer [Tue, 27 Oct 2015 20:38:40 +0000 (21:38 +0100)]
avformat/img2enc: re enable atomic writes with split planes

They work now after fixing the implementation

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec: install avdct.h as public header
Andreas Cadhalpun [Tue, 27 Oct 2015 20:22:20 +0000 (21:22 +0100)]
avcodec: install avdct.h as public header

The commit 932ff70 introducing this header mentions it should be public.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
3 years agoavformat/img2enc: Fix img2enc atomic implementation to work with split planes
Michael Niedermayer [Tue, 27 Oct 2015 20:21:17 +0000 (21:21 +0100)]
avformat/img2enc: Fix img2enc atomic implementation to work with split planes

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/img2enc: Disable rename&atomic writing for non file protocol and split planes
Michael Niedermayer [Tue, 27 Oct 2015 18:45:59 +0000 (19:45 +0100)]
avformat/img2enc: Disable rename&atomic writing for non file protocol and split planes

For protocols other than local files ff_rename() is not implemented
For split planes support the implementation is simply wrong

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agompegts: Fix FATE seek test
Hendrik Leppkes [Tue, 27 Oct 2015 14:42:59 +0000 (15:42 +0100)]
mpegts: Fix FATE seek test

3 years agoasfdec: fix FATE seek test
Hendrik Leppkes [Tue, 27 Oct 2015 14:29:12 +0000 (15:29 +0100)]
asfdec: fix FATE seek test

3 years agoReplace remaining occurances of av_free_packet with av_packet_unref
Hendrik Leppkes [Tue, 27 Oct 2015 13:35:30 +0000 (14:35 +0100)]
Replace remaining occurances of av_free_packet with av_packet_unref

3 years agoMerge commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457'
Hendrik Leppkes [Tue, 27 Oct 2015 13:28:56 +0000 (14:28 +0100)]
Merge commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457'

* commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457':
  avpacket: Replace av_free_packet with av_packet_unref

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'a5d42043093a39636a1f4021a37dd9c612479f6f'
Hendrik Leppkes [Tue, 27 Oct 2015 13:12:27 +0000 (14:12 +0100)]
Merge commit 'a5d42043093a39636a1f4021a37dd9c612479f6f'

* commit 'a5d42043093a39636a1f4021a37dd9c612479f6f':
  avformat: Always return ref-counted AVPacket

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'f0ca6ffa0ae5d5564516ee7a18aa1e234751444a'
Hendrik Leppkes [Tue, 27 Oct 2015 13:10:04 +0000 (14:10 +0100)]
Merge commit 'f0ca6ffa0ae5d5564516ee7a18aa1e234751444a'

* commit 'f0ca6ffa0ae5d5564516ee7a18aa1e234751444a':
  avprobe: Unref the packet once it is used

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '9cbae3a7d57bd2b862c37fd8123bd1fba680e801'
Hendrik Leppkes [Tue, 27 Oct 2015 13:07:36 +0000 (14:07 +0100)]
Merge commit '9cbae3a7d57bd2b862c37fd8123bd1fba680e801'

* commit '9cbae3a7d57bd2b862c37fd8123bd1fba680e801':
  roqvideodec: use av_frame_copy

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '9f5d6f460ceeda8b4ac29b3249a49e275b64c706'
Hendrik Leppkes [Tue, 27 Oct 2015 13:06:45 +0000 (14:06 +0100)]
Merge commit '9f5d6f460ceeda8b4ac29b3249a49e275b64c706'

* commit '9f5d6f460ceeda8b4ac29b3249a49e275b64c706':
  hap: Set avctx.bits_per_coded_sample

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'fe66671bd5f446f8d0a9c70968ba8fe891efe028'
Hendrik Leppkes [Tue, 27 Oct 2015 13:06:30 +0000 (14:06 +0100)]
Merge commit 'fe66671bd5f446f8d0a9c70968ba8fe891efe028'

* commit 'fe66671bd5f446f8d0a9c70968ba8fe891efe028':
  cmdutils: Check for and report the correct codec capability

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '3c5cf2a31b4b29a8e4282cbe6a3f0617c14698b8'
Hendrik Leppkes [Tue, 27 Oct 2015 13:05:41 +0000 (14:05 +0100)]
Merge commit '3c5cf2a31b4b29a8e4282cbe6a3f0617c14698b8'

* commit '3c5cf2a31b4b29a8e4282cbe6a3f0617c14698b8':
  screenpresso: Drop parameter change check

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '447b5b278c689b21bbb7b5747c8773145cbd9448'
Hendrik Leppkes [Tue, 27 Oct 2015 13:04:47 +0000 (14:04 +0100)]
Merge commit '447b5b278c689b21bbb7b5747c8773145cbd9448'

* commit '447b5b278c689b21bbb7b5747c8773145cbd9448':
  mpegvideo_enc: Fix encoding videos with less frames than the delay of the encoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '27eeee76b2546fd313808997b3d07ba9cce94551'
Hendrik Leppkes [Tue, 27 Oct 2015 13:01:18 +0000 (14:01 +0100)]
Merge commit '27eeee76b2546fd313808997b3d07ba9cce94551'

* commit '27eeee76b2546fd313808997b3d07ba9cce94551':
  mpegvideo_enc: Merge ifs with identical conditions

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'f0a88d4d2a74534460f4a8b79c448bd5890dbd41'
Hendrik Leppkes [Tue, 27 Oct 2015 13:01:03 +0000 (14:01 +0100)]
Merge commit 'f0a88d4d2a74534460f4a8b79c448bd5890dbd41'

* commit 'f0a88d4d2a74534460f4a8b79c448bd5890dbd41':
  mpegvideo_enc: Factor new_picture unref out

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '533a6198505edd1379e1cd722852350ae4a85acc'
Hendrik Leppkes [Tue, 27 Oct 2015 12:58:44 +0000 (13:58 +0100)]
Merge commit '533a6198505edd1379e1cd722852350ae4a85acc'

* commit '533a6198505edd1379e1cd722852350ae4a85acc':
  innoHeim/Rsupport Screen Capture Codec decoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '233d2fa0443197df12b4f7823d591dad964149b3'
Hendrik Leppkes [Tue, 27 Oct 2015 12:47:32 +0000 (13:47 +0100)]
Merge commit '233d2fa0443197df12b4f7823d591dad964149b3'

* commit '233d2fa0443197df12b4f7823d591dad964149b3':
  kvazaar: Add libkvazaar HEVC encoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoavformat/aiff: add ADP4 DVI ADPCM support
Paul B Mahol [Tue, 27 Oct 2015 12:24:15 +0000 (13:24 +0100)]
avformat/aiff: add ADP4 DVI ADPCM support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoMerge commit '18f9308e6a96bbeb034ee5213a6d41e0b6c2ae74'
Hendrik Leppkes [Tue, 27 Oct 2015 11:55:51 +0000 (12:55 +0100)]
Merge commit '18f9308e6a96bbeb034ee5213a6d41e0b6c2ae74'

* commit '18f9308e6a96bbeb034ee5213a6d41e0b6c2ae74':
  mpjpeg: Cope with multipart lacking the initial CRLF

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '22f4d9c303ede1a240538fd105c97047db40dc86'
Hendrik Leppkes [Tue, 27 Oct 2015 11:50:56 +0000 (12:50 +0100)]
Merge commit '22f4d9c303ede1a240538fd105c97047db40dc86'

* commit '22f4d9c303ede1a240538fd105c97047db40dc86':
  img2enc: Make sure the images are atomically written

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '1ec72c6c68dbc78bf4ebb6f06c13316dc488bdfa'
Hendrik Leppkes [Tue, 27 Oct 2015 11:48:27 +0000 (12:48 +0100)]
Merge commit '1ec72c6c68dbc78bf4ebb6f06c13316dc488bdfa'

* commit '1ec72c6c68dbc78bf4ebb6f06c13316dc488bdfa':
  libx264: Make sure the extradata are padded

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '5ea5a24eb70646a9061b85af407fcbb5dd4f89fd'
Hendrik Leppkes [Tue, 27 Oct 2015 11:46:21 +0000 (12:46 +0100)]
Merge commit '5ea5a24eb70646a9061b85af407fcbb5dd4f89fd'

* commit '5ea5a24eb70646a9061b85af407fcbb5dd4f89fd':
  movenc: Honor flush requests with delay_moov, when some tracks lack samples

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'e02dcdf6bb6835ef4b49986b85a67efcb3495a7f'
Hendrik Leppkes [Tue, 27 Oct 2015 11:41:37 +0000 (12:41 +0100)]
Merge commit 'e02dcdf6bb6835ef4b49986b85a67efcb3495a7f'

* commit 'e02dcdf6bb6835ef4b49986b85a67efcb3495a7f':
  rtsp: Allow $ as interleaved packet indicator before a complete response header

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'dca23ffbc7568c9af5c5fbaa86e6a0761ecae50c'
Hendrik Leppkes [Tue, 27 Oct 2015 11:39:56 +0000 (12:39 +0100)]
Merge commit 'dca23ffbc7568c9af5c5fbaa86e6a0761ecae50c'

* commit 'dca23ffbc7568c9af5c5fbaa86e6a0761ecae50c':
  lavc: Deprecate AVPicture structure and related functions

Deprecation flag on AVPicture struct replaced by a comment, as it causes
excess deprecation warnings for every include of avcodec.h

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agodoc/filters.texi: ebur128 grammar fix
Kyle Swanson [Mon, 26 Oct 2015 22:44:33 +0000 (17:44 -0500)]
doc/filters.texi: ebur128 grammar fix

Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agofix: assigning instead of comparing
AppChecker [Mon, 26 Oct 2015 17:21:07 +0000 (20:21 +0300)]
fix: assigning instead of comparing

Signed-off-by: AppChecker <support.appc@cnpo.ru>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec: disallow hwaccel with frame threads
Hendrik Leppkes [Fri, 23 Oct 2015 11:54:25 +0000 (13:54 +0200)]
avcodec: disallow hwaccel with frame threads

HWAccels with frame threads are fundamentally flawed in avcodecs current
design, and there are several known problems ranging from image corruption
to driver crashes.

These problems come down to two design problems in the interaction of
threads and HWAccel decoding:

(1)
While avcodec prevents parallel decoding and as such simultaneous access
to the hardware accelerator from the decoding threads, it cannot account
for the user code and its access to the hardware surfaces and the hardware
itself.

This can result in image corruption or even driver crashes if the
user code locks image surfaces while they are being used by the decoder
threads as reference frames.

The current HWAccel API does not offer any way to ensure exclusive access
to the hardware or the surfaces if frame threading is used.

(2)
Initialization of the HWAccel with frame threads is non-trivial, and many
decoders had and still have issues that cause excess calls to the
get_format callback.

This will potentially cause duplicate HWAccel initialization, which in
extreme cases can even lead to driver crashes if the HWAccel is
re-initialized while the user code is actively accessing the hardware
surfaces associated with it, or lead to image corruption due to lost
reference frames.

While both of these issues are solvable, fixing (1) would at least require
a huge API redesign which would move a lot of complexity into the user
code.

The only reason the combination of frame threads and HWAccel was
considered useful is to allow a seamless fallback to multi-threaded
software decoding if the HWAccel is not available, however the issues
outlined above far outweigh this.

The proper solution for a fallback is to re-open the AVCodecContext with
threading enabled if the HWAccel failed, which is a practice commonly used
by various user applications using avcodec today already.

Reviewed-by: Gwenole Beauchesne <gb.devel@gmail.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoFATE: Increase FUZZ value on AAC LTP encoding test
Rostislav Pehlivanov [Tue, 27 Oct 2015 07:41:33 +0000 (07:41 +0000)]
FATE: Increase FUZZ value on AAC LTP encoding test

Clang prerelease on Darwin is making the test fail.

3 years agosrtenc: Reindent
Timothy Gu [Tue, 27 Oct 2015 06:24:45 +0000 (23:24 -0700)]
srtenc: Reindent

3 years agodrawutils: Reindent
Timothy Gu [Tue, 27 Oct 2015 06:24:30 +0000 (23:24 -0700)]
drawutils: Reindent

3 years agoavfilter: Reindent
Timothy Gu [Tue, 27 Oct 2015 06:24:18 +0000 (23:24 -0700)]
avfilter: Reindent

3 years agoavcodec: srtdec: Reindent
Timothy Gu [Tue, 27 Oct 2015 06:23:59 +0000 (23:23 -0700)]
avcodec: srtdec: Reindent

3 years agox86/vf_w3fdif: use aligned loads in w3fdif_complex_high
James Almer [Tue, 27 Oct 2015 04:49:22 +0000 (01:49 -0300)]
x86/vf_w3fdif: use aligned loads in w3fdif_complex_high

Found-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoFATE: Slightly increase thresholds on prediction AAC encoding tests
Rostislav Pehlivanov [Tue, 27 Oct 2015 03:48:17 +0000 (03:48 +0000)]
FATE: Slightly increase thresholds on prediction AAC encoding tests

They barely fail on some systems by being off by 0.81.

3 years agoopusdec: Don't run vector_fmul_scalar on zero length arrays
Kieran Kunhya [Mon, 26 Oct 2015 23:09:44 +0000 (23:09 +0000)]
opusdec: Don't run vector_fmul_scalar on zero length arrays

Fixes crashes on fuzzed files
Fixes Ticket4969 part2

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec/opusdec: Fix extra samples read index
Michael Niedermayer [Tue, 27 Oct 2015 00:18:22 +0000 (01:18 +0100)]
avcodec/opusdec: Fix extra samples read index

Fixes crash
Fixes Ticket4969 part 1

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter: add vibrato filter
Kyle Swanson [Sat, 24 Oct 2015 05:08:19 +0000 (00:08 -0500)]
avfilter: add vibrato filter

Signed-off-by: Kyle Swanson <k@ylo.ph>
3 years agoavpacket: Replace av_free_packet with av_packet_unref
Luca Barbato [Fri, 23 Oct 2015 09:11:31 +0000 (11:11 +0200)]
avpacket: Replace av_free_packet with av_packet_unref

`av_packet_unref` matches the AVFrame ref-counted API and can be used as
a drop in replacement.

Deprecate `av_free_packet`.

3 years agoavformat: Always return ref-counted AVPacket
Luca Barbato [Fri, 23 Oct 2015 09:11:30 +0000 (11:11 +0200)]
avformat: Always return ref-counted AVPacket

And drop the av_dup_packet from the input_thread.

3 years agoavprobe: Unref the packet once it is used
Luca Barbato [Fri, 23 Oct 2015 09:11:29 +0000 (11:11 +0200)]
avprobe: Unref the packet once it is used

Make sure it does not leak packets.

CC: libav-stable@libav.org
3 years agoavcodec/options: remove a few more redundant "default" information
Clément Bœsch [Mon, 26 Oct 2015 10:18:37 +0000 (11:18 +0100)]
avcodec/options: remove a few more redundant "default" information

3 years agoavcodec/options: remove redundant and wrong default information for skipcmp option
Clément Bœsch [Mon, 26 Oct 2015 10:17:03 +0000 (11:17 +0100)]
avcodec/options: remove redundant and wrong default information for skipcmp option

3 years agoavcodec/avdct: remove redundant "default" information in options
Clément Bœsch [Mon, 26 Oct 2015 10:13:31 +0000 (11:13 +0100)]
avcodec/avdct: remove redundant "default" information in options

3 years agotests/aac: Add bitexact flags to AAC LTP Encode test
Derek Buitenhuis [Mon, 26 Oct 2015 14:31:21 +0000 (14:31 +0000)]
tests/aac: Add bitexact flags to AAC LTP Encode test

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
3 years agomov: Add support parsing QuickTime Metadata Keys.
Tinglin Liu [Thu, 22 Oct 2015 22:04:46 +0000 (15:04 -0700)]
mov: Add support parsing QuickTime Metadata Keys.

The Apple dev specification:
    https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/Metadata/Metadata.html

Basically the structure is like:
    |--meta
    |----hdlr
    |----keys
    |----ilst

1) The handler type in the metadata handler atom is ‘mdta’.
2) The key and value are stored separately for each key-value pair.
   The 'keys' atom stores the key table, while 'ilst' atom stores the
   values corresponding to the indices in the key table.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
3 years agotimecode: Support HFR values
Vittorio Giovara [Mon, 26 Oct 2015 13:52:40 +0000 (14:52 +0100)]
timecode: Support HFR values

3 years agotimecode: Do not fail for non-standard framerates
Vittorio Giovara [Mon, 26 Oct 2015 13:44:43 +0000 (14:44 +0100)]
timecode: Do not fail for non-standard framerates

Instead just warn, and use the parse fps normally.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agotests/fate/aac: Add bitexact flags to fate-aac-pns-encode
Michael Niedermayer [Mon, 26 Oct 2015 12:14:24 +0000 (13:14 +0100)]
tests/fate/aac: Add bitexact flags to fate-aac-pns-encode

This fixes a fate failure after bumping the minor version
Its unknown why this is not needed for the other aac tests,
more investigation needed but for now i dont want to leave
it broken while its investigated

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoroqvideodec: use av_frame_copy
Hendrik Leppkes [Fri, 23 Oct 2015 13:24:11 +0000 (15:24 +0200)]
roqvideodec: use av_frame_copy

CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoavfilter/vf_removegrain: replace qsort with AV_QSORT
Ganesh Ajjanagadde [Sun, 25 Oct 2015 19:06:01 +0000 (15:06 -0400)]
avfilter/vf_removegrain: replace qsort with AV_QSORT

filter_slice calls qsort, so qsort is in a performance critical
position. AV_QSORT is substantially faster due to the inlining of the
comparison callback. Thus, the increase in performance is worth the
increase in binary size.

Sample benchmark (x86-64, Haswell, GNU/Linux),
filter-removegrain-mode-02 (from FATE)
new:
  24060 decicycles in qsort,       1 runs,      0 skips
  15690 decicycles in qsort,       2 runs,      0 skips
   9307 decicycles in qsort,       4 runs,      0 skips
   5572 decicycles in qsort,       8 runs,      0 skips
   3485 decicycles in qsort,      16 runs,      0 skips
   2517 decicycles in qsort,      32 runs,      0 skips
   1979 decicycles in qsort,      64 runs,      0 skips
   1911 decicycles in qsort,     128 runs,      0 skips
   1568 decicycles in qsort,     256 runs,      0 skips
   1596 decicycles in qsort,     512 runs,      0 skips
   1614 decicycles in qsort,    1024 runs,      0 skips
   1874 decicycles in qsort,    2046 runs,      2 skips
   2186 decicycles in qsort,    4094 runs,      2 skips

old:
 246960 decicycles in qsort,       1 runs,      0 skips
 135765 decicycles in qsort,       2 runs,      0 skips
  70920 decicycles in qsort,       4 runs,      0 skips
  37710 decicycles in qsort,       8 runs,      0 skips
  20831 decicycles in qsort,      16 runs,      0 skips
  12225 decicycles in qsort,      32 runs,      0 skips
   8083 decicycles in qsort,      64 runs,      0 skips
   6270 decicycles in qsort,     128 runs,      0 skips
   5321 decicycles in qsort,     256 runs,      0 skips
   4860 decicycles in qsort,     512 runs,      0 skips
   4424 decicycles in qsort,    1024 runs,      0 skips
   4191 decicycles in qsort,    2046 runs,      2 skips
   4934 decicycles in qsort,    4094 runs,      2 skips

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoavformat/thp: set duration for audio stream too
Paul B Mahol [Sun, 25 Oct 2015 22:07:21 +0000 (23:07 +0100)]
avformat/thp: set duration for audio stream too

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavcodec: add SDX2 DPCM decoder
Paul B Mahol [Sat, 24 Oct 2015 18:41:32 +0000 (20:41 +0200)]
avcodec: add SDX2 DPCM decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoMAINTAINERS: add key fingerprint
Ganesh Ajjanagadde [Sun, 25 Oct 2015 01:59:56 +0000 (21:59 -0400)]
MAINTAINERS: add key fingerprint

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agohap: Set avctx.bits_per_coded_sample
Tom Butterworth [Fri, 23 Oct 2015 12:40:16 +0000 (14:40 +0200)]
hap: Set avctx.bits_per_coded_sample

Fixes an issue where alpha is ignored in some players.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoavutil/opt: print more meaningful default flags values
Clément Bœsch [Sat, 24 Oct 2015 13:14:33 +0000 (15:14 +0200)]
avutil/opt: print more meaningful default flags values

Example:
% ./ffmpeg -h encoder=gif
[...]
GIF encoder AVOptions:
  -gifflags          <flags>      E..V.... set GIF flags (default offsetting+transdiff)
     offsetting                   E..V.... enable picture offsetting
     transdiff                    E..V.... enable transparency detection between frames

3 years agocmdutils: Check for and report the correct codec capability
Vittorio Giovara [Mon, 19 Oct 2015 11:57:22 +0000 (13:57 +0200)]
cmdutils: Check for and report the correct codec capability

3 years agoscreenpresso: Drop parameter change check
Vittorio Giovara [Mon, 19 Oct 2015 12:34:09 +0000 (14:34 +0200)]
screenpresso: Drop parameter change check

Size can never change, allowing us to use ff_reget_buffer, and to
simplify the code a little.

3 years agompegvideo_enc: Fix encoding videos with less frames than the delay of the encoder
Alexis Ballier [Fri, 23 Oct 2015 13:23:43 +0000 (15:23 +0200)]
mpegvideo_enc: Fix encoding videos with less frames than the delay of the encoder

When the encoder is fed with less frames than its delay, the picture list
looks like { NULL, NULL, ..., frame, frame, frame }. When flushing the
encoder (input frame == NULL), we need to ensure the picture list is
shifted enough so that we do not return an empty packet, which would
mean the encoder has finished, while it has not encoded any frame.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agompegvideo_enc: Merge ifs with identical conditions
Michael Niedermayer [Fri, 23 Oct 2015 13:23:42 +0000 (15:23 +0200)]
mpegvideo_enc: Merge ifs with identical conditions

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agompegvideo_enc: Factor new_picture unref out
Michael Niedermayer [Fri, 23 Oct 2015 13:23:41 +0000 (15:23 +0200)]
mpegvideo_enc: Factor new_picture unref out

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agolavfi/drawutils: add const to blending mask.
Nicolas George [Sun, 25 Oct 2015 10:27:15 +0000 (11:27 +0100)]
lavfi/drawutils: add const to blending mask.

3 years agoavutil/tree: clean up pointer incompatibility warnings
Ganesh Ajjanagadde [Sun, 25 Oct 2015 16:41:48 +0000 (12:41 -0400)]
avutil/tree: clean up pointer incompatibility warnings

Commit 7c8fcbbde3a299096974f9061c8b5be0e526f4c2 introduced some warnings
that get triggered on the test build. This should fix them.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agolavf/xwma: Support wmapro.
Carl Eugen Hoyos [Sun, 25 Oct 2015 16:37:17 +0000 (17:37 +0100)]
lavf/xwma: Support wmapro.

Fixes ticket #4963.

3 years agoavutil/tree: Document the guaranteed ordering of compare arguments for av_tree_find()
Michael Niedermayer [Sun, 25 Oct 2015 16:13:42 +0000 (17:13 +0100)]
avutil/tree: Document the guaranteed ordering of compare arguments for av_tree_find()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec/huffman: replace qsort with AV_QSORT
Ganesh Ajjanagadde [Thu, 22 Oct 2015 23:54:31 +0000 (19:54 -0400)]
avcodec/huffman: replace qsort with AV_QSORT

ff_huff_build_tree uses qsort underneath. AV_QSORT is substantially
faster due to the inlining of the comparison callback. Furthermore, this
code is reasonably performance critical, since in e.g the fraps codec,
ff_huff_build_tree is called on every frame. This routine is also called
in vp6 on every frame in some circumstances.

Sample benchmark (x86-64, Haswell, GNU/Linux), vp6 from FATE:
vp6 (old):
  78930 decicycles in qsort,       1 runs,      0 skips
  45330 decicycles in qsort,       2 runs,      0 skips
  27825 decicycles in qsort,       4 runs,      0 skips
  17471 decicycles in qsort,       8 runs,      0 skips
  12296 decicycles in qsort,      16 runs,      0 skips
   9554 decicycles in qsort,      32 runs,      0 skips
   8404 decicycles in qsort,      64 runs,      0 skips
   7405 decicycles in qsort,     128 runs,      0 skips
   6740 decicycles in qsort,     256 runs,      0 skips
   7540 decicycles in qsort,     512 runs,      0 skips
   9498 decicycles in qsort,    1024 runs,      0 skips
   9938 decicycles in qsort,    2048 runs,      0 skips
   8043 decicycles in qsort,    4095 runs,      1 skips

vp6 (new):
  15880 decicycles in qsort,       1 runs,      0 skips
  10730 decicycles in qsort,       2 runs,      0 skips
  10155 decicycles in qsort,       4 runs,      0 skips
   7805 decicycles in qsort,       8 runs,      0 skips
   6883 decicycles in qsort,      16 runs,      0 skips
   6305 decicycles in qsort,      32 runs,      0 skips
   5854 decicycles in qsort,      64 runs,      0 skips
   5152 decicycles in qsort,     128 runs,      0 skips
   4452 decicycles in qsort,     256 runs,      0 skips
   4161 decicycles in qsort,     511 runs,      1 skips
   4081 decicycles in qsort,    1023 runs,      1 skips
   4072 decicycles in qsort,    2047 runs,      1 skips
   4004 decicycles in qsort,    4095 runs,      1 skips

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoversion.sh: add note that ffversion.h is auto-generated
Ganesh Ajjanagadde [Thu, 15 Oct 2015 23:03:25 +0000 (19:03 -0400)]
version.sh: add note that ffversion.h is auto-generated

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoall: add const-correctness to qsort comparators
Ganesh Ajjanagadde [Sun, 25 Oct 2015 00:59:05 +0000 (20:59 -0400)]
all: add const-correctness to qsort comparators

This adds const-correctness when needed for the comparators.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoavformat/aiffdec: give friendly message if compressed codec tag is unsupported
Paul B Mahol [Sun, 25 Oct 2015 11:48:36 +0000 (12:48 +0100)]
avformat/aiffdec: give friendly message if compressed codec tag is unsupported

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agodoc/general: update after recent additions
Paul B Mahol [Sun, 25 Oct 2015 10:51:15 +0000 (11:51 +0100)]
doc/general: update after recent additions

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavformat: add xvag demuxer
Paul B Mahol [Fri, 23 Oct 2015 10:03:28 +0000 (12:03 +0200)]
avformat: add xvag demuxer

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavutil/tree: add additional const qualifier to the comparator
Ganesh Ajjanagadde [Sat, 24 Oct 2015 21:53:21 +0000 (17:53 -0400)]
avutil/tree: add additional const qualifier to the comparator

libc's qsort comparator has a const qualifier on both arguments. This
adds a missing const qualifier to exactly match the comparator API.

Existing usages of av_tree_find, av_tree_insert are appropriately
modified: type signature changes of the comparators, and removal of
unnecessary void * casts of function pointers.

Reviewed-by: Henrik Gramner <henrik@gramner.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoavutil/tree: improve documentation for av_tree_find, av_tree_insert
Ganesh Ajjanagadde [Sat, 24 Oct 2015 21:47:21 +0000 (17:47 -0400)]
avutil/tree: improve documentation for av_tree_find, av_tree_insert

This documents the additional constness, and provides a useful libc
reference for the API specification of the comparator.

Reviewed-by: Henrik Gramner <henrik@gramner.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoavfilter/vf_deshake: use a void * comparator for consistency
Ganesh Ajjanagadde [Sat, 24 Oct 2015 21:49:57 +0000 (17:49 -0400)]
avfilter/vf_deshake: use a void * comparator for consistency

For generality, qsort uses a comparator whose elements are void *. This
makes the comparator have such a form, and thus makes the void * cast of
the comparator pointer useless. Furthermore, this makes the code more
consistent with other usages of qsort across the codebase.

Reviewed-by: Henrik Gramner <henrik@gramner.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoall: fix -Wextra-semi reported on clang
Ganesh Ajjanagadde [Fri, 23 Oct 2015 15:23:42 +0000 (11:23 -0400)]
all: fix -Wextra-semi reported on clang

This fixes extra semicolons that clang 3.7 on GNU/Linux warns about.
These were trigggered when built under -Wpedantic, which essentially
checks for strict ISO compliance in numerous ways.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoall: remove some casts of function pointer to void *
Ganesh Ajjanagadde [Fri, 23 Oct 2015 15:46:41 +0000 (11:46 -0400)]
all: remove some casts of function pointer to void *

These casts are unnecessary, and may safely be removed.
Found by enabling -Wpedantic on clang 3.7.

Tested with FATE.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agovp9: uses ff_set_dimensions (which sets coded_width/height).
Ronald S. Bultje [Sat, 24 Oct 2015 13:24:41 +0000 (09:24 -0400)]
vp9: uses ff_set_dimensions (which sets coded_width/height).

Fixes ticket 4935.

3 years agovideodsp: don't overread edges in vfix3 emu_edge.
Ronald S. Bultje [Fri, 23 Oct 2015 15:11:53 +0000 (11:11 -0400)]
videodsp: don't overread edges in vfix3 emu_edge.

Fixes trac ticket 3226. Also see Andreas' analysis in
https://bugs.debian.org/801745, which was very helpful.

3 years agoavfilter: avoid zero arguments to variadic macro
Ganesh Ajjanagadde [Fri, 23 Oct 2015 16:36:52 +0000 (12:36 -0400)]
avfilter: avoid zero arguments to variadic macro

ISO C requires at least one argument in the place of the ellipsis in a
variadic macro. In particular, under -pedantic, this triggers the
warning -Wgnu-zero-variadic-macro-arguments on clang 3.7.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agolibzvbi-teletextdec: fix AVSubtitleRect pict compatiblity code
Marton Balint [Fri, 23 Oct 2015 18:40:23 +0000 (20:40 +0200)]
libzvbi-teletextdec: fix AVSubtitleRect pict compatiblity code

Only set pict if we got a valid rect.

Signed-off-by: Marton Balint <cus@passwd.hu>
3 years agoffplay: use a separate struct for the rescaled YUVA AVSubtitle rectangles
Marton Balint [Fri, 23 Oct 2015 18:32:51 +0000 (20:32 +0200)]
ffplay: use a separate struct for the rescaled YUVA AVSubtitle rectangles

Current code segfaults since the deprecation of AVSubtitleRect.pict because it
freed/realloced AVSubtitleRect.pict.data by itself.

The new code stores the generated YUVA AVSubtitle rectangles in their own
struct and keeps the original AVSubtitle structure untouched, because
overwriting it is considered invalid API usage.

Signed-off-by: Marton Balint <cus@passwd.hu>