ffmpeg.git
4 years agolibavformat/avio: added avio_put_str16be
Mark Reid [Tue, 3 Mar 2015 04:06:13 +0000 (20:06 -0800)]
libavformat/avio: added avio_put_str16be

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoAAC: Fix M/S stereo encoding
Claudio Freire [Tue, 3 Mar 2015 06:43:06 +0000 (03:43 -0300)]
AAC: Fix M/S stereo encoding

This patch fixes a pointer arithmetic bug in adjust_frame_information that resulted in heavily corrupted audio when using M/S encoding. Also, a backup copy of untransformed coefficients has to be kept around or attempts at re-processing the frame (which happens when hevavily overspending bits during transients) will result in re-encoding of the coefficients and subsequent corruption of the resulting stream.

A/B testing shows the bug as corrected, but still cannot prove that M/S coding is a win at least in numbers. Limited listening tests do show improvement on M/S encoded samples in lower bitrates, but they're hidden among the other artifacts that remain to be corrected in the encoder.

Some of the regressions flagged in the report do show poor stereo image (but not buggy), so M/S encoding is clearly not good enough yet to be defaulted to auto.

In numbers, Patched against Unpatched, stereo_mode auto:

  Files: 114
  Bitrates: 6
  Tests: 683

  Serious Regressions: 0 (0%)
  Regressions: 0 (0%)
  Improvements: 227 (33%)
  Big improvements: 92 (13%)
  Worst regression - mybloodrusts.wv - 256k
    - StdDev: 28.61       pSNR: -0.43     maxdiff: 1372.00
  Best improvement - 60.wv - 384k
    - StdDev: -369.57     pSNR: 45.02     maxdiff: -13322.00
  Average          - StdDev: -80.56       pSNR: 2.49      maxdiff: -8858.00

Patched against Unpatched stereo_mode ms_off shows no difference.

Patched stereo_mode auto vs Unpatched stereo_mode ms_off shows a small average improvement, just not too significant:

  Serious Regressions: 0 (0%)
  Regressions: 10 (1%)
  Improvements: 45 (6%)
  Big improvements: 2 (0%)
  Worst regression - Illinois.wv - 256k
    - StdDev: 33.20       pSNR: -2.03     maxdiff: 477.00
  Best improvement - song_of_circomstances.flac - 384k
    - StdDev: -3.97       pSNR: 7.61      maxdiff: -826.00
  Average          - StdDev: -10.25       pSNR: 0.20      maxdiff: -281.00

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agofix VP9 packet decoder returning 0 instead of the used data size
Steve Lhomme [Tue, 3 Mar 2015 11:06:40 +0000 (12:06 +0100)]
fix VP9 packet decoder returning 0 instead of the used data size

See https://trac.videolan.org/vlc/ticket/14022#comment:6

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/rv10: check size of s->mb_width * s->mb_height
Andreas Cadhalpun [Mon, 2 Mar 2015 19:27:26 +0000 (20:27 +0100)]
avcodec/rv10: check size of s->mb_width * s->mb_height

If it doesn't fit into 12 bits it triggers an assertion.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/mxfenc: adjust product name when opatom muxer is used
Robert Krüger [Sun, 1 Mar 2015 12:02:20 +0000 (13:02 +0100)]
avformat/mxfenc: adjust product name when opatom muxer is used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/webp: validate the distance prefix code
Andreas Cadhalpun [Mon, 2 Mar 2015 19:47:57 +0000 (20:47 +0100)]
avcodec/webp: validate the distance prefix code

According to the WebP Lossless Bitstream Specification the highest
allowed value for a prefix code is 39.

If prefix_code is too large, the calculated extra_bits has an invalid
value and triggers an assertion in get_bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/proresenc_kostya: fix coded_frame handling
Clément Bœsch [Mon, 2 Mar 2015 19:55:16 +0000 (20:55 +0100)]
avcodec/proresenc_kostya: fix coded_frame handling

4 years agoMerge commit '33d412eb4a2a083c1514ddbe69295b37e1918a8c'
Michael Niedermayer [Mon, 2 Mar 2015 20:52:57 +0000 (21:52 +0100)]
Merge commit '33d412eb4a2a083c1514ddbe69295b37e1918a8c'

* commit '33d412eb4a2a083c1514ddbe69295b37e1918a8c':
  dashenc: Simplify code by using a local variable

Conflicts:
libavformat/dashenc.c

See: b86af8da3100a7eef3247747cd469b988f134e0d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/dashenc: Update codec_str on extradata_size change
Timo Rothenpieler [Sun, 1 Mar 2015 21:59:55 +0000 (22:59 +0100)]
avformat/dashenc: Update codec_str on extradata_size change

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/dashenc: Use local variable instead of duplicated dereferences
Timo Rothenpieler [Sun, 1 Mar 2015 21:59:55 +0000 (22:59 +0100)]
avformat/dashenc: Use local variable instead of duplicated dereferences

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/vf_tblend: use av_frame_free for freeing an AVFrame
Clément Bœsch [Sat, 28 Feb 2015 09:37:36 +0000 (10:37 +0100)]
avfilter/vf_tblend: use av_frame_free for freeing an AVFrame

4 years agoavfilter/lavfutils: use av_frame_free for freeing an AVFrame
Clément Bœsch [Sat, 28 Feb 2015 09:37:23 +0000 (10:37 +0100)]
avfilter/lavfutils: use av_frame_free for freeing an AVFrame

4 years agoavcodec: use av_frame_free() for coded_frame
Clément Bœsch [Sat, 28 Feb 2015 09:36:16 +0000 (10:36 +0100)]
avcodec: use av_frame_free() for coded_frame

4 years agoMerge commit '91eee2af87278b3c2008f7a86d2cdfe6934e9f42'
Michael Niedermayer [Mon, 2 Mar 2015 19:52:34 +0000 (20:52 +0100)]
Merge commit '91eee2af87278b3c2008f7a86d2cdfe6934e9f42'

* commit '91eee2af87278b3c2008f7a86d2cdfe6934e9f42':
  Revert "mov: Change DTS-based seek into CTS-based seek."

Conflicts:
libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoRevert "avformat/mov: Bypass av_add_index_entry()"
Michael Niedermayer [Mon, 2 Mar 2015 19:43:32 +0000 (20:43 +0100)]
Revert "avformat/mov: Bypass av_add_index_entry()"

Next commit will revert the PTS seeking so this is not needed anymore

This reverts commit 38e641a060e0c00930851a8053ca96250b3ecccc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '9a26ba971387a348e14f363ddcdcb5bba0b413d1'
Michael Niedermayer [Mon, 2 Mar 2015 19:30:54 +0000 (20:30 +0100)]
Merge commit '9a26ba971387a348e14f363ddcdcb5bba0b413d1'

* commit '9a26ba971387a348e14f363ddcdcb5bba0b413d1':
  v4l2: Add support for h264

Conflicts:
libavdevice/v4l2.c

See: 0fb79f30db138e3686fbfcf88ba58ea7c1e61bfc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '619d5e7db88941cadb8136f805564e885c6c6434'
Michael Niedermayer [Mon, 2 Mar 2015 19:16:22 +0000 (20:16 +0100)]
Merge commit '619d5e7db88941cadb8136f805564e885c6c6434'

* commit '619d5e7db88941cadb8136f805564e885c6c6434':
  v4l2: Use the codec descriptor facility

Conflicts:
libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'dbc1163b203b175d246b7454c32ac176f84006d1'
Michael Niedermayer [Mon, 2 Mar 2015 19:00:43 +0000 (20:00 +0100)]
Merge commit 'dbc1163b203b175d246b7454c32ac176f84006d1'

* commit 'dbc1163b203b175d246b7454c32ac176f84006d1':
  prores: Extend the padding check to 16bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agodashenc: Simplify code by using a local variable
Martin Storsjö [Mon, 2 Mar 2015 12:10:22 +0000 (14:10 +0200)]
dashenc: Simplify code by using a local variable

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agohevc/sao: use unaligned copy
Christophe Gisquet [Mon, 2 Mar 2015 17:17:28 +0000 (18:17 +0100)]
hevc/sao: use unaligned copy

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/rm: limit packet size
Andreas Cadhalpun [Mon, 2 Mar 2015 14:46:44 +0000 (15:46 +0100)]
avformat/rm: limit packet size

The chunk size is limited to 0xFFFF (written by avio_wb16), so make
sure that the packet size is not too large.

Such large frames need to be split into slices smaller than 64 kB, but
that is currently supported neither by the rv10/rv20 encoders nor the rm
muxer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
See Ticket244

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/pngenc: replace round by lrint()
Michael Niedermayer [Mon, 2 Mar 2015 13:54:31 +0000 (14:54 +0100)]
avcodec/pngenc: replace round by lrint()

Avoids passing double to AV_WB32()

Suggested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoconfigure/help: consistently use "autodetect"
Clément Bœsch [Mon, 2 Mar 2015 13:56:05 +0000 (14:56 +0100)]
configure/help: consistently use "autodetect"

4 years agoavcodec/aacpsy: Fix AAC Psy PE reduction calculation when multiple iterations are...
Claudio Freire [Sun, 1 Mar 2015 23:11:12 +0000 (20:11 -0300)]
avcodec/aacpsy: Fix AAC Psy PE reduction calculation when multiple iterations are required

This is a small change, but it does have a big impact on bit allocation.

all the regressions marked in the report have no audible
difference (I didn't check them all though), but the improvements can
be heard.

This affects mostly high bit rates. It's related to issue #2686.

In the report, A is the patched version, B is unpatched, all
comparisons show deltas in the form (A-B), so a positive pSNR delta
means a better quality in the patched version, and negative a
regression. Regressions are only considered for pSNR deltas below
-1db, they're considered serious below -6db.

All measurements were done with tiny_psnr.

The summary of the report inline for quick reading:

Files: 58
Bitrates: 6
Tests: 347
Serious Regressions: 0 (0%)
Regressions: 10 (2%)
Improvements: 54 (15%)
Big improvements: 26 (7%)
Worst regression - sine_tester.flac - 384k
  - StdDev: 1.68        pSNR: -3.05     maxdiff: -178.00
Best improvement - 07 - Bound.flac - 384k
  - StdDev: -1700.05    pSNR: 20.64     maxdiff: -29595.00
Average          - StdDev: -55.67       pSNR: 1.20      maxdiff: -1593.00

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoRevert "mov: Change DTS-based seek into CTS-based seek."
Martin Storsjö [Sat, 28 Feb 2015 21:51:16 +0000 (23:51 +0200)]
Revert "mov: Change DTS-based seek into CTS-based seek."

This reverts commit 4abfa387b8234736f6e0e541951e3d5eb60eb843.

This commit broke playback of fragmented mp4 files with b-frames.
While investigating this, it turned out that the general framework
isn't ready for a PTS-based index yet. Revert this change until
a better thought out solution is in place.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agov4l2: Add support for h264
Luca Barbato [Fri, 27 Feb 2015 00:34:52 +0000 (01:34 +0100)]
v4l2: Add support for h264

4 years agoMAINTAINERS: add myself as rtpdec_mpa_robust maintainer
Gilles Chanteperdrix [Mon, 2 Mar 2015 10:00:17 +0000 (11:00 +0100)]
MAINTAINERS: add myself as rtpdec_mpa_robust maintainer

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/rtpdec_mpa_robust: fix commit 96084251e57d1738fde02a2b0d37ca609d9efd71
Gilles Chanteperdrix [Mon, 2 Mar 2015 10:00:16 +0000 (11:00 +0100)]
avformat/rtpdec_mpa_robust: fix commit 96084251e57d1738fde02a2b0d37ca609d9efd71

Commit 96084251e57d1738fde02a2b0d37ca609d9efd71 introduced a change in
the parser implementation which broke it. Restore the original
implementation.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agov4l2: Use the codec descriptor facility
Luca Barbato [Fri, 27 Feb 2015 01:12:33 +0000 (02:12 +0100)]
v4l2: Use the codec descriptor facility

The encoder or decoder might be disabled but the format would be
supported for at least remuxing.

4 years agoprores: Extend the padding check to 16bit
Luca Barbato [Wed, 25 Feb 2015 14:29:15 +0000 (15:29 +0100)]
prores: Extend the padding check to 16bit

Some files produced by the official encoder have up to 16bit of
padding instead of the expected padding to the byte.

Use a self-explanatory macro instead of a simple number.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agotests/fate: Add S302M test
Michael Niedermayer [Sun, 1 Mar 2015 22:59:49 +0000 (23:59 +0100)]
tests/fate: Add S302M test

Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/af_aphaser: Change type to int as its accessed as int via AVOptions
Michael Niedermayer [Mon, 2 Feb 2015 22:10:02 +0000 (23:10 +0100)]
avfilter/af_aphaser: Change type to int as its accessed as int via AVOptions

This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/af_biquads: Change width_type to int as its accessed as int via AVOptions
Michael Niedermayer [Mon, 2 Feb 2015 22:09:35 +0000 (23:09 +0100)]
avfilter/af_biquads: Change width_type to int as its accessed as int via AVOptions

This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/af_volume: Change enums to int, which are accessed via AVOption as int
Michael Niedermayer [Mon, 2 Feb 2015 22:09:16 +0000 (23:09 +0100)]
avfilter/af_volume: Change enums to int, which are accessed via AVOption as int

This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/avf_avectorscope: Change enums to int, which are accessed via AVOption as int
Michael Niedermayer [Mon, 2 Feb 2015 22:08:46 +0000 (23:08 +0100)]
avfilter/avf_avectorscope: Change enums to int, which are accessed via AVOption as int

This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/avf_showspectrum: Change enums to int, which are accessed via AVOption as int
Michael Niedermayer [Mon, 2 Feb 2015 22:07:54 +0000 (23:07 +0100)]
avfilter/avf_showspectrum: Change enums to int, which are accessed via AVOption as int

This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/libfdk-aacdec: Change conceal_method to int, its accessed via AVOption as int
Michael Niedermayer [Mon, 2 Feb 2015 21:50:37 +0000 (22:50 +0100)]
avcodec/libfdk-aacdec: Change conceal_method to int, its accessed via AVOption as int

This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoffprobe: Change string_validation to int, its accessed via AVOption as int
Michael Niedermayer [Mon, 2 Feb 2015 21:49:25 +0000 (22:49 +0100)]
ffprobe: Change string_validation to int, its accessed via AVOption as int

This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/vf_drawbox: Fix handling of max values
Michael Niedermayer [Mon, 2 Mar 2015 01:32:55 +0000 (02:32 +0100)]
avfilter/vf_drawbox: Fix handling of max values

Fixes Ticket4332

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavutil/common: minor simplification in av_clip_intp2_c()
Michael Niedermayer [Fri, 27 Feb 2015 21:34:10 +0000 (22:34 +0100)]
avutil/common: minor simplification in av_clip_intp2_c()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agox86/hevc_sao: use unaligned movs for sao_{band,filter} with width 8
James Almer [Sun, 1 Mar 2015 21:05:41 +0000 (18:05 -0300)]
x86/hevc_sao: use unaligned movs for sao_{band,filter} with width 8

Suggested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoavutil/opt: also test av_opt_show2()
Michael Niedermayer [Fri, 27 Feb 2015 22:37:56 +0000 (23:37 +0100)]
avutil/opt: also test av_opt_show2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavutil/opt: Remove odd trailing whitespace bytes from flags help description
Michael Niedermayer [Sun, 1 Mar 2015 16:29:33 +0000 (17:29 +0100)]
avutil/opt: Remove odd trailing whitespace bytes from flags help description

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavutil/opt: Also test/compare the av_log output i the selftest
Michael Niedermayer [Fri, 27 Feb 2015 22:35:01 +0000 (23:35 +0100)]
avutil/opt: Also test/compare the av_log output i the selftest

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/mpegenc: Ignore max_delay if no other options remain
Michael Niedermayer [Sun, 1 Mar 2015 15:47:36 +0000 (16:47 +0100)]
avformat/mpegenc: Ignore max_delay if no other options remain

Fixes assertion failure
Fixes Ticket4335

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/mips/Makefile: Build fmtconvert_mips only if CONFIG_FMTCONVERT is set
Michael Niedermayer [Sun, 1 Mar 2015 02:48:44 +0000 (03:48 +0100)]
avcodec/mips/Makefile: Build fmtconvert_mips only if CONFIG_FMTCONVERT is set

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoRevert "rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA"
Gilles Chanteperdrix [Sat, 28 Feb 2015 22:15:41 +0000 (23:15 +0100)]
Revert "rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA"

This reverts commit 26524e358147aade6e9dd18fff42d61b966bbc70.

If we want the T.140 codec to have the AV_CODEC_ID_TEXT codec id,
its type needs to be AVMEDIA_TYPE_SUBTITLE, so, keep interpreting
the text media type as AVMEDIA_TYPE_SUBTITLE.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat: map T.140 RTP codec to text
Gilles Chanteperdrix [Sat, 28 Feb 2015 22:15:40 +0000 (23:15 +0100)]
avformat: map T.140 RTP codec to text

This makes more sense than mapping to AV_CODEC_ID_SUBRIP. Nothing
indicates that a T.140 track contains subrip sub-titles.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavutil/ppc/intreadwrite: remove AV_??64 overriding code
Michael Niedermayer [Fri, 27 Feb 2015 20:45:00 +0000 (21:45 +0100)]
avutil/ppc/intreadwrite: remove AV_??64 overriding code

The code has undefined behavior and makes no difference when optimizations
are enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/af_volume: fix precision=fixed and volume=0 case
Gilles Chanteperdrix [Sat, 28 Feb 2015 22:15:39 +0000 (23:15 +0100)]
avfilter/af_volume: fix precision=fixed and volume=0 case

When precision is fixed and volume is 0, filter_frame does not
perform any operation on the output buffer. This works if the
output buffer has been allocated and zeroed with ff_get_audio_buffer
but not if the input buffer is used as output buffer.

Fix this by not using the input buffer as output buffer if
precision is fixed and volume is 0.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '4f6cd883f06f7893a2b60a41e7a4f8ae633dac2f'
Michael Niedermayer [Sun, 1 Mar 2015 00:31:45 +0000 (01:31 +0100)]
Merge commit '4f6cd883f06f7893a2b60a41e7a4f8ae633dac2f'

* commit '4f6cd883f06f7893a2b60a41e7a4f8ae633dac2f':
  rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'bde2bba45c2f2df27a8534028bda09a6e7f835e2'
Michael Niedermayer [Sun, 1 Mar 2015 00:31:26 +0000 (01:31 +0100)]
Merge commit 'bde2bba45c2f2df27a8534028bda09a6e7f835e2'

* commit 'bde2bba45c2f2df27a8534028bda09a6e7f835e2':
  rtpenc: Restructure if statements in packetizers to simplify adding more conditions

Conflicts:
libavformat/rtpenc_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'd4c7fc02f9f59e721e76debf4a595df529707545'
Michael Niedermayer [Sun, 1 Mar 2015 00:24:23 +0000 (01:24 +0100)]
Merge commit 'd4c7fc02f9f59e721e76debf4a595df529707545'

* commit 'd4c7fc02f9f59e721e76debf4a595df529707545':
  rtpenc: Skip redundant initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'f8c01257f93ceda3e03bc4e540a51022d1e2bff2'
Michael Niedermayer [Sun, 1 Mar 2015 00:23:32 +0000 (01:23 +0100)]
Merge commit 'f8c01257f93ceda3e03bc4e540a51022d1e2bff2'

* commit 'f8c01257f93ceda3e03bc4e540a51022d1e2bff2':
  rtpenc: Always do the default initialization regardless of codecs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '11edeaea3293c41ecf577a330422eabba35f76a2'
Michael Niedermayer [Sun, 1 Mar 2015 00:17:24 +0000 (01:17 +0100)]
Merge commit '11edeaea3293c41ecf577a330422eabba35f76a2'

* commit '11edeaea3293c41ecf577a330422eabba35f76a2':
  rtpenc_xiph: Don't exclude headers from max_payload_size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '7c1e2e64667421f931ab48141517f19d309c7eea'
Michael Niedermayer [Sun, 1 Mar 2015 00:17:10 +0000 (01:17 +0100)]
Merge commit '7c1e2e64667421f931ab48141517f19d309c7eea'

* commit '7c1e2e64667421f931ab48141517f19d309c7eea':
  rtpenc_xiph: Use AV_WB16 instead of manual bitshifts

Conflicts:
libavformat/rtpenc_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'd16c8d28d4e2fca3af1054ffbf635c8cee755fc8'
Michael Niedermayer [Sun, 1 Mar 2015 00:08:00 +0000 (01:08 +0100)]
Merge commit 'd16c8d28d4e2fca3af1054ffbf635c8cee755fc8'

* commit 'd16c8d28d4e2fca3af1054ffbf635c8cee755fc8':
  rtpenc_aac: Use AV_WB16 instead of manual bitshifts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '9c9b0218e85fcd969308632f75af48a4ce229541'
Michael Niedermayer [Sun, 1 Mar 2015 00:07:42 +0000 (01:07 +0100)]
Merge commit '9c9b0218e85fcd969308632f75af48a4ce229541'

* commit '9c9b0218e85fcd969308632f75af48a4ce229541':
  rtpenc_aac: Merge a definition with a declaration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '1fc64e2e07787bbca82a72c146588e850e6d098a'
Michael Niedermayer [Sun, 1 Mar 2015 00:00:57 +0000 (01:00 +0100)]
Merge commit '1fc64e2e07787bbca82a72c146588e850e6d098a'

* commit '1fc64e2e07787bbca82a72c146588e850e6d098a':
  rtpenc: Write conditional statements on separate lines

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '0662440b991361fdb5e732712d997a73e4692e34'
Michael Niedermayer [Sun, 1 Mar 2015 00:00:40 +0000 (01:00 +0100)]
Merge commit '0662440b991361fdb5e732712d997a73e4692e34'

* commit '0662440b991361fdb5e732712d997a73e4692e34':
  rtpenc_aac: Set a default value for max_frames_per_packet at init

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '12b3459979f5ea6481660cd2c99a0381e2b5ba37'
Michael Niedermayer [Sat, 28 Feb 2015 23:48:20 +0000 (00:48 +0100)]
Merge commit '12b3459979f5ea6481660cd2c99a0381e2b5ba37'

* commit '12b3459979f5ea6481660cd2c99a0381e2b5ba37':
  rtpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '98563953442560dd83aab938f86de3e5a22a891f'
Michael Niedermayer [Sat, 28 Feb 2015 23:48:00 +0000 (00:48 +0100)]
Merge commit '98563953442560dd83aab938f86de3e5a22a891f'

* commit '98563953442560dd83aab938f86de3e5a22a891f':
  rtpenc_aac: Fix sending fragmented frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '990e4a6639d0714198583c2812b1074b5751898f'
Michael Niedermayer [Sat, 28 Feb 2015 23:30:20 +0000 (00:30 +0100)]
Merge commit '990e4a6639d0714198583c2812b1074b5751898f'

* commit '990e4a6639d0714198583c2812b1074b5751898f':
  Add a QSV decoding example.

Conflicts:
configure
doc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'ea1d0b7ece1881c2f1360f8c1e2116791105af21'
Michael Niedermayer [Sat, 28 Feb 2015 23:18:09 +0000 (00:18 +0100)]
Merge commit 'ea1d0b7ece1881c2f1360f8c1e2116791105af21'

* commit 'ea1d0b7ece1881c2f1360f8c1e2116791105af21':
  avcodec/utils: use correct printf specifier in ff_set_sar

See: 732c3ebffaff5005367d7f947fa903f3b6e92f68
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '802987f8c7033ec8b82b35438d3822cf7f761166'
Michael Niedermayer [Sat, 28 Feb 2015 23:17:36 +0000 (00:17 +0100)]
Merge commit '802987f8c7033ec8b82b35438d3822cf7f761166'

* commit '802987f8c7033ec8b82b35438d3822cf7f761166':
  x11grab: Unbreak building

Conflicts:
libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '71f1ad37d858b810b71a4af1c25771beaa50b27b'
Michael Niedermayer [Sat, 28 Feb 2015 23:06:42 +0000 (00:06 +0100)]
Merge commit '71f1ad37d858b810b71a4af1c25771beaa50b27b'

* commit '71f1ad37d858b810b71a4af1c25771beaa50b27b':
  lavc: do not compile fmtconvert unconditionally

Conflicts:
configure
libavcodec/ppc/Makefile
libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'd74a8cb7e42f703be5796eeb485f06af710ae8ca'
Michael Niedermayer [Sat, 28 Feb 2015 22:56:45 +0000 (23:56 +0100)]
Merge commit 'd74a8cb7e42f703be5796eeb485f06af710ae8ca'

* commit 'd74a8cb7e42f703be5796eeb485f06af710ae8ca':
  fmtconvert: drop unused functions

Conflicts:
libavcodec/arm/fmtconvert_vfp_armv6.S
libavcodec/x86/fmtconvert.asm
libavcodec/x86/fmtconvert_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'ee964145b5d229571e00bf6883a44189d02babe2'
Michael Niedermayer [Sat, 28 Feb 2015 22:41:36 +0000 (23:41 +0100)]
Merge commit 'ee964145b5d229571e00bf6883a44189d02babe2'

* commit 'ee964145b5d229571e00bf6883a44189d02babe2':
  lavc: remove unused traces of fmtconvert usage

Conflicts:
libavcodec/aac.h
libavcodec/aacdec.c
libavcodec/atrac3.c
libavcodec/vorbisdec.c
libavcodec/wma.c
libavcodec/wma.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'b9d2d6843a49f9df1d1ae1afe817d9b48c445919'
Michael Niedermayer [Sat, 28 Feb 2015 22:32:33 +0000 (23:32 +0100)]
Merge commit 'b9d2d6843a49f9df1d1ae1afe817d9b48c445919'

* commit 'b9d2d6843a49f9df1d1ae1afe817d9b48c445919':
  tls: Pass AVOptions dictionaries through to the chained protocol

Conflicts:
libavformat/tls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'e14f98c62fdf8744b07419314095d1b3248cce75'
Michael Niedermayer [Sat, 28 Feb 2015 22:20:39 +0000 (23:20 +0100)]
Merge commit 'e14f98c62fdf8744b07419314095d1b3248cce75'

* commit 'e14f98c62fdf8744b07419314095d1b3248cce75':
  tcp: Clarify the units for the timeout avoptions

Conflicts:
libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31'
Michael Niedermayer [Sat, 28 Feb 2015 22:02:36 +0000 (23:02 +0100)]
Merge commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31'

* commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31':
  avio: Rename avclass symbols relating to avio

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/flvenc: check that the codec_tag fits in the available bits
Andreas Cadhalpun [Sat, 28 Feb 2015 19:58:31 +0000 (20:58 +0100)]
avformat/flvenc: check that the codec_tag fits in the available bits

flags is later written with avio_w8 and if it doesn't fit in one byte it
triggers an av_assert2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/utils: use correct printf specifier in ff_set_sar
Andreas Cadhalpun [Sat, 28 Feb 2015 19:11:36 +0000 (20:11 +0100)]
avcodec/utils: use correct printf specifier in ff_set_sar

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavutil/imgutils: correctly check for negative SAR components
Michael Niedermayer [Sat, 28 Feb 2015 20:57:11 +0000 (21:57 +0100)]
avutil/imgutils: correctly check for negative SAR components

These could trigger assert failures previously

Found-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agortpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate
Martin Storsjö [Wed, 25 Feb 2015 22:00:39 +0000 (00:00 +0200)]
rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate

Instead check the timestamps while muxing, to avoid buffering a
too long timestamp range into one single packet.

This makes the AMR and AAC packetization slightly less efficient,
since we set a possibly unnecessarily high max_frames_per_packet.
(These packetizers end up doing a memmove of the TOC bytes if
sending a packet before max_frames_per_packet is achieved, and
we end up setting max_frames_per_packet to a value that should
be high enough for most uses.)

All packetizers that use max_frames_per_packet now set it either
to a default value, or to a value calculated based on other
parameters, so none of them rely on the previous default setting.

For iLBC, copy one frame at a time, to allow checking the timestamp
range for each of them - basically doing potentially multiple
loops to simplify the code instead of trying to calculate the
number of frames to buffer while honoring s1->max_delay.

This is in preparation for reducing the coupling between libavformat
and libavcodec, by not having the muxers use the encoder field
frame_size (which may not be available during e.g. stream copy).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc: Restructure if statements in packetizers to simplify adding more conditions
Martin Storsjö [Fri, 27 Feb 2015 10:32:42 +0000 (12:32 +0200)]
rtpenc: Restructure if statements in packetizers to simplify adding more conditions

Factorize out the s->num_frames check at the start of the if statements,
simplifying adding more alternative causes for sending the buffered
frames.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc: Skip redundant initialization
Martin Storsjö [Thu, 26 Feb 2015 11:37:56 +0000 (13:37 +0200)]
rtpenc: Skip redundant initialization

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc: Always do the default initialization regardless of codecs
Martin Storsjö [Thu, 26 Feb 2015 11:33:59 +0000 (13:33 +0200)]
rtpenc: Always do the default initialization regardless of codecs

This avoids having to jump to the defaultcase in the switch. Manually
override the stream time base back to 90 kHz for the few audio codecs
that don't use the sample rate as time base (mp2, mp3).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_xiph: Don't exclude headers from max_payload_size
Martin Storsjö [Thu, 26 Feb 2015 11:39:17 +0000 (13:39 +0200)]
rtpenc_xiph: Don't exclude headers from max_payload_size

This makes things more consistent by using the variable in the same
way as in all other packetizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_xiph: Use AV_WB16 instead of manual bitshifts
Martin Storsjö [Thu, 26 Feb 2015 11:42:43 +0000 (13:42 +0200)]
rtpenc_xiph: Use AV_WB16 instead of manual bitshifts

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_aac: Use AV_WB16 instead of manual bitshifts
Martin Storsjö [Wed, 25 Feb 2015 22:25:11 +0000 (00:25 +0200)]
rtpenc_aac: Use AV_WB16 instead of manual bitshifts

This makes the code slightly more readable and understandable.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_aac: Merge a definition with a declaration
Martin Storsjö [Wed, 25 Feb 2015 22:21:03 +0000 (00:21 +0200)]
rtpenc_aac: Merge a definition with a declaration

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc: Write conditional statements on separate lines
Martin Storsjö [Wed, 25 Feb 2015 21:33:24 +0000 (23:33 +0200)]
rtpenc: Write conditional statements on separate lines

Intentionally keeping some conditional statements on single lines
in rtpenc_h263.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_aac: Set a default value for max_frames_per_packet at init
Martin Storsjö [Wed, 25 Feb 2015 21:34:36 +0000 (23:34 +0200)]
rtpenc_aac: Set a default value for max_frames_per_packet at init

This avoids having to conditionally set the default within the
packetizer function.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf
Martin Storsjö [Fri, 27 Feb 2015 10:30:54 +0000 (12:30 +0200)]
rtpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf

This doesn't fix any bug, but makes the code simpler for later
patches, and more straightforward to read as is.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortpenc_aac: Fix sending fragmented frames
Martin Storsjö [Wed, 25 Feb 2015 21:55:58 +0000 (23:55 +0200)]
rtpenc_aac: Fix sending fragmented frames

After sending a fragmented frame, len (s->buf_ptr - s->buf) isn't
zero, while s->num_frames is zero as intended. Using s->num_frames
makes it work as intended, and is less convoluted than keeping track
of (resetting) s->buf_ptr.

This avoids sending stray data after sending a fragmented aac packet.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoAdd a QSV decoding example.
Anton Khirnov [Wed, 11 Feb 2015 23:07:29 +0000 (00:07 +0100)]
Add a QSV decoding example.

4 years agoavcodec/utils: use correct printf specifier in ff_set_sar
Andreas Cadhalpun [Sat, 28 Feb 2015 19:11:36 +0000 (20:11 +0100)]
avcodec/utils: use correct printf specifier in ff_set_sar

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agox11grab: Unbreak building
Christian Hujer [Fri, 27 Feb 2015 09:22:08 +0000 (10:22 +0100)]
x11grab: Unbreak building

The correct macro is DEC not D. Broken in
b31328d008985f87f0a7c83c700847cef1a4f08c

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agolavc: do not compile fmtconvert unconditionally
Anton Khirnov [Sat, 21 Feb 2015 10:24:44 +0000 (11:24 +0100)]
lavc: do not compile fmtconvert unconditionally

Only ac3dec and dcadec use it.

4 years agofmtconvert: drop unused functions
Anton Khirnov [Sat, 21 Feb 2015 10:37:52 +0000 (11:37 +0100)]
fmtconvert: drop unused functions

4 years agolavc: remove unused traces of fmtconvert usage
Anton Khirnov [Sat, 21 Feb 2015 10:00:59 +0000 (11:00 +0100)]
lavc: remove unused traces of fmtconvert usage

Those decoders have been switched to float output and so do not use
fmtconvert anymore.

4 years agotls: Pass AVOptions dictionaries through to the chained protocol
Martin Storsjö [Sat, 28 Feb 2015 00:15:55 +0000 (02:15 +0200)]
tls: Pass AVOptions dictionaries through to the chained protocol

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agotcp: Clarify the units for the timeout avoptions
Martin Storsjö [Fri, 27 Feb 2015 23:37:18 +0000 (01:37 +0200)]
tcp: Clarify the units for the timeout avoptions

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavio: Rename avclass symbols relating to avio
Martin Storsjö [Fri, 27 Feb 2015 23:06:28 +0000 (01:06 +0200)]
avio: Rename avclass symbols relating to avio

Don't prefix them ffio_url, which is misleading, sounding too
much like the urlprotocol layer (like ffurl_*).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoavcodec/ppc/fdctdsp: fix const warning
Michael Niedermayer [Fri, 27 Feb 2015 22:07:22 +0000 (23:07 +0100)]
avcodec/ppc/fdctdsp: fix const warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/vc1_block: Optimize vc1_decode_i_block_adv()
zhaoxiu.zeng [Tue, 24 Feb 2015 16:28:45 +0000 (00:28 +0800)]
avcodec/vc1_block: Optimize vc1_decode_i_block_adv()

9127 -> 8936 decicycles (fate-suite/vc1/SA10143.vc1)
13855 -> 10976 decicycles  (fate-suite/vc1/SA20021.vc1)
tests done by the author over this function but with the whole
patchset applied not just this commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/vc1_block: Optimize vc1_decode_i_block()
zhaoxiu.zeng [Tue, 24 Feb 2015 16:28:45 +0000 (00:28 +0800)]
avcodec/vc1_block: Optimize vc1_decode_i_block()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/vc1_block: cosmetics
zhaoxiu.zeng [Tue, 24 Feb 2015 16:28:45 +0000 (00:28 +0800)]
avcodec/vc1_block: cosmetics

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/vc1_block: move early exit code up in ff_vc1_pred_dc()
zhaoxiu.zeng [Tue, 24 Feb 2015 16:28:45 +0000 (00:28 +0800)]
avcodec/vc1_block: move early exit code up in ff_vc1_pred_dc()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>