ffmpeg.git
4 years agoMerge commit '84b223cc6d6ed4cc8bd295457a90f7c94a9dd784'
Michael Niedermayer [Thu, 9 Jul 2015 10:39:54 +0000 (12:39 +0200)]
Merge commit '84b223cc6d6ed4cc8bd295457a90f7c94a9dd784'

* commit '84b223cc6d6ed4cc8bd295457a90f7c94a9dd784':
  configure: Make the new qsv encoder depend on libmfx

Conflicts:
configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'd1a6cb195f610978ba5d2351e60f938f7f261d59'
Michael Niedermayer [Thu, 9 Jul 2015 10:27:55 +0000 (12:27 +0200)]
Merge commit 'd1a6cb195f610978ba5d2351e60f938f7f261d59'

* commit 'd1a6cb195f610978ba5d2351e60f938f7f261d59':
  x86: Serialize rdtsc in read_time()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '40af330adf7fde8073271cf2b41ff9adc4c2bba9'
Michael Niedermayer [Thu, 9 Jul 2015 10:18:21 +0000 (12:18 +0200)]
Merge commit '40af330adf7fde8073271cf2b41ff9adc4c2bba9'

* commit '40af330adf7fde8073271cf2b41ff9adc4c2bba9':
  avconv: vda: Unlock the pixel buffer once it is accessed

See: c06fdacc3dc706e70d953917fea845532d3703ca
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '8fcd121b823caeadbe7597c9ae9229f6f164f949'
Michael Niedermayer [Thu, 9 Jul 2015 10:11:10 +0000 (12:11 +0200)]
Merge commit '8fcd121b823caeadbe7597c9ae9229f6f164f949'

* commit '8fcd121b823caeadbe7597c9ae9229f6f164f949':
  doc: Use the succinct syntax for the channelmap example

Conflicts:
doc/filters.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoconfigure: Fix build without libmfx
Michael Niedermayer [Thu, 9 Jul 2015 09:55:44 +0000 (11:55 +0200)]
configure: Fix build without libmfx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '66acb76bb0492b263215ca9b4d927a7be39ace02'
Michael Niedermayer [Thu, 9 Jul 2015 09:52:05 +0000 (11:52 +0200)]
Merge commit '66acb76bb0492b263215ca9b4d927a7be39ace02'

* commit '66acb76bb0492b263215ca9b4d927a7be39ace02':
  lavc: add Intel libmfx-based HEVC encoder

Conflicts:
Changelog
configure
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/qsv.c
libavcodec/qsvenc.c
libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoconfigure: Fix build without libmfx
Michael Niedermayer [Thu, 9 Jul 2015 09:24:21 +0000 (11:24 +0200)]
configure: Fix build without libmfx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '3a85397e8bb477eb34678d9edc52893f57003226'
Michael Niedermayer [Thu, 9 Jul 2015 09:17:12 +0000 (11:17 +0200)]
Merge commit '3a85397e8bb477eb34678d9edc52893f57003226'

* commit '3a85397e8bb477eb34678d9edc52893f57003226':
  lavc: add Intel libmfx-based MPEG2 encoder

Conflicts:
Changelog
configure
libavcodec/allcodecs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '69ab9f53f901eac6a649e22d28cf093357870627'
Michael Niedermayer [Thu, 9 Jul 2015 03:04:13 +0000 (05:04 +0200)]
Merge commit '69ab9f53f901eac6a649e22d28cf093357870627'

* commit '69ab9f53f901eac6a649e22d28cf093357870627':
  hevc: split bitstream unescaping to a separate file

Conflicts:
libavcodec/Makefile
libavcodec/hevc.c

See: afa93d198aaf2cc661c4df6d4095cd030265d30a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/hevc_ps: Do not return success on failures in ff_hevc_parse_sps()
Michael Niedermayer [Thu, 9 Jul 2015 02:41:08 +0000 (04:41 +0200)]
avcodec/hevc_ps: Do not return success on failures in ff_hevc_parse_sps()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'fd124d8357b1becfde3ac8d5e3320127cf97a5b7'
Michael Niedermayer [Thu, 9 Jul 2015 02:19:42 +0000 (04:19 +0200)]
Merge commit 'fd124d8357b1becfde3ac8d5e3320127cf97a5b7'

* commit 'fd124d8357b1becfde3ac8d5e3320127cf97a5b7':
  hevc_ps: split the code for parsing the SPS and exporting it into the context

Conflicts:
libavcodec/hevc.c
libavcodec/hevc_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodev/libdcadec: implement request_channel_layout
James Almer [Thu, 9 Jul 2015 00:16:25 +0000 (21:16 -0300)]
avcodev/libdcadec: implement request_channel_layout

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoMerge commit '0e7c0ec344f542e68e3cc9680e8d41dffeffdb4e'
Michael Niedermayer [Thu, 9 Jul 2015 01:53:51 +0000 (03:53 +0200)]
Merge commit '0e7c0ec344f542e68e3cc9680e8d41dffeffdb4e'

* commit '0e7c0ec344f542e68e3cc9680e8d41dffeffdb4e':
  lavf/hevc: pad the RBSP buffer as required by the bistream reader

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agooggparsedirac: check return value of init_get_bits
Chris Watkins [Tue, 7 Jul 2015 17:23:44 +0000 (10:23 -0700)]
oggparsedirac: check return value of init_get_bits

If init_get_bits fails the GetBitContext is invalid and must not be
used. Check the return value in dirac_header and propogate the error.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolibavcodec/qsvenc.c: fix incorrect loop condition.
Ivan Uskov [Tue, 7 Jul 2015 17:33:36 +0000 (20:33 +0300)]
libavcodec/qsvenc.c: fix incorrect loop condition.

For example, the encoder may return MFX_WRN_INCOMPATIBLE_VIDEO_PARAM warning
i.e. ret==5 old loop implementation will repeat several times until output buffer
overflow. New implementation explicitly uses loop only for device busy case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/movenc: fix mime-types in movenc.c
compn [Wed, 8 Jul 2015 18:24:46 +0000 (14:24 -0400)]
avformat/movenc: fix mime-types in movenc.c

https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/CreatingContentforSafarioniPhone/CreatingContentforSafarioniPhone.html

says video/mp4

suggested by BBB on irc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '1761ab838c75223a6b97d8c0720d09275374c53d'
Michael Niedermayer [Wed, 8 Jul 2015 23:17:49 +0000 (01:17 +0200)]
Merge commit '1761ab838c75223a6b97d8c0720d09275374c53d'

* commit '1761ab838c75223a6b97d8c0720d09275374c53d':
  lavc: Deprecate avctx.rc_strategy

Conflicts:
libavcodec/mpegvideo.h
libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '02b7c630875c0bc63cee5ec597aa33baf9bf4e20'
Michael Niedermayer [Wed, 8 Jul 2015 22:49:20 +0000 (00:49 +0200)]
Merge commit '02b7c630875c0bc63cee5ec597aa33baf9bf4e20'

* commit '02b7c630875c0bc63cee5ec597aa33baf9bf4e20':
  h261: Signal freeze picture release for intra frames

Conflicts:
tests/ref/vsynth/vsynth1-h261
tests/ref/vsynth/vsynth2-h261

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'dc1de0b958836545339611e9c050a1d4fdded263'
Michael Niedermayer [Wed, 8 Jul 2015 22:33:52 +0000 (00:33 +0200)]
Merge commit 'dc1de0b958836545339611e9c050a1d4fdded263'

* commit 'dc1de0b958836545339611e9c050a1d4fdded263':
  h261: Set 'still image mode off' in picture header

Conflicts:
tests/ref/vsynth/vsynth1-h261
tests/ref/vsynth/vsynth2-h261

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'c8b8271379b200c5c6fa89ca995f90f97f55c2c5'
Michael Niedermayer [Wed, 8 Jul 2015 22:20:10 +0000 (00:20 +0200)]
Merge commit 'c8b8271379b200c5c6fa89ca995f90f97f55c2c5'

* commit 'c8b8271379b200c5c6fa89ca995f90f97f55c2c5':
  xcbgrab: Explicitly include xcb/shape.h

See: 54170a33c2c97b0f50347f57e8f0f2ea681dca1d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoconfigure: Make the new qsv encoder depend on libmfx
Luca Barbato [Wed, 8 Jul 2015 22:18:19 +0000 (00:18 +0200)]
configure: Make the new qsv encoder depend on libmfx

Found-by: kropping
4 years agoMerge commit '161a301d44274645c2272855dac3e4664f935603'
Michael Niedermayer [Wed, 8 Jul 2015 22:10:20 +0000 (00:10 +0200)]
Merge commit '161a301d44274645c2272855dac3e4664f935603'

* commit '161a301d44274645c2272855dac3e4664f935603':
  mpjpeg: Write the Content-length

Conflicts:
libavformat/mpjpeg.c

See: 0d2f4eedc8a46892471c51cbc7a78cd9a489771a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agox86: Serialize rdtsc in read_time()
Henrik Gramner [Wed, 8 Jul 2015 20:33:53 +0000 (22:33 +0200)]
x86: Serialize rdtsc in read_time()

Improves the accuracy of measurements, especially in short sections.

To quote the Intel 64 and IA-32 Architectures Software Developer's Manual:
"The RDTSC instruction is not a serializing instruction. It does not necessarily
wait until all previous instructions have been executed before reading the counter.
Similarly, subsequent instructions may begin execution before the read operation
is performed. If software requires RDTSC to be executed only after all previous
instructions have completed locally, it can either use RDTSCP (if the processor
supports that instruction) or execute the sequence LFENCE;RDTSC."

SSE2 is a requirement for lfence so only use it on SSE2-capable systems.
Prefer lfence;rdtsc over rdtscp since rdtscp is supported on fewer systems.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoavconv: vda: Unlock the pixel buffer once it is accessed
Sebastien Zwickert [Wed, 8 Jul 2015 18:23:37 +0000 (20:23 +0200)]
avconv: vda: Unlock the pixel buffer once it is accessed

Avoid possible issues with memmapped hardware buffers in
case VDA is not doing a conversion on behalf of the user
and make the code more proper as working example.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agodoc: Use the succinct syntax for the channelmap example
Luca Barbato [Wed, 8 Jul 2015 14:14:47 +0000 (16:14 +0200)]
doc: Use the succinct syntax for the channelmap example

Mixing succinct and long syntax does not work.

4 years agoMerge commit 'd09b4cce21cdad5ef2855698395ffd6e37445212'
Michael Niedermayer [Wed, 8 Jul 2015 21:53:08 +0000 (23:53 +0200)]
Merge commit 'd09b4cce21cdad5ef2855698395ffd6e37445212'

* commit 'd09b4cce21cdad5ef2855698395ffd6e37445212':
  mpjpeg: Simplify using avio_printf

Conflicts:
libavformat/mpjpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavc: add Intel libmfx-based HEVC encoder
Anton Khirnov [Tue, 16 Jun 2015 16:22:11 +0000 (18:22 +0200)]
lavc: add Intel libmfx-based HEVC encoder

4 years agolavc: add Intel libmfx-based MPEG2 encoder
Anton Khirnov [Tue, 16 Jun 2015 16:22:11 +0000 (18:22 +0200)]
lavc: add Intel libmfx-based MPEG2 encoder

4 years agohevc: split bitstream unescaping to a separate file
Anton Khirnov [Tue, 30 Jun 2015 13:19:52 +0000 (15:19 +0200)]
hevc: split bitstream unescaping to a separate file

It will be useful in the QSV HEVC encoder.

4 years agohevc_ps: split the code for parsing the SPS and exporting it into the context
Anton Khirnov [Tue, 30 Jun 2015 12:51:53 +0000 (14:51 +0200)]
hevc_ps: split the code for parsing the SPS and exporting it into the context

This will be useful in the later commits, where we want to parse an SPS
without having a whole decoding context.

4 years agolavf/hevc: pad the RBSP buffer as required by the bistream reader
Anton Khirnov [Tue, 30 Jun 2015 18:28:23 +0000 (20:28 +0200)]
lavf/hevc: pad the RBSP buffer as required by the bistream reader

4 years agoavfilter: add removegrain
Paul B Mahol [Sat, 4 Jul 2015 20:19:05 +0000 (20:19 +0000)]
avfilter: add removegrain

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavcodec/h264_slice: Fix container cropping
Michael Niedermayer [Wed, 8 Jul 2015 15:49:00 +0000 (17:49 +0200)]
avcodec/h264_slice: Fix container cropping

Fixes out of array read
Fixes: asan_heap-oob_394322e_138_cov_4265020547_CVPCMNL1_SVA_C.264

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavc: Deprecate avctx.rc_strategy
Vittorio Giovara [Fri, 3 Jul 2015 15:46:44 +0000 (16:46 +0100)]
lavc: Deprecate avctx.rc_strategy

Only used by libxvid in ratecontrol module, so move it to a codec
private option.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agoavcodec/g2meet: Clear pointers after deallocation
Michael Niedermayer [Wed, 8 Jul 2015 13:38:37 +0000 (15:38 +0200)]
avcodec/g2meet: Clear pointers after deallocation

Fixes double free

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agobuild: add LDLIBFLAGS
Ganesh Ajjanagadde [Sat, 27 Jun 2015 16:27:59 +0000 (12:27 -0400)]
build: add LDLIBFLAGS

Fixes Ticket4673

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/utils: Check values in apply_param_change()
Michael Niedermayer [Wed, 8 Jul 2015 02:23:45 +0000 (04:23 +0200)]
avcodec/utils: Check values in apply_param_change()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavformat/swfdec: Fix "}else" style
Michael Niedermayer [Wed, 8 Jul 2015 09:30:21 +0000 (11:30 +0200)]
avformat/swfdec: Fix "}else" style

Found-by: durandal_170
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/vf_colormatrix: add yuv444p support
Paul B Mahol [Mon, 6 Jul 2015 14:07:52 +0000 (14:07 +0000)]
avfilter/vf_colormatrix: add yuv444p support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavformat/swfdec: Do not error out on pixel format changes
Michael Niedermayer [Wed, 8 Jul 2015 00:43:02 +0000 (02:43 +0200)]
avformat/swfdec: Do not error out on pixel format changes

Instead print an error and continue

Fixes Ticket4702

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agovideodsp: assert that linesize is larger than width
Michael Niedermayer [Tue, 7 Jul 2015 22:49:04 +0000 (00:49 +0200)]
videodsp: assert that linesize is larger than width

Suggested-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agowmalosslessdec: reset frame->nb_samples on packet loss
Andreas Cadhalpun [Thu, 2 Jul 2015 22:02:44 +0000 (00:02 +0200)]
wmalosslessdec: reset frame->nb_samples on packet loss

Otherwise a frame with non-zero nb_samples but without any data can be
returned.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
4 years agowmalosslessdec: avoid reading 0 bits with get_bits
Andreas Cadhalpun [Thu, 2 Jul 2015 22:01:56 +0000 (00:01 +0200)]
wmalosslessdec: avoid reading 0 bits with get_bits

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
4 years agoaacenc: fix option descriptions
Rostislav Pehlivanov [Sun, 5 Jul 2015 15:48:19 +0000 (16:48 +0100)]
aacenc: fix option descriptions

Since the new PNS implementation has been merged and is no longer considered
proof of concept (as it's much more complex and better than the previous), change
the comments to reflect that. We need people testing it (since all AAC profiles
require it to be on by default) and having it tagged as proof of concept might drive some away.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/libdcadec: export matrix encoding side data
James Almer [Tue, 7 Jul 2015 17:29:08 +0000 (14:29 -0300)]
avcodec/libdcadec: export matrix encoding side data

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoPut a space between string literals and macros.
Chris Watkins [Tue, 7 Jul 2015 17:40:27 +0000 (10:40 -0700)]
Put a space between string literals and macros.

When compiling libavutil/internal.h as C++11, clang warns that a space
is required between a string literal and an identifier. Put spaces
in concatenations of string literals and EXTERN_PREFIX.

Signed-off-by: Chris Watkins <watk@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoconfigure: loongson enabled local aligned 32
周晓勇 [Mon, 6 Jul 2015 09:16:49 +0000 (17:16 +0800)]
configure: loongson enabled local aligned 32

Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoh261: Signal freeze picture release for intra frames
Stian Selnes [Tue, 2 Dec 2014 17:55:13 +0000 (18:55 +0100)]
h261: Signal freeze picture release for intra frames

Freeze picture release should be set to 1 when we're responding to a
fast update request. For simplicity we set it for all intra frames,
including those that starts a GOP.

Fixes issue where Tandberg MXP1700 does not recover from packet loss
state since it's waiting for the freeze picture relase indication.

Bug-Id: 873
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoh261: Set 'still image mode off' in picture header
Stian Selnes [Fri, 12 Dec 2014 15:08:19 +0000 (16:08 +0100)]
h261: Set 'still image mode off' in picture header

Ref H.261 recommendation section 4.2.1.3, setting the still image flag
to 1 disables still image mode. Some decoders require this in order to
decode the bitstream as normal video.

Fixes H.261 calls to Cisco E20.

Also, reserved (aka spare) bits should be set to 1 unless specified
otherwise.

Bug-Id: 872
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoavcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for idctdsp functions
Shivraj Patil [Mon, 29 Jun 2015 15:27:15 +0000 (20:57 +0530)]
avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for idctdsp functions

This patch adds MSA (MIPS-SIMD-Arch) optimizations for idctdsp functions in new file idctdsp_msa.c and simple_idct_msa.c

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolibavcodec/qsv.c: Linux-only code part has been moved to separate function in order...
Ivan Uskov [Mon, 6 Jul 2015 15:04:13 +0000 (18:04 +0300)]
libavcodec/qsv.c: Linux-only code part has been moved to separate function in order to avoid the "ISO C90 forbids mixed declarations and code" compiler warning.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavf/mpegtsenc: Only fail aac muxing if the first frame is invalid.
Carl Eugen Hoyos [Tue, 7 Jul 2015 08:44:46 +0000 (10:44 +0200)]
lavf/mpegtsenc: Only fail aac muxing if the first frame is invalid.

Fixes ticket #3957.

4 years agoconfigure: add loongson2 cpu support
周晓勇 [Fri, 3 Jul 2015 10:12:07 +0000 (18:12 +0800)]
configure: add loongson2 cpu support

Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agouse mmi instead of loongson3 as simd-optimization flag
周晓勇 [Fri, 3 Jul 2015 10:11:27 +0000 (18:11 +0800)]
use mmi instead of loongson3 as simd-optimization flag

Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec: loongson remove useless macros in mipsfpu optimization
周晓勇 [Fri, 3 Jul 2015 10:10:41 +0000 (18:10 +0800)]
avcodec: loongson remove useless macros in mipsfpu optimization

Loongson has disabled all mipsfpu optimization as fate-test faild.

Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoxcbgrab: Explicitly include xcb/shape.h
Luca Barbato [Mon, 6 Jul 2015 18:00:27 +0000 (20:00 +0200)]
xcbgrab: Explicitly include xcb/shape.h

Found-By: Cheristheus
4 years agoavcodec/lpc: Fix lpc_apply_welch_window_c() for odd len
Michael Niedermayer [Mon, 6 Jul 2015 17:11:42 +0000 (19:11 +0200)]
avcodec/lpc: Fix lpc_apply_welch_window_c() for odd len

Also removes assert
this fixes an assertion failure on non-x86

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for me_cmp functions
Shivraj Patil [Mon, 29 Jun 2015 15:27:14 +0000 (20:57 +0530)]
avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for me_cmp functions

This patch adds MSA (MIPS-SIMD-Arch) optimizations for me_cmp functions in new file me_cmp_msa.c

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functions
Shivraj Patil [Mon, 29 Jun 2015 15:27:13 +0000 (20:57 +0530)]
avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functions

This patch adds MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functions in new file mpegvideoencdsp_msa.c

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolibavcodec/qsvenc.c: A warning message when library will work at partial hardware...
Ivan Uskov [Mon, 6 Jul 2015 13:58:33 +0000 (16:58 +0300)]
libavcodec/qsvenc.c: A warning message when library will work at partial hardware acceleration.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoffmpeg_opt: allow the user to ignore unused stream maps
Rodger Combs [Wed, 1 Jul 2015 19:14:26 +0000 (14:14 -0500)]
ffmpeg_opt: allow the user to ignore unused stream maps

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec: Add support for Closed Caption export in h264
Kieran Kunhya [Mon, 6 Jul 2015 00:05:01 +0000 (01:05 +0100)]
avcodec: Add support for Closed Caption export in h264

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolibavcodec/qsvenc.c: More correct selection of alignment of a frame height depending...
Ivan Uskov [Sat, 4 Jul 2015 12:33:26 +0000 (15:33 +0300)]
libavcodec/qsvenc.c: More correct selection of alignment of a frame height depending whether an encoded sequence progressive or not.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavc/utils: get rid of add_metadata_from_side_data forward declaration
Marton Balint [Sun, 5 Jul 2015 17:02:04 +0000 (19:02 +0200)]
lavc/utils: get rid of add_metadata_from_side_data forward declaration

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavc/utils: call add_metadata_from_side_data in ff_init_buffer_info
Marton Balint [Sun, 5 Jul 2015 17:02:03 +0000 (19:02 +0200)]
lavc/utils: call add_metadata_from_side_data in ff_init_buffer_info

This should ensure that each frame get its metadata from its proper packet
regardless of frame delays caused by reordering or threading.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavc/utils: change add_metadata_from_side_data to accept avpacket
Marton Balint [Sun, 5 Jul 2015 17:02:02 +0000 (19:02 +0200)]
lavc/utils: change add_metadata_from_side_data to accept avpacket

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavc/utils: remove redundant call to ff_init_buffer_info
Marton Balint [Sun, 5 Jul 2015 17:02:01 +0000 (19:02 +0200)]
lavc/utils: remove redundant call to ff_init_buffer_info

It does the same as calling ff_decode_frame_props.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavc/j2kenc: Enable yuv42x and yuv41x encoding.
Carl Eugen Hoyos [Sun, 5 Jul 2015 21:49:17 +0000 (23:49 +0200)]
lavc/j2kenc: Enable yuv42x and yuv41x encoding.

Fixes ticket #535.
Fixes ticket #4524.

4 years agodoc/texi2pod: fix an unescaped left brace
James Almer [Wed, 1 Jul 2015 21:28:52 +0000 (18:28 -0300)]
doc/texi2pod: fix an unescaped left brace

This silences some deprecation warnings

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoavcodec/avuienc: Use ff_alloc_packet()
Michael Niedermayer [Sun, 5 Jul 2015 19:56:48 +0000 (21:56 +0200)]
avcodec/avuienc: Use ff_alloc_packet()

This should be faster in theory for AVUI, no speed difference
meassurable though

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/avuienc: Initialize output data
Michael Niedermayer [Sun, 5 Jul 2015 20:32:35 +0000 (22:32 +0200)]
avcodec/avuienc: Initialize output data

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()
Michael Niedermayer [Sun, 5 Jul 2015 18:00:15 +0000 (20:00 +0200)]
avcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()

the later is not optimal when the buffer size is well known at allocation time

This avoids a memcpy()
Overall 2.5% speedup with a random 1920x1080 video

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoaacenc: implement Intensity Stereo encoding support
Rostislav Pehlivanov [Thu, 2 Jul 2015 18:13:07 +0000 (19:13 +0100)]
aacenc: implement Intensity Stereo encoding support

This commit implements intensity stereo coding support
to the native aac encoder. This is a way to increase the efficiency
of the encoder by zeroing the right channel's spectral coefficients
(in a channel pair) and rederiving them in the decoder using information
from the scalefactor indices of special band types. This commit
confomrs to the official ISO 13818-7 specifications, although due to
their ambiguity certain deviations have been taken to ensure maximum
sound quality. This commit has been extensively tested and has shown
to not result in audiable audio artifacts unless in extreme cases.
This commit also adds an option, aac_is, which has the value of
0 by default. Intensity Stereo is part of the scalable aac profile
and is thus non-default.

The way IS coding works is that it rederives the right channel's
spectral coefficients from the left channel via the scalefactor
index values left in the right channel. Since an entire band's
spectral coefficients do not need to be coded, the encoder's
efficiency jumps up and it unzeroes some high frequency values
which it previously did not have enough bits to encode. That way
less information is lost than the information lost by rederiving
the spectral coefficients with some error. This is why the
filesize of files encoded with IS do not decrease significantly.
Users wishing that IS coding should reduce filesize are expected
to reduce their encoding bitrates appropriately.

This is V2 of the commit. The old version did not mark ms_mask as
0 since M/S and IS coding are incompactible, which resulted in
distortions with M/S coding enabled. This version also improves
phase detection by measuring it for every spectral coefficient in
the band and using a simple majority rule to determine whether the
coefficients are in or out of phase. Also, the energy values per
spectral coefficient were changed as to reflect the
official specifications.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoaacenc: add support for coding of IS spectral coefficients
Rostislav Pehlivanov [Thu, 2 Jul 2015 18:13:06 +0000 (19:13 +0100)]
aacenc: add support for coding of IS spectral coefficients

This commit adds support for the coding of intensity stereo spectral
coefficients. It also fixes the Mid/Side coding of band_types higher
than RESERVED_BT (M/S must not be applied to their spectral coefficients,
but marking M/S as present in encode_ms_info() is okay). Much
of the changes here were taken from the decoder and inverted.
This commit does not change the functionality of the decoder as the
previous patch in this series zeroes ms_mask and is_mask.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoaaccoder: add a new perceptual noise substitution implementation
Rostislav Pehlivanov [Thu, 2 Jul 2015 18:13:05 +0000 (19:13 +0100)]
aaccoder: add a new perceptual noise substitution implementation

This commit finalizes the PNS implementation previously added to the encoder
by moving it to a seperate function search_for_pns() and thus making it
coder-generic. This new implementation makes use of the spread field of
the psy bands and the lambda quality feedback paremeter. The spread of the
spectrum in a band prevents PNS from being used excessively and thus preserve
more phase information in high frequencies.  The lambda parameter allows
the number of PNS-marked bands to vary based on the lambda parameter and the
amount of bits available, making better choices on which bands are to be marked
as noise. Comparisons with the previous PNS implementation can be found
here: https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/

This is V2 of the patch, the changes from the previous version being that this
version uses the new band->spread metric from aacpsy and normalizes the
energy using the group size. These changes were suggested by Claudio Freire
on the mailing list. Another change is the use of lambda to alter the
frequency threshold. This change makes the actual threshold frequencies
vary between +-2Khz of what's specified, depending on frame encoding performance.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoaaccoder: remove previous PNS implementation from twoloop
Rostislav Pehlivanov [Thu, 2 Jul 2015 18:13:01 +0000 (19:13 +0100)]
aaccoder: remove previous PNS implementation from twoloop

This commit undoes commit c5d4f87e81111427c0952278ec247fa8ab1e6e52
and removes PNS band marking from the twoloop coder, which has
been reimplemented in a better way in this series of patches.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoaacenc: use the new function for setting special band scalefactor indices
Rostislav Pehlivanov [Thu, 2 Jul 2015 18:13:04 +0000 (19:13 +0100)]
aacenc: use the new function for setting special band scalefactor indices

This commit enables the function added with commit 7c10b87 and uses that
new function for setting any special scalefactor indices. This commit does
not change the behaviour of the encoder since no bands are being marked as
either NOISE_BT(due to the previous PNS implementation removed in the
previous commit) or INTENSITY_BT2/INTENSITY_BT.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/nvenc: Add support for H.264 High 444 Predictive encoding
Philip Langdale [Thu, 2 Jul 2015 04:09:57 +0000 (21:09 -0700)]
avcodec/nvenc: Add support for H.264 High 444 Predictive encoding

Newer versions of the nvenc hardware support The High 444 Predictive profile
of H.264, and can also do lossless encoding under this profile if desired.

This change introduces support for the profile, and exposes the appropriate
presets for requesting lossless encoding.

I tested lossless by generating a baseline sample with testsrc converted
to raw yuv444p, then encoded the sample with nvenc, then did a framemd5
comparision of both the raw video and the nvenc encode. The framemd5
reports were identical.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
4 years agompjpeg: Write the Content-length
Frank Heckenbach [Fri, 3 Jul 2015 22:48:47 +0000 (00:48 +0200)]
mpjpeg: Write the Content-length

4 years agompjpeg: Simplify using avio_printf
Luca Barbato [Fri, 3 Jul 2015 22:46:44 +0000 (00:46 +0200)]
mpjpeg: Simplify using avio_printf

4 years agolavc: Move deprecation warning disabling to files including the table
Vittorio Giovara [Fri, 3 Jul 2015 18:25:30 +0000 (19:25 +0100)]
lavc: Move deprecation warning disabling to files including the table

Unbreak build from 7a5902c556d84a367dd64a003a4e7244fc3a73d1.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoavformat/yuv4mpegenc: use avio_printf()
Paul B Mahol [Fri, 3 Jul 2015 18:36:29 +0000 (18:36 +0000)]
avformat/yuv4mpegenc: use avio_printf()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavfilter/avf_showvolume: make it possible to use current channel number in color...
Paul B Mahol [Fri, 3 Jul 2015 18:30:27 +0000 (18:30 +0000)]
avfilter/avf_showvolume: make it possible to use current channel number in color expression

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agolavfi: add (a)drawgraph filter
Paul B Mahol [Wed, 24 Jun 2015 15:48:57 +0000 (15:48 +0000)]
lavfi: add (a)drawgraph filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agofate/api-tests: Tests that need samples should only run if SAMPLES is set
George Boyle [Thu, 2 Jul 2015 23:38:26 +0000 (00:38 +0100)]
fate/api-tests: Tests that need samples should only run if SAMPLES is set

This change fixes a bug where a test that required a sample was being included
in the suite when SAMPLES was not set. It also improves the consistency of
variable names relating to the API tests.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoYUV->BGR32 MMX support
Kevin Coyle [Fri, 3 Jul 2015 18:16:42 +0000 (11:16 -0700)]
YUV->BGR32 MMX support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoswscale/output: fix input indexing in yuv2ya8_2_c()
Michael Niedermayer [Fri, 3 Jul 2015 22:03:18 +0000 (00:03 +0200)]
swscale/output: fix input indexing in yuv2ya8_2_c()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoswscale/output: fix null pointer dereference in yuv2ya8_2_c()
Michael Niedermayer [Fri, 3 Jul 2015 21:03:25 +0000 (23:03 +0200)]
swscale/output: fix null pointer dereference in yuv2ya8_2_c()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit 'f046c3b5ac36848cce824b008e0347c621523041'
Michael Niedermayer [Fri, 3 Jul 2015 19:40:41 +0000 (21:40 +0200)]
Merge commit 'f046c3b5ac36848cce824b008e0347c621523041'

* commit 'f046c3b5ac36848cce824b008e0347c621523041':
  lavc: Move deprecation warning disabling to files including the table
  lavc: Disable deprectation warnings coming from options table

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoMerge commit '832129431fd5c693b12c32a1563944c631feaf36'
Michael Niedermayer [Fri, 3 Jul 2015 19:06:23 +0000 (21:06 +0200)]
Merge commit '832129431fd5c693b12c32a1563944c631feaf36'

* commit '832129431fd5c693b12c32a1563944c631feaf36':
  lavu: Add version information for av_version_info()

Conflicts:
doc/APIchanges
libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavfilter/vf_lut: fix oversight
Paul B Mahol [Fri, 3 Jul 2015 16:58:56 +0000 (16:58 +0000)]
avfilter/vf_lut: fix oversight

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavcodec/shorten: use init_get_bits8()
Paul B Mahol [Fri, 3 Jul 2015 16:57:11 +0000 (16:57 +0000)]
avcodec/shorten: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavfilter/af_astats: implement recalculation of stats after each X frames
Paul B Mahol [Wed, 1 Jul 2015 08:03:19 +0000 (08:03 +0000)]
avfilter/af_astats: implement recalculation of stats after each X frames

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavfilter/af_astats: export metadata
Paul B Mahol [Mon, 29 Jun 2015 21:14:53 +0000 (21:14 +0000)]
avfilter/af_astats: export metadata

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agoavcodec/j2kenc: Support user specified tile dimensions
Michael Niedermayer [Fri, 3 Jul 2015 16:23:08 +0000 (18:23 +0200)]
avcodec/j2kenc: Support user specified tile dimensions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoavcodec/jpeg2000dec: Fix decoding of subsampled multi tile images
Michael Niedermayer [Fri, 3 Jul 2015 16:04:47 +0000 (18:04 +0200)]
avcodec/jpeg2000dec: Fix decoding of subsampled multi tile images

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agoaacenc: reset marked IS and M/S bands upon frame encoding
Rostislav Pehlivanov [Thu, 2 Jul 2015 18:13:03 +0000 (19:13 +0100)]
aacenc: reset marked IS and M/S bands upon frame encoding

This commit resets any bands marked as M/S or IS upon encoding a frame.
This is needed because the arrays may contain some residual information
upon allocation on startup and because there isn't any mechanism to
reset the arrays once the frame has been encoded.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
4 years agolavc: Disable deprectation warnings coming from options table
Vittorio Giovara [Thu, 2 Jul 2015 22:28:46 +0000 (23:28 +0100)]
lavc: Disable deprectation warnings coming from options table

4 years agolavu: Add version information for av_version_info()
Vittorio Giovara [Thu, 2 Jul 2015 22:28:45 +0000 (23:28 +0100)]
lavu: Add version information for av_version_info()

Move the APIchange entry at the top.

4 years agoaaccoder: fix M/S coding
Rostislav Pehlivanov [Thu, 2 Jul 2015 18:13:02 +0000 (19:13 +0100)]
aaccoder: fix M/S coding

There were some mistakes in the code for M/S stereo, this commit fixes them.
The start variable was not being reset for every window and every access to
the coefficients was incorrect as well. This fixes that by properly
addressing the coefficients using both windows and setting the start on every window to zero.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>