ffmpeg.git
3 years agoMerge commit 'cc29d96d5a379dbcf2649947d884c202c2a52767'
Hendrik Leppkes [Sat, 2 Jan 2016 10:22:33 +0000 (11:22 +0100)]
Merge commit 'cc29d96d5a379dbcf2649947d884c202c2a52767'

* commit 'cc29d96d5a379dbcf2649947d884c202c2a52767':
  arm64: fix inverted register order in transpose_4x4H

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '5ea59b1f424f0efc7805d837e6fdb80561fb0f3a'
Hendrik Leppkes [Sat, 2 Jan 2016 10:22:17 +0000 (11:22 +0100)]
Merge commit '5ea59b1f424f0efc7805d837e6fdb80561fb0f3a'

* commit '5ea59b1f424f0efc7805d837e6fdb80561fb0f3a':
  exr: fix out of bounds read in get_code

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '17776638c392d104975aba169e17b186490e1d5e'
Hendrik Leppkes [Sat, 2 Jan 2016 10:22:05 +0000 (11:22 +0100)]
Merge commit '17776638c392d104975aba169e17b186490e1d5e'

* commit '17776638c392d104975aba169e17b186490e1d5e':
  opus: Fix typo causing overflow in silk_stabilize_lsf

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '90b1b9350c0a97c4065ae9054b83e57f48a0de1f'
Hendrik Leppkes [Sat, 2 Jan 2016 10:21:36 +0000 (11:21 +0100)]
Merge commit '90b1b9350c0a97c4065ae9054b83e57f48a0de1f'

* commit '90b1b9350c0a97c4065ae9054b83e57f48a0de1f':
  arm: add ff_int32_to_float_fmul_array8_neon

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'a0fc780a2093784e8664f88205ee1b215e109cee'
Hendrik Leppkes [Sat, 2 Jan 2016 10:21:16 +0000 (11:21 +0100)]
Merge commit 'a0fc780a2093784e8664f88205ee1b215e109cee'

* commit 'a0fc780a2093784e8664f88205ee1b215e109cee':
  arm64: int32_to_float_fmul neon asm

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '705f5e5e155f6f280a360af220fc5b30cfcee702'
Hendrik Leppkes [Sat, 2 Jan 2016 10:14:28 +0000 (11:14 +0100)]
Merge commit '705f5e5e155f6f280a360af220fc5b30cfcee702'

* commit '705f5e5e155f6f280a360af220fc5b30cfcee702':
  arm64: port synth_filter_float_neon from arm

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'c33c1fa8af2b2e82418a06901b6ad17b3d61b73e'
Hendrik Leppkes [Sat, 2 Jan 2016 10:10:24 +0000 (11:10 +0100)]
Merge commit 'c33c1fa8af2b2e82418a06901b6ad17b3d61b73e'

* commit 'c33c1fa8af2b2e82418a06901b6ad17b3d61b73e':
  arm64: convert dcadsp neon asm from arm

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0'
Hendrik Leppkes [Sat, 2 Jan 2016 10:01:29 +0000 (11:01 +0100)]
Merge commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0'

* commit 'e2710e790c09e49e86baa58c6063af0097cc8cb0':
  arm: add a cpu flag for the VFPv2 vector mode

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '5dfe4edad63971d669ae456b0bc40ef9364cca80'
Hendrik Leppkes [Sat, 2 Jan 2016 09:46:18 +0000 (10:46 +0100)]
Merge commit '5dfe4edad63971d669ae456b0bc40ef9364cca80'

* commit '5dfe4edad63971d669ae456b0bc40ef9364cca80':
  x86_64: int32_to_float_fmul_scalar sign extend integer length

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '64034849dad8410bedbe1def4c533490fb85cc4a'
Hendrik Leppkes [Sat, 2 Jan 2016 09:25:55 +0000 (10:25 +0100)]
Merge commit '64034849dad8410bedbe1def4c533490fb85cc4a'

* commit '64034849dad8410bedbe1def4c533490fb85cc4a':
  arm64: add cycle counter support

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '50078c1c8070dd8d1c329e8117ff30ec72489039'
Hendrik Leppkes [Sat, 2 Jan 2016 09:25:12 +0000 (10:25 +0100)]
Merge commit '50078c1c8070dd8d1c329e8117ff30ec72489039'

* commit '50078c1c8070dd8d1c329e8117ff30ec72489039':
  libavutil: move FFALIGN macro from common.h to macros.h

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'dbce017913ce04966021a2f72e4f8fae5b4b7190'
Hendrik Leppkes [Sat, 2 Jan 2016 09:20:46 +0000 (10:20 +0100)]
Merge commit 'dbce017913ce04966021a2f72e4f8fae5b4b7190'

* commit 'dbce017913ce04966021a2f72e4f8fae5b4b7190':
  mpegtsenc: add flag to embed an AC-3 ES the DVB way

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'cc4c24208159200b7aff5b5c313903c7f23fa345'
Hendrik Leppkes [Sat, 2 Jan 2016 09:13:58 +0000 (10:13 +0100)]
Merge commit 'cc4c24208159200b7aff5b5c313903c7f23fa345'

* commit 'cc4c24208159200b7aff5b5c313903c7f23fa345':
  avresample: Mark avresample_buffer() as pointer to const

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoavcodec/utils: fix AVPacket lifetime in seek_frame_generic
Hendrik Leppkes [Fri, 1 Jan 2016 19:23:37 +0000 (20:23 +0100)]
avcodec/utils: fix AVPacket lifetime in seek_frame_generic

Fixes ticket #5117

3 years agoavformat/mp3dec: Remove unused variable
Michael Niedermayer [Fri, 1 Jan 2016 20:03:33 +0000 (21:03 +0100)]
avformat/mp3dec: Remove unused variable

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agolavfi/af_sofalizer: remove exp2 and replace clz by ff_clz
Ganesh Ajjanagadde [Tue, 29 Dec 2015 21:16:08 +0000 (13:16 -0800)]
lavfi/af_sofalizer: remove exp2 and replace clz by ff_clz

ff_clz is faster, and uses an intrinsic (at the moment on GCC). exp2 is
a wasteful function for a simple integer exponentiation.

Untested.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agolavf/srtdec: rewrite parsing logic
Clément Bœsch [Tue, 22 Dec 2015 22:11:41 +0000 (23:11 +0100)]
lavf/srtdec: rewrite parsing logic

Fixes Ticket #5032

The samples in Ticket #5032 is using \r\r\n as line breaks.  Since we
already are handling \r, or \n, or \r\n as line breaks, \r\n\n will be
considered as a double line breaks. This is an issue because
ff_subtitles_read_text_chunk() will as a result stop extracting a chunk
after just one line.

So instead of parsing the SRT by "chunks" (which means splitting every
double LB), this new parser is detecting timing lines, and split the
events on this basis. While this sounds safe and simple, it needs to
take into account the event number preceding the timing line while
handling situations such as:

 - event number starting at 0 or actually any number instead of 1
 - event numbers not being ordered at all
 - event number being followed by text garbage (this really happened,
   see Ticket #4898)
 - event payload containing one or multiple number (a protagonist saying
   a count-down, a date or whatever) which could be confused with a
   chapter number
 - event number being empty (see Ticket #2167)
 - all kind of weird line breaks can appear randomly like wild pokémons
 - untrustable line breaks (Ticket #5032)

The sample madness.srt tries to sum up most of this into one sample,
ticket5032-rrn.srt is the file containing \r\r\n line breaks. and
empty-events-2167.srt contains empty events.

3 years agoMerge commit '5bc223b15d064e328ff90b0241fa1191f1d2786d'
Hendrik Leppkes [Fri, 1 Jan 2016 16:22:25 +0000 (17:22 +0100)]
Merge commit '5bc223b15d064e328ff90b0241fa1191f1d2786d'

* commit '5bc223b15d064e328ff90b0241fa1191f1d2786d':
  r3d: fix an invalid read introduced in 6bf4c1d

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '64f8c439fd663fec4d57ac21af572d498fe21f7a'
Hendrik Leppkes [Fri, 1 Jan 2016 16:21:32 +0000 (17:21 +0100)]
Merge commit '64f8c439fd663fec4d57ac21af572d498fe21f7a'

* commit '64f8c439fd663fec4d57ac21af572d498fe21f7a':
  rtmpproto: Include the full path as app when "slist=" is found

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '9f0b6e6827e21e3477abe1199dc2728e30b8c061'
Hendrik Leppkes [Fri, 1 Jan 2016 16:21:04 +0000 (17:21 +0100)]
Merge commit '9f0b6e6827e21e3477abe1199dc2728e30b8c061'

* commit '9f0b6e6827e21e3477abe1199dc2728e30b8c061':
  vocdec: do not create the stream in read_header()

Not merged as it breaks FATE.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '2d0432d918a71468419b7ac1e543ab3b399d3d37'
Hendrik Leppkes [Fri, 1 Jan 2016 16:14:46 +0000 (17:14 +0100)]
Merge commit '2d0432d918a71468419b7ac1e543ab3b399d3d37'

* commit '2d0432d918a71468419b7ac1e543ab3b399d3d37':
  vocdec: put the code not shared with other demuxers under appropriate ifdef

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '09ae7b81ea2051eec2be9964296bd6ef492c6622'
Hendrik Leppkes [Fri, 1 Jan 2016 16:13:28 +0000 (17:13 +0100)]
Merge commit '09ae7b81ea2051eec2be9964296bd6ef492c6622'

* commit '09ae7b81ea2051eec2be9964296bd6ef492c6622':
  flvdec: do not create any streams in read_header()

Not merged. The demuxer issues warnings when a new stream is encountered
and reading the metadata requires that streams already exist.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoRevert "Merge commit '9f1eccb97bf8894cb18b14f642500686505ef186'"
Michael Niedermayer [Fri, 1 Jan 2016 15:26:24 +0000 (16:26 +0100)]
Revert "Merge commit '9f1eccb97bf8894cb18b14f642500686505ef186'"

This unbreaks muxing-encoding
Example:
ffmpeg -i matrixbench_mpeg2.mpg new.avi

-rw-r----- 1 michael michael 226035354 Jan  1 16:27 new.avi
-rw-r----- 1 michael michael  10016802 Jan  1 16:28 ref.avi

Also av_get_audio_frame_duration() itself uses frame_size

This reverts commit 29e6606e9b42aa811be995e2fcdea4806911bc9f, reversing
changes made to 53448461a7720afab0d1f1234af79573fd2e020d.

3 years agoMerge commit 'de9e199a039473ebe4b1b87382e3064d0ea2cf02'
Hendrik Leppkes [Fri, 1 Jan 2016 16:05:37 +0000 (17:05 +0100)]
Merge commit 'de9e199a039473ebe4b1b87382e3064d0ea2cf02'

* commit 'de9e199a039473ebe4b1b87382e3064d0ea2cf02':
  lavc: make avpriv_mpa_decode_header private on next bump

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '72d658766e6ccf198317dffd6499c5e288847a1c'
Hendrik Leppkes [Fri, 1 Jan 2016 15:57:40 +0000 (16:57 +0100)]
Merge commit '72d658766e6ccf198317dffd6499c5e288847a1c'

* commit '72d658766e6ccf198317dffd6499c5e288847a1c':
  mp3dec: replace avpriv_mpa_decode_header with avpriv_mpegaudio_decode_header

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agolavc: fix profile declarations for vdpau decoders
Hendrik Leppkes [Fri, 1 Jan 2016 15:48:47 +0000 (16:48 +0100)]
lavc: fix profile declarations for vdpau decoders

3 years agoMerge commit '955aec3c7c7be39b659197e1ec379a09f2b7c41c'
Hendrik Leppkes [Fri, 1 Jan 2016 15:47:27 +0000 (16:47 +0100)]
Merge commit '955aec3c7c7be39b659197e1ec379a09f2b7c41c'

* commit '955aec3c7c7be39b659197e1ec379a09f2b7c41c':
  mpegaudiodecheader: check the header in avpriv_mpegaudio_decode_header

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'cea1eef25c3310a68dd327eb74aae14ad3c2ddef'
Hendrik Leppkes [Fri, 1 Jan 2016 15:29:28 +0000 (16:29 +0100)]
Merge commit 'cea1eef25c3310a68dd327eb74aae14ad3c2ddef'

* commit 'cea1eef25c3310a68dd327eb74aae14ad3c2ddef':
  lavc: get the profile name through the codec descriptor in avcodec_string()

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agolavc: add vp9 profiles to AVCodecDescriptor
Hendrik Leppkes [Fri, 1 Jan 2016 15:25:01 +0000 (16:25 +0100)]
lavc: add vp9 profiles to AVCodecDescriptor

3 years agoMerge commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6'
Hendrik Leppkes [Fri, 1 Jan 2016 15:16:57 +0000 (16:16 +0100)]
Merge commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6'

* commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6':
  lavc: add profiles to AVCodecDescriptor

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit 'cdc9ce098e8d101b43b8f68dd35ba7226f4a728c'
Hendrik Leppkes [Fri, 1 Jan 2016 15:02:42 +0000 (16:02 +0100)]
Merge commit 'cdc9ce098e8d101b43b8f68dd35ba7226f4a728c'

* commit 'cdc9ce098e8d101b43b8f68dd35ba7226f4a728c':
  lavc: print the name of the codec, not its implementation, in avcodec_string

FFmpeg has already done this.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '6bf4c1d71199b92894f24db6386ed5070e590a16'
Hendrik Leppkes [Fri, 1 Jan 2016 14:59:30 +0000 (15:59 +0100)]
Merge commit '6bf4c1d71199b92894f24db6386ed5070e590a16'

* commit '6bf4c1d71199b92894f24db6386ed5070e590a16':
  r3d: do not create the audio stream until we know the sample rate

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '9f1eccb97bf8894cb18b14f642500686505ef186'
Hendrik Leppkes [Fri, 1 Jan 2016 14:52:18 +0000 (15:52 +0100)]
Merge commit '9f1eccb97bf8894cb18b14f642500686505ef186'

* commit '9f1eccb97bf8894cb18b14f642500686505ef186':
  ff_parse_specific_params: do not use AVCodecContext.frame_size

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agoMerge commit '1f008f34d5b2b5f6217521747e7acfe3efc0e666'
Hendrik Leppkes [Fri, 1 Jan 2016 14:51:58 +0000 (15:51 +0100)]
Merge commit '1f008f34d5b2b5f6217521747e7acfe3efc0e666'

* commit '1f008f34d5b2b5f6217521747e7acfe3efc0e666':
  rmenc: do not use AVCodecContext.frame_size

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
3 years agodoc/filters: add showwavespic colorize example
Lou Logan [Tue, 29 Dec 2015 19:41:20 +0000 (10:41 -0900)]
doc/filters: add showwavespic colorize example

Signed-off-by: Lou Logan <lou@lrcd.com>
3 years agoavcodec/ffv1enc: Support AV_PIX_FMT_YA8
Michael Niedermayer [Fri, 1 Jan 2016 00:20:17 +0000 (01:20 +0100)]
avcodec/ffv1enc: Support AV_PIX_FMT_YA8

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec/ffv1dec: Support AV_PIX_FMT_YA8
Michael Niedermayer [Fri, 1 Jan 2016 00:16:34 +0000 (01:16 +0100)]
avcodec/ffv1dec: Support AV_PIX_FMT_YA8

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agomjpegdec: extend check for incompatible values of s->rgb and s->ls
Andreas Cadhalpun [Thu, 31 Dec 2015 15:55:43 +0000 (16:55 +0100)]
mjpegdec: extend check for incompatible values of s->rgb and s->ls

This can happen if s->ls changes from 0 to 1, but picture allocation is
skipped due to s->interlaced.

In that case ff_jpegls_decode_picture could be called even though the
s->picture_ptr frame has the wrong pixel format and thus a wrong
linesize, which results in a too small zero buffer being allocated.

This fixes an out-of-bounds read in ls_decode_line.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
3 years agoavformat/mov: support cenc (common encryption)
erankor [Mon, 7 Dec 2015 10:30:50 +0000 (12:30 +0200)]
avformat/mov: support cenc (common encryption)

support reading encrypted mp4 using aes-ctr, conforming to ISO/IEC
23001-7.

a new parameter was added:
- decryption_key - 128 bit decryption key (hex)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/avf_showspectrum: add window overlap support
Paul B Mahol [Tue, 29 Dec 2015 15:52:16 +0000 (16:52 +0100)]
avfilter/avf_showspectrum: add window overlap support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavfilter/avf_showspectrum: add fire color map
Paul B Mahol [Thu, 31 Dec 2015 10:15:10 +0000 (11:15 +0100)]
avfilter/avf_showspectrum: add fire color map

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavfilter/trim: support all channel numbers in atrim filter
Paul B Mahol [Wed, 30 Dec 2015 08:16:54 +0000 (09:16 +0100)]
avfilter/trim: support all channel numbers in atrim filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agolavc/dsd_tablegen: always generate tables at runtime
Ganesh Ajjanagadde [Tue, 29 Dec 2015 16:50:43 +0000 (08:50 -0800)]
lavc/dsd_tablegen: always generate tables at runtime

Commit b272c3a5aa has sped up dsd_tablegen, and now table generation takes
~ 40k cycles. Thus, these tables can always be generated at runtime.

Tested with/without --enable-hardcoded-tables.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoavfilter/vf_scale: set proper out frame color range
Thomas Mundt [Wed, 30 Dec 2015 23:01:21 +0000 (00:01 +0100)]
avfilter/vf_scale: set proper out frame color range

Prevents that following scalers in the filter chain will do unintentional color range conversions.
Fixes Ticket #5096

Signed-off-by: Thomas Mundt <loudmax@yahoo.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agodirac_dwt: remove unnecessary undefs
Rostislav Pehlivanov [Thu, 31 Dec 2015 00:35:06 +0000 (00:35 +0000)]
dirac_dwt: remove unnecessary undefs

They're all undefined within the template file.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
3 years agoconfigure: support --cpu=host and Clang
yukari yakumo [Mon, 14 Dec 2015 15:11:00 +0000 (18:11 +0300)]
configure: support --cpu=host and Clang

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/avf_showspectrum: add nebulae color map
Paul B Mahol [Wed, 30 Dec 2015 20:20:16 +0000 (21:20 +0100)]
avfilter/avf_showspectrum: add nebulae color map

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agomips: put "disable mipsfpu" in a better place for loongson
Vicente Olivert Riera [Thu, 3 Dec 2015 13:22:25 +0000 (13:22 +0000)]
mips: put "disable mipsfpu" in a better place for loongson

Let's disable the ISAs first, and then the core capabilities, as we do
for the rest of the cores. This way the code is better organized.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agomips: add mips32r6 architecture variant
Vicente Olivert Riera [Thu, 3 Dec 2015 13:22:24 +0000 (13:22 +0000)]
mips: add mips32r6 architecture variant

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/movenc: Use strict_std_compliance from the muxer layer instead of the encode...
Michael Niedermayer [Tue, 26 May 2015 23:58:24 +0000 (01:58 +0200)]
avformat/movenc: Use strict_std_compliance from the muxer layer instead of the encoder layer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
3 years agoavfilter/avf_showspectrum: add moreland color map
Paul B Mahol [Wed, 30 Dec 2015 17:35:17 +0000 (18:35 +0100)]
avfilter/avf_showspectrum: add moreland color map

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agolavc/cook: get rid of wasteful pow in init_pow2table
Ganesh Ajjanagadde [Thu, 17 Dec 2015 01:39:28 +0000 (17:39 -0800)]
lavc/cook: get rid of wasteful pow in init_pow2table

The table is highly structured, so pow (or exp2 for that matter) can entirely
be avoided, yielding a ~ 40x speedup with no loss of accuracy.

sample benchmark (Haswell, GNU/Linux):
new:
4449 decicycles in init_pow2table(loop 1000),     254 runs,      2 skips
4411 decicycles in init_pow2table(loop 1000),     510 runs,      2 skips
4391 decicycles in init_pow2table(loop 1000),    1022 runs,      2 skips

old:
183673 decicycles in init_pow2table(loop 1000),     256 runs,      0 skips
182142 decicycles in init_pow2table(loop 1000),     512 runs,      0 skips
182104 decicycles in init_pow2table(loop 1000),    1024 runs,      0 skips

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agolavc/dsd_tablegen: speed up table generation
Ganesh Ajjanagadde [Tue, 29 Dec 2015 16:18:44 +0000 (08:18 -0800)]
lavc/dsd_tablegen: speed up table generation

Tables are bit identical.
Sample benchmark (Haswell, GNU/Linux+gcc):
old:
 814485 decicycles in dsd_ctables_tableinit,     512 runs,      0 skips

new:
 356808 decicycles in dsd_ctable_tableinit,     512 runs,      0 skips

Binary size should essentially be identical, and is in fact identical on
the configuration I tested on.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoconfigure: make gcc 2 detection more robust
Ganesh Ajjanagadde [Wed, 30 Dec 2015 03:01:39 +0000 (19:01 -0800)]
configure: make gcc 2 detection more robust

Solves an issue that will get triggered when gcc 20 rolls in.

Found-by: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoavfilter/avf_showspectrum: add rainbow colormap
Paul B Mahol [Tue, 29 Dec 2015 18:47:32 +0000 (19:47 +0100)]
avfilter/avf_showspectrum: add rainbow colormap

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agooggparsedaala: check number of planes in pixel format map
Andreas Cadhalpun [Tue, 29 Dec 2015 15:38:26 +0000 (16:38 +0100)]
oggparsedaala: check number of planes in pixel format map

This fixes crashes caused by out-of-bounds writes.

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
3 years agoffprobe: avoid unnecessary pow and exp2 calls
Ganesh Ajjanagadde [Wed, 23 Dec 2015 17:49:00 +0000 (09:49 -0800)]
ffprobe: avoid unnecessary pow and exp2 calls

These are just for prefixes and may be hardcoded easily; see lavu/eval
for this approach.

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoffserver: Cast time_t value when using it in a format string.
Carl Eugen Hoyos [Tue, 29 Dec 2015 15:00:34 +0000 (16:00 +0100)]
ffserver: Cast time_t value when using it in a format string.

Fixes ticket #5103.

3 years agolavf/qtpalette: Treat 1-bit video as palettized
Mats Peterson [Tue, 29 Dec 2015 06:35:00 +0000 (07:35 +0100)]
lavf/qtpalette: Treat 1-bit video as palettized

This commit for qtpalette.c and qtpalette.h adds 1-bit video to the
"palettized video" category, since if the video sample description
contains a palette, the two colors in the palette can be any color, not
necessarily black & white.

Unfortunately, I've noticed that the qtrle (QuickTime Animation) decoder
blindly assumes that 1-bit video is black & white. I don't have enough
knowledge about the decoder to fix this, though.

Below is a link to a sample 1-bit QuickTime Animation clip of a rotating
earth that uses blueish colors, and they will be correctly rendered in
QuickTime, but not in FFmpeg (which will use black & white).

https://drive.google.com/open?id=0B3_pEBoLs0faUlItWm9KaGJSTEE

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec: Use get_ue_golomb_long() when needed
Mark Harris [Tue, 29 Dec 2015 07:04:08 +0000 (23:04 -0800)]
avcodec: Use get_ue_golomb_long() when needed

get_ue_golomb() cannot decode values larger than 8190 (the maximum
value that can be golomb encoded in 25 bits) and produces the error
"Invalid UE golomb code" if a larger value is encountered.  Use
get_ue_golomb_long() instead (which supports 63 bits, up to 4294967294)
when valid h264/hevc values can exceed 8190.

This updates decoding of the following values:   (maximum)
  first_mb_in_slice                                36863* for level 5.2
  abs_diff_pic_num_minus1                         131071
  difference_of_pic_nums_minus1                   131071
  idr_pic_id                                       65535
  recovery_frame_cnt                               65535
  frame_packing_arrangement_id                4294967294
  frame_packing_arrangement_repetition_period      16384
  display_orientation_repetition_period            16384

An alternative would be to modify get_ue_golomb() to handle encoded
values of up to 49 bits as was done for get_se_golomb() in a92816c.
In that case get_ue_golomb() could continue to be used for all of
these except frame_packing_arrangement_id.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/avf_showspectrum: properly calculate w factor
Paul B Mahol [Mon, 28 Dec 2015 22:45:34 +0000 (23:45 +0100)]
avfilter/avf_showspectrum: properly calculate w factor

It is used in calculating loudness of each frequency bin.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavfilter/avf_showspectrum: add horizontal orientation support
Paul B Mahol [Tue, 29 Dec 2015 08:45:44 +0000 (09:45 +0100)]
avfilter/avf_showspectrum: add horizontal orientation support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agolavfi/af_anequalizer: replace pow(x,-2) by 1/(x*x)
Ganesh Ajjanagadde [Mon, 28 Dec 2015 00:50:09 +0000 (16:50 -0800)]
lavfi/af_anequalizer: replace pow(x,-2) by 1/(x*x)

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agolavfi/af_anequalizer: replace pow(10,x) by ff_exp10(x)
Ganesh Ajjanagadde [Mon, 28 Dec 2015 00:48:52 +0000 (16:48 -0800)]
lavfi/af_anequalizer: replace pow(10,x) by ff_exp10(x)

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agolavfi/af_anequalizer: remove cabs, cexp dependencies
Ganesh Ajjanagadde [Sun, 27 Dec 2015 05:51:28 +0000 (21:51 -0800)]
lavfi/af_anequalizer: remove cabs, cexp dependencies

Replaces by real arithmetic. Tested the validity of these transformations separately.
Numerical differences are ~1e-15, and should not matter: it is not even
clear which is more precise mathematically.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agoavfilter/avf_showspectrum: use FF_ARRAY_ELEMS()
Paul B Mahol [Mon, 28 Dec 2015 22:04:40 +0000 (23:04 +0100)]
avfilter/avf_showspectrum: use FF_ARRAY_ELEMS()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agox86/vf_stereo3d: make ff_anaglyph_sse4 work on x86_32
James Almer [Sun, 27 Dec 2015 21:52:00 +0000 (18:52 -0300)]
x86/vf_stereo3d: make ff_anaglyph_sse4 work on x86_32

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
3 years agox86/vf_stereo3d: optimize register usage
James Almer [Sun, 27 Dec 2015 20:44:48 +0000 (17:44 -0300)]
x86/vf_stereo3d: optimize register usage

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavfilter/avf_showspectrum: make colors for log scale more user friendly
Paul B Mahol [Mon, 28 Dec 2015 19:20:32 +0000 (20:20 +0100)]
avfilter/avf_showspectrum: make colors for log scale more user friendly

Previosly output was almost useless because background noise, due to
windowing function picked and which is not actually present in audio,
had too much brightness.
Now output of sine wave matches more with SoX.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavfilter/avf_showspectrum: use ff_generate_window_func
Paul B Mahol [Mon, 28 Dec 2015 17:51:56 +0000 (18:51 +0100)]
avfilter/avf_showspectrum: use ff_generate_window_func

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavfilter: move window function generation into separate file
Paul B Mahol [Mon, 28 Dec 2015 17:39:31 +0000 (18:39 +0100)]
avfilter: move window function generation into separate file

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavfilter/avf_showspectrum: add rscroll sliding mode
Paul B Mahol [Mon, 28 Dec 2015 17:14:46 +0000 (18:14 +0100)]
avfilter/avf_showspectrum: add rscroll sliding mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavformat/http: Documented http_proxy option
Joel Holdsworth [Mon, 28 Dec 2015 09:50:15 +0000 (09:50 +0000)]
avformat/http: Documented http_proxy option

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agolavf/mpegtsenc: add automatic bitstream filtering
Rodger Combs [Mon, 30 Nov 2015 09:00:41 +0000 (03:00 -0600)]
lavf/mpegtsenc: add automatic bitstream filtering

3 years agolavf/matroskaenc: add automatic bitstream filtering
Rodger Combs [Thu, 8 Oct 2015 02:34:06 +0000 (21:34 -0500)]
lavf/matroskaenc: add automatic bitstream filtering

3 years agolavf: add internal API to append a bsf to a stream's list
Rodger Combs [Thu, 8 Oct 2015 02:10:08 +0000 (21:10 -0500)]
lavf: add internal API to append a bsf to a stream's list

3 years agolavf: add automatic bitstream filtering; bump version
Rodger Combs [Thu, 8 Oct 2015 02:32:14 +0000 (21:32 -0500)]
lavf: add automatic bitstream filtering; bump version

This solves the problem discussed in https://ffmpeg.org/pipermail/ffmpeg-devel/2015-September/179238.html
by allowing AVCodec::write_header to be delayed until after packets have been
run through required bitstream filters in order to generate global extradata.

It also provides a mechanism by which a muxer can add a bitstream filter to a
stream automatically, rather than prompting the user to do so.

3 years agolavf/tee: use lavf API for applying bitstream filters
Rodger Combs [Thu, 8 Oct 2015 19:52:48 +0000 (14:52 -0500)]
lavf/tee: use lavf API for applying bitstream filters

3 years agoffmpeg: use lavf API for applying bitstream filters
Rodger Combs [Thu, 8 Oct 2015 02:24:40 +0000 (21:24 -0500)]
ffmpeg: use lavf API for applying bitstream filters

3 years agolavf: add API to apply a list of bsfs to a packet
Rodger Combs [Thu, 8 Oct 2015 02:23:11 +0000 (21:23 -0500)]
lavf: add API to apply a list of bsfs to a packet

3 years agodoc/filters: add one more silenceremove example
Paul B Mahol [Mon, 28 Dec 2015 11:20:11 +0000 (12:20 +0100)]
doc/filters: add one more silenceremove example

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavfilter/af_silenceremove: make size of window user configurable
Paul B Mahol [Mon, 28 Dec 2015 11:02:14 +0000 (12:02 +0100)]
avfilter/af_silenceremove: make size of window user configurable

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavfilter/af_silenceremove: lower number of operations in for loop
Paul B Mahol [Mon, 28 Dec 2015 10:41:53 +0000 (11:41 +0100)]
avfilter/af_silenceremove: lower number of operations in for loop

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavcodec: properly check pkt_timebase for validity
Hendrik Leppkes [Sun, 27 Dec 2015 19:00:10 +0000 (20:00 +0100)]
avcodec: properly check pkt_timebase for validity

Unset/invalid timebases have a zero numerator.
This makes the checks consistent with other timebase checks and fixes an
integer division by 0.

3 years agoRevert "ffplay: Fix auto insertion point of rotation filter"
Michael Niedermayer [Mon, 28 Dec 2015 02:44:31 +0000 (03:44 +0100)]
Revert "ffplay: Fix auto insertion point of rotation filter"

Revert requested by Balint Marton <cus@passwd.hu>

See: [FFmpeg-devel] ffplay: insertion point of the auto rotation filter - Github ticket #141

This reverts commit 9cc1e644f39ed6a32e3a9bf5d0d6d663ca5791ab.

3 years agoavformat/qtpalette: Move ff_get_qtpalette() doxy to header
Michael Niedermayer [Mon, 28 Dec 2015 02:18:20 +0000 (03:18 +0100)]
avformat/qtpalette: Move ff_get_qtpalette() doxy to header

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/matroskadec: palettized QuickTime video in Matroska
Mats Peterson [Sun, 27 Dec 2015 20:28:09 +0000 (21:28 +0100)]
avformat/matroskadec: palettized QuickTime video in Matroska

Palettized QuickTime video in Matroska has hitherto not been recognized
whatsoever, and the "palette" used has been completely random.

The patch for matroskadec.c fixes this issue by adding a palette side
data packet in matroska_deliver_packet(), much in the same way as it's
done in mov.c.

Video samples for testing are available at
https://drive.google.com/open?id=0B3_pEBoLs0faWElmM2FnLTZYNlk.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat: factor ff_get_qtpalette() out of mov.c
Mats Peterson [Sun, 27 Dec 2015 20:28:09 +0000 (21:28 +0100)]
avformat: factor ff_get_qtpalette() out of mov.c

This consists mainly of moving the palette handling from
the mov_parse_stsd_video() function to a new ff_get_qtpalette() function
in the new file qtpalette.c, which will be shared by both matroskadec.c and
mov.c.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/hls: Added http_proxy support
Joel Holdsworth [Sun, 27 Dec 2015 12:21:45 +0000 (12:21 +0000)]
avformat/hls: Added http_proxy support

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/hls: Remember to free HLSContext::headers
Joel Holdsworth [Sun, 27 Dec 2015 12:21:44 +0000 (12:21 +0000)]
avformat/hls: Remember to free HLSContext::headers

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/http: Added http_proxy option
Joel Holdsworth [Sun, 27 Dec 2015 12:21:43 +0000 (12:21 +0000)]
avformat/http: Added http_proxy option

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/af_silenceremove: add peak detector
Paul B Mahol [Sun, 27 Dec 2015 19:45:46 +0000 (20:45 +0100)]
avfilter/af_silenceremove: add peak detector

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoavcodec/on2avc: Fix stability issues with scale_tab generation
Michael Niedermayer [Sun, 27 Dec 2015 09:55:48 +0000 (10:55 +0100)]
avcodec/on2avc: Fix stability issues with scale_tab generation

This also simplifies the code
the resulting values are binary identical to what pow(10, i/10.0) produces

3 years agoavio: add detail to avio_printf() size warning
Reynaldo H. Verdejo Pinochet [Wed, 23 Dec 2015 23:05:32 +0000 (15:05 -0800)]
avio: add detail to avio_printf() size warning

Previous "currently size is limited" didn't give away
much in terms of useful info.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3 years agoffserver: add a doctype heading to our HTML pages
Reynaldo H. Verdejo Pinochet [Wed, 23 Dec 2015 06:24:40 +0000 (22:24 -0800)]
ffserver: add a doctype heading to our HTML pages

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3 years agoffserver: HTML encode msgs instead of blindly stripping chars out
Reynaldo H. Verdejo Pinochet [Tue, 22 Dec 2015 08:53:38 +0000 (00:53 -0800)]
ffserver: HTML encode msgs instead of blindly stripping chars out

Fixes weirdness like our "??filename? not found" 404.

None of the chars being used from the previously blacklisted
list needs to be scaped on an UTF-8 document context

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3 years agoffserver: make our 404 explicitly HTML5/UTF-8
Reynaldo H. Verdejo Pinochet [Tue, 22 Dec 2015 19:28:56 +0000 (11:28 -0800)]
ffserver: make our 404 explicitly HTML5/UTF-8

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3 years agolavc/snowenc: replace rint by lrint
Ganesh Ajjanagadde [Fri, 25 Dec 2015 23:56:03 +0000 (15:56 -0800)]
lavc/snowenc: replace rint by lrint

avoids float to int cast.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agolavc/dds: replace rint by lrint
Ganesh Ajjanagadde [Fri, 25 Dec 2015 23:54:16 +0000 (15:54 -0800)]
lavc/dds: replace rint by lrint

avoids float to int cast.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
3 years agolavc/texturedsp: replace rint by lrint
Ganesh Ajjanagadde [Fri, 25 Dec 2015 21:22:00 +0000 (13:22 -0800)]
lavc/texturedsp: replace rint by lrint

avoids float to int cast.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>