ffmpeg.git
5 years agoavcodec/h264_slice: ignore SAR changes in slices after the first
Michael Niedermayer [Sat, 7 Feb 2015 02:34:48 +0000 (03:34 +0100)]
avcodec/h264_slice: ignore SAR changes in slices after the first

Fixes race condition and null pointer dereference
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/h264_slice: Check picture structure before setting the related fields
Michael Niedermayer [Sat, 7 Feb 2015 01:22:44 +0000 (02:22 +0100)]
avcodec/h264_slice: Check picture structure before setting the related fields

This might fix a hypothetical race condition

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/h264_slice: Do not change frame_num after the first slice
Michael Niedermayer [Sat, 7 Feb 2015 01:06:20 +0000 (02:06 +0100)]
avcodec/h264_slice: Do not change frame_num after the first slice

Fixes potential race condition
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agox86: lavc: share more constants
Christophe Gisquet [Thu, 5 Feb 2015 19:20:43 +0000 (19:20 +0000)]
x86: lavc: share more constants

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge remote-tracking branch 'cehoyos/master'
Michael Niedermayer [Fri, 6 Feb 2015 21:31:29 +0000 (22:31 +0100)]
Merge remote-tracking branch 'cehoyos/master'

* cehoyos/master:
  lavc/tscc: Make 32bit output opaque.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil/opt: Fix type used to access AV_OPT_TYPE_SAMPLE_FMT
Michael Niedermayer [Fri, 6 Feb 2015 21:16:08 +0000 (22:16 +0100)]
avutil/opt: Fix type used to access AV_OPT_TYPE_SAMPLE_FMT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil/opt: Fix types used to access AV_OPT_TYPE_PIXEL_FMT
Michael Niedermayer [Fri, 6 Feb 2015 21:14:15 +0000 (22:14 +0100)]
avutil/opt: Fix types used to access AV_OPT_TYPE_PIXEL_FMT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agox86/hevc_mc: use aligned loads
Mickaël Raulet [Thu, 5 Feb 2015 19:20:42 +0000 (19:20 +0000)]
x86/hevc_mc: use aligned loads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agox86/lossless_audiodsp: fix compilation with --disable-yasm
James Almer [Fri, 6 Feb 2015 06:46:43 +0000 (03:46 -0300)]
x86/lossless_audiodsp: fix compilation with --disable-yasm

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
5 years agolavc/tscc: Make 32bit output opaque.
Carl Eugen Hoyos [Fri, 6 Feb 2015 20:02:08 +0000 (21:02 +0100)]
lavc/tscc: Make 32bit output opaque.

Found-by: wm4
5 years agonutdec: Remove unused variables
Timothy Gu [Fri, 6 Feb 2015 07:06:44 +0000 (23:06 -0800)]
nutdec: Remove unused variables

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoimg2dec: Remove dead code
Timothy Gu [Fri, 6 Feb 2015 07:06:40 +0000 (23:06 -0800)]
img2dec: Remove dead code

Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/avfft: Add simple self test
Michael Niedermayer [Fri, 6 Feb 2015 17:48:12 +0000 (18:48 +0100)]
avcodec/avfft: Add simple self test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agogenerate_wave_table: Add include for AVSampleFormat
Timothy Gu [Fri, 6 Feb 2015 07:27:35 +0000 (23:27 -0800)]
generate_wave_table: Add include for AVSampleFormat

Fixes warning in `make checkheaders`.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoaudioconvert: Add missing include for FF_API_AUDIO_CONVERT
Timothy Gu [Fri, 6 Feb 2015 07:27:34 +0000 (23:27 -0800)]
audioconvert: Add missing include for FF_API_AUDIO_CONVERT

Fixes warning in `make checkheaders`.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agox86/hevc_sao: fix loading of RIP address
James Almer [Fri, 6 Feb 2015 16:17:19 +0000 (13:17 -0300)]
x86/hevc_sao: fix loading of RIP address

pb_eo must be handled as a rip relative address for MSVC64, so an
intermediate register is needed. Should fix link failures.

Suggested by Hendrik Leppkes and Christophe Gisquet.

Tested-By: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
5 years agox86/hevc: use CLIPW macro when possible
Mickaël Raulet [Thu, 5 Feb 2015 19:20:41 +0000 (19:20 +0000)]
x86/hevc: use CLIPW macro when possible

Conflicts:
libavcodec/x86/hevc_mc.asm

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agox86: hevc_mc: use epel_hv 16-wide function
Christophe Gisquet [Thu, 5 Feb 2015 19:20:40 +0000 (19:20 +0000)]
x86: hevc_mc: use epel_hv 16-wide function

The epel_hv functions were still relying on only epel_hv 8-wide
being the maximum width instanciated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agox86: hevc_mc: add AVX2 optimizations
Pierre Edouard Lepere [Thu, 5 Feb 2015 19:20:39 +0000 (19:20 +0000)]
x86: hevc_mc: add AVX2 optimizations

before
33304 decicycles in luma_bi_1, 523066 runs, 1222 skips
38138 decicycles in luma_bi_2, 523427 runs, 861 skips
13490 decicycles in luma_uni, 516138 runs, 8150 skips
after
20185 decicycles in luma_bi_1, 519970 runs, 4318 skips
24620 decicycles in luma_bi_2, 521024 runs, 3264 skips
10397 decicycles in luma_uni, 515715 runs, 8573 skips

Conflicts:
libavcodec/x86/hevc_mc.asm
libavcodec/x86/hevcdsp_init.c

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/rpl: check av_get_packet() for failure
Paul B Mahol [Thu, 5 Feb 2015 14:44:43 +0000 (14:44 +0000)]
avformat/rpl: check av_get_packet() for failure

Also make ret signed as it should be from start.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/h264: Be more strict on rejecting pps/sps changes
Michael Niedermayer [Fri, 6 Feb 2015 14:09:54 +0000 (15:09 +0100)]
avcodec/h264: Be more strict on rejecting pps/sps changes

Fixes race condition
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/h264: Be more strict on rejecting pps_id changes
Michael Niedermayer [Fri, 6 Feb 2015 14:01:17 +0000 (15:01 +0100)]
avcodec/h264: Be more strict on rejecting pps_id changes

Fixes race condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/thp: check av_get_packet() for failure
Paul B Mahol [Thu, 5 Feb 2015 14:44:04 +0000 (14:44 +0000)]
avformat/thp: check av_get_packet() for failure

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/h264_ps: More completely check the bit depths
Michael Niedermayer [Fri, 6 Feb 2015 03:11:56 +0000 (04:11 +0100)]
avcodec/h264_ps: More completely check the bit depths

Fixes out of array read
Fixes: asan_static-oob_30328b6_719_cov_3325483287_H264_artifacts_motion.h264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/tta: only check for header and seek table crc if requested
James Almer [Fri, 6 Feb 2015 02:18:58 +0000 (23:18 -0300)]
avformat/tta: only check for header and seek table crc if requested

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoRevert "avcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes...
Michael Niedermayer [Fri, 6 Feb 2015 01:31:45 +0000 (02:31 +0100)]
Revert "avcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes more similar"

This reverts commit 3b4ffba3af968ae702e3a44f6b5f53445efc7363.

Unbreaks the SSSE3 code on mingw32

Conflicts:

libavcodec/x86/lossless_audiodsp.asm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/x86/lossless_audiodsp: Move order&8 fallback into C code
Michael Niedermayer [Fri, 6 Feb 2015 00:57:23 +0000 (01:57 +0100)]
avcodec/x86/lossless_audiodsp: Move order&8 fallback into C code

This is simpler and more robust, and fixes mismatching XMM save restore
mismatches

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/vp3: pass correct context to av_log()
Michael Niedermayer [Thu, 5 Feb 2015 23:33:00 +0000 (00:33 +0100)]
avcodec/vp3: pass correct context to av_log()

Fixes null pointer dereference
Fixes: signal_sigsegv_000_3694_cov_1050071691_theora.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes more...
Michael Niedermayer [Thu, 5 Feb 2015 22:52:01 +0000 (23:52 +0100)]
avcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes more similar

This is needed as the mmx code is used as fallback from the ssse3 code

Suggested-by: jamrial
Tested-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/hevc: drop redundant ifs()
Michael Niedermayer [Thu, 5 Feb 2015 21:29:55 +0000 (22:29 +0100)]
avcodec/hevc: drop redundant ifs()

Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agohevcdsp: ARM NEON optimized deblocking filter
Seppo Tomperi [Thu, 5 Feb 2015 06:22:19 +0000 (06:22 +0000)]
hevcdsp: ARM NEON optimized deblocking filter

cherry picked from commit 1b9ee47d2f43b0a029a9468233626102eb1473b8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agohevc: free sao buffers when receiving a new SPS
Christophe Gisquet [Thu, 5 Feb 2015 18:51:22 +0000 (19:51 +0100)]
hevc: free sao buffers when receiving a new SPS

The buffer pointers would be otherwise overwritten, causing a
leak on e.g. PERSIST_RPARAM_A_RExt_Sony_1.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agovp9: assign PTS to visible instead of invisible frames
wm4 [Thu, 5 Feb 2015 15:43:27 +0000 (16:43 +0100)]
vp9: assign PTS to visible instead of invisible frames

All the webm/vp9 files I have seen so far can have packets that contain
1 invisible and 1 visible frame. The vp9 parser separates them. Since
the invisible frame is always (?) the first sub-packet, the new packet
is assigned the PTS of the original packet, while the packet containing
the visible frame has no PTS.

This patch essentially reassigns the PTS from the invisible to the
visible frame.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agox86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2}
James Almer [Wed, 4 Feb 2015 23:23:19 +0000 (20:23 -0300)]
x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2}

Original x86 intrinsics code by Pierre-Edouard Lepere.
Yasm port, refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
342694 decicycles in sao_edge_filter_10, 16384 runs, 0 skips
29476 decicycles in ff_hevc_sao_edge_filter_32_10_ssse3, 16384 runs, 0 skips
13996 decicycles in ff_hevc_sao_edge_filter_32_10_avx2, 16381 runs, 3 skips

Width 64
581163 decicycles in sao_edge_filter_10, 8192 runs, 0 skips
59774 decicycles in ff_hevc_sao_edge_filter_64_10_ssse3, 8192 runs, 0 skips
28383 decicycles in ff_hevc_sao_edge_filter_64_10_avx2, 8191 runs, 1 skips

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agox86/hevcdsp: add ff_hevc_sao_edge_filter_8_{ssse3,avx2}
James Almer [Wed, 4 Feb 2015 23:21:56 +0000 (20:21 -0300)]
x86/hevcdsp: add ff_hevc_sao_edge_filter_8_{ssse3,avx2}

Original x86 intrinsics code and initial yasm port by Pierre-Edouard Lepere.
Refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
158583 decicycles in edge, sao_edge_filter_8 runs, 0 skips
5205 decicycles in ff_hevc_sao_edge_filter_32_8_ssse3, 32767 runs, 1 skips
2942 decicycles in ff_hevc_sao_edge_filter_32_8_avx2, 32767 runs, 1 skips

Width 64
705639 decicycles in sao_edge_filter_8, 262144 runs, 0 skips
19224 decicycles in ff_hevc_sao_edge_filter_64_8_ssse3, 262111 runs, 33 skips
10433 decicycles in ff_hevc_sao_edge_filter_64_8_avx2, 262115 runs, 29 skips

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agohevcdsp: remove compilation-time-fixed parameter from sao_edge_filter
James Almer [Wed, 4 Feb 2015 23:19:36 +0000 (20:19 -0300)]
hevcdsp: remove compilation-time-fixed parameter from sao_edge_filter

The stride_src parameter is always 2 * MAX_PB_SIZE + FF_INPUT_BUFFER_PADDING_SIZE.

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoavcodec/h264_refs: set last_pic_for_ec only if it has not been set previously
Michael Niedermayer [Thu, 5 Feb 2015 13:55:41 +0000 (14:55 +0100)]
avcodec/h264_refs: set last_pic_for_ec only if it has not been set previously

This ensures we do not loose the frame in case or multiple clears
Fixes out of array read
Fixes: asan_heap-oob_2fa47ea_2100_cov_1278768963_ff_add_pixels_clamped_mmx.m2ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge remote-tracking branch 'cehoyos/master'
Michael Niedermayer [Thu, 5 Feb 2015 12:26:01 +0000 (13:26 +0100)]
Merge remote-tracking branch 'cehoyos/master'

* cehoyos/master:
  Fix compilation with --disable-protocol=udp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/alsdec: use init_get_bits8()
Paul B Mahol [Wed, 4 Feb 2015 13:44:22 +0000 (13:44 +0000)]
avcodec/alsdec: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/cllc: use init_get_bits8()
Paul B Mahol [Tue, 3 Feb 2015 15:58:27 +0000 (15:58 +0000)]
avcodec/cllc: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoFix compilation with --disable-protocol=udp
Carl Eugen Hoyos [Thu, 5 Feb 2015 09:07:03 +0000 (10:07 +0100)]
Fix compilation with --disable-protocol=udp

5 years agoavfilter/vf_fps: update frame drop comment
Michael Niedermayer [Thu, 5 Feb 2015 04:55:08 +0000 (05:55 +0100)]
avfilter/vf_fps: update frame drop comment

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/thp: Check av_get_packet() for failure not only for partial output
Michael Niedermayer [Thu, 5 Feb 2015 02:45:21 +0000 (03:45 +0100)]
avformat/thp: Check av_get_packet() for failure not only for partial output

Fixes null pointer dereference
Fixes: signal_sigsegv_db2c1f_3108_cov_163322880_pikmin2_opening1_partial.thp

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolavf/avc: add buffer padding to extradata allocation
Lukasz Marek [Thu, 5 Feb 2015 00:04:45 +0000 (01:04 +0100)]
lavf/avc: add buffer padding to extradata allocation

ff_avc_write_annexb_extradata() allocates extradata, but don't add
FF_INPUT_BUFFER_PADDING_SIZE value

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
5 years agoavcodec/nvenc: De-compensate aspect ratio compensation of DVD-like content.
Philip Langdale [Wed, 28 Jan 2015 17:05:53 +0000 (09:05 -0800)]
avcodec/nvenc: De-compensate aspect ratio compensation of DVD-like content.

For reasons we are not privy to, nvidia decided that the nvenc encoder
should apply aspect ratio compensation to 'DVD like' content, assuming that
the content is not bt.601 compliant, but needs to be bt.601 compliant. In
this context, that means that they make the following, questionable,
assumptions:

1) If the input dimensions are 720x480 or 720x576, assume the content has
an active area of 704x480 or 704x576.

2) Assume that whatever the input sample aspect ratio is, it does not account
for the difference between 'physical' and 'active' dimensions.

From, these assumptions, they then conclude that they can 'help', by adjusting
the sample aspect ratio by a factor of 45/44. And indeed, if you wanted to
display only the 704 wide active area with the same aspect ratio as the full
720 wide image - this would be the correct adjustment factor, but what if you
don't? And more importantly, what if you're used to ffmpeg not making this kind
of adjustment at encode time - because none of the other encoders do this!

And, what if you had already accounted for bt.601 and your input had the
correct attributes? Well, it's going to apply the compensation anyway!
So, if you take some content, and feed it through nvenc repeatedly, it
will keep scaling the aspect ratio every time, stretching your video out
more and more and more.

So, clearly, regardless of whether you want to apply bt.601 aspect ratio
adjustments or not, this is not the way to do it. With any other ffmpeg
encoder, you would do it as part of defining your input paramters or
do the adjustment at playback time, and there's no reason by nvenc
should be any different.

This change adds some logic to undo the compensation that nvenc would
otherwise do.

nvidia engineers have told us that they will work to make this
compensation mechanism optional in a future release of the nvenc
SDK. At that point, we can adapt accordingly.

Signed-off-by: Philip Langdale <philipl@overt.org>
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoswscale/utils: Limit filter shifting so as not to read from prior the array
Michael Niedermayer [Wed, 4 Feb 2015 23:12:08 +0000 (00:12 +0100)]
swscale/utils: Limit filter shifting so as not to read from prior the array

Fixes out of array read
Fixes: asan_heap-oob_1fb2f9b_3780_cov_3984375136_usf.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/mpegvideo_motion: Fix gmc chroma dimensions
Michael Niedermayer [Wed, 4 Feb 2015 21:30:08 +0000 (22:30 +0100)]
avcodec/mpegvideo_motion: Fix gmc chroma dimensions

Fixes integer overflow and out of array read
Fixes: asan_heap-oob_1fb2f9b_3780_cov_3984375136_usf.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agohevcdsp: replace the SAOParams struct parameter from sao_edge_filter
James Almer [Wed, 4 Feb 2015 01:39:03 +0000 (22:39 -0300)]
hevcdsp: replace the SAOParams struct parameter from sao_edge_filter

As with sao_band_filter, pass instead the two variables from the struct needed in the function.
This simplifies writing asm optimized versions.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: James Almer <jamrial@gmail.com>
5 years agohevcdsp: further simplify sao_edge_filter
James Almer [Wed, 4 Feb 2015 01:39:55 +0000 (22:39 -0300)]
hevcdsp: further simplify sao_edge_filter

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: James Almer <jamrial@gmail.com>
5 years agohevcdsp: simplified sao_edge_filter
Seppo Tomperi [Wed, 4 Feb 2015 01:36:42 +0000 (22:36 -0300)]
hevcdsp: simplified sao_edge_filter

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
5 years agohevcdsp: separated sao edge filter and pixel restore funcs
Seppo Tomperi [Wed, 4 Feb 2015 01:34:52 +0000 (22:34 -0300)]
hevcdsp: separated sao edge filter and pixel restore funcs

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
5 years agoavcodec/mjpegdec: Check number of components for JPEG-LS
Michael Niedermayer [Wed, 4 Feb 2015 19:48:30 +0000 (20:48 +0100)]
avcodec/mjpegdec: Check number of components for JPEG-LS

Fixes out of array accesses
Fixes: asan_heap-oob_1c1a4ea_1242_cov_2274415971_TESTcmyk.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/mjpegdec: Check escape sequence validity
Michael Niedermayer [Wed, 4 Feb 2015 19:13:18 +0000 (20:13 +0100)]
avcodec/mjpegdec: Check escape sequence validity

Fixes assertion failure
Fixes: asan_heap-oob_1c1a4ea_1242_cov_2274415971_TESTcmyk.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavfilter/vf_fps: Do not drop a random subset of frames
Michael Niedermayer [Wed, 4 Feb 2015 16:46:39 +0000 (17:46 +0100)]
avfilter/vf_fps: Do not drop a random subset of frames

This also avoids droping the frame which is closest to the target timestamp

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agodxva2_hevc: properly fill the scaling list structure
Hendrik Leppkes [Tue, 3 Feb 2015 21:41:19 +0000 (22:41 +0100)]
dxva2_hevc: properly fill the scaling list structure

The scaling list can be specified in either the SPS or PPS.
Additionally, compensate for the diagonal scan permutation applied in the decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior
Michael Niedermayer [Wed, 4 Feb 2015 13:47:41 +0000 (14:47 +0100)]
avformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/cdxl: use init_get_bits8()
Paul B Mahol [Wed, 4 Feb 2015 13:26:50 +0000 (13:26 +0000)]
avcodec/cdxl: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoMerge commit '8c1ce7787ad7af8fc321b4a145e9dc965f6d0e86'
Michael Niedermayer [Wed, 4 Feb 2015 13:20:28 +0000 (14:20 +0100)]
Merge commit '8c1ce7787ad7af8fc321b4a145e9dc965f6d0e86'

* commit '8c1ce7787ad7af8fc321b4a145e9dc965f6d0e86':
  aacsbr: silence message for SBR extension "padding".

See: 1ac606bae60e46522189b678b58a7fb8376046ac
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/siff: fix if_( style
Paul B Mahol [Wed, 4 Feb 2015 13:10:53 +0000 (13:10 +0000)]
avformat/siff: fix if_( style

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoMerge commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e'
Michael Niedermayer [Wed, 4 Feb 2015 12:49:17 +0000 (13:49 +0100)]
Merge commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e'

* commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e':
  aacdec: Support for ER AAC ELD 480.

Conflicts:
libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '7640c4a371a97899dfb443d980fd0bf8ac587754'
Michael Niedermayer [Wed, 4 Feb 2015 12:40:20 +0000 (13:40 +0100)]
Merge commit '7640c4a371a97899dfb443d980fd0bf8ac587754'

* commit '7640c4a371a97899dfb443d980fd0bf8ac587754':
  aacdec: Tables for length 480 AAC ELD.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '0ee2573347ecdb9cb5656001f7201d819eec16d8'
Michael Niedermayer [Wed, 4 Feb 2015 12:31:24 +0000 (13:31 +0100)]
Merge commit '0ee2573347ecdb9cb5656001f7201d819eec16d8'

* commit '0ee2573347ecdb9cb5656001f7201d819eec16d8':
  aacdec: Support for ER AAC in LATM

Conflicts:
libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'edd9ea3ffba1d5873dead1c57c74b1e3cc912167'
Michael Niedermayer [Wed, 4 Feb 2015 12:18:45 +0000 (13:18 +0100)]
Merge commit 'edd9ea3ffba1d5873dead1c57c74b1e3cc912167'

* commit 'edd9ea3ffba1d5873dead1c57c74b1e3cc912167':
  aacdec: Refactor aac_er_decode_frame.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolavf/utils: fix if_( style
Stefano Sabatini [Wed, 4 Feb 2015 12:01:25 +0000 (13:01 +0100)]
lavf/utils: fix if_( style

5 years agodoc/muxers/image2: remove the non-negative number requirement for start_number
Liviu Oniciuc [Tue, 3 Feb 2015 19:26:13 +0000 (11:26 -0800)]
doc/muxers/image2: remove the non-negative number requirement for start_number

Update after b37858eae186ff84afd38cf3e845ba6e037e6397.

5 years agoMerge commit '82bd8a57692d8f3643ad0903c97e4a0f84393f53'
Michael Niedermayer [Wed, 4 Feb 2015 11:56:56 +0000 (12:56 +0100)]
Merge commit '82bd8a57692d8f3643ad0903c97e4a0f84393f53'

* commit '82bd8a57692d8f3643ad0903c97e4a0f84393f53':
  aacdec: Refactor decode_ics_info.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoFix standalone compilation of the tblend filter.
Carl Eugen Hoyos [Wed, 4 Feb 2015 10:09:14 +0000 (11:09 +0100)]
Fix standalone compilation of the tblend filter.

5 years agoavcodec/evrcdec: use init_get_bits8()
Paul B Mahol [Tue, 3 Feb 2015 15:54:59 +0000 (15:54 +0000)]
avcodec/evrcdec: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/wnv1: use init_get_bits8()
Paul B Mahol [Tue, 3 Feb 2015 15:49:34 +0000 (15:49 +0000)]
avcodec/wnv1: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/on2avc: use init_get_bits8()
Paul B Mahol [Tue, 3 Feb 2015 15:31:53 +0000 (15:31 +0000)]
avcodec/on2avc: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/tak_parser: use init_get_bits8()
Paul B Mahol [Tue, 3 Feb 2015 15:27:28 +0000 (15:27 +0000)]
avcodec/tak_parser: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/ac3dec: use init_get_bits8()
Paul B Mahol [Tue, 3 Feb 2015 15:15:11 +0000 (15:15 +0000)]
avcodec/ac3dec: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/qcelpdec: use init_get_bits8()
Paul B Mahol [Tue, 3 Feb 2015 15:10:00 +0000 (15:10 +0000)]
avcodec/qcelpdec: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/webp: use init_get_bits8()
Paul B Mahol [Tue, 3 Feb 2015 14:58:22 +0000 (14:58 +0000)]
avcodec/webp: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoaacsbr: silence message for SBR extension "padding".
Reimar Döffinger [Mon, 9 Apr 2012 19:19:30 +0000 (21:19 +0200)]
aacsbr: silence message for SBR extension "padding".

Some files contain a few additional, all-0 bits.
Check for that case and don't print incorrect "not supported"
message.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Alex Converse <alex.converse@gmail.com>
5 years agoaacdec: Support for ER AAC ELD 480.
Alex Converse [Thu, 22 Jan 2015 05:51:54 +0000 (21:51 -0800)]
aacdec: Support for ER AAC ELD 480.

Based in part on work from Niel van der Westhuizen <espes@pequalsnp.com>.

5 years agoaacdec: Tables for length 480 AAC ELD.
Niel van der Westhuizen [Thu, 22 Jan 2015 05:25:27 +0000 (21:25 -0800)]
aacdec: Tables for length 480 AAC ELD.

5 years agoaacdec: Support for ER AAC in LATM
Niel van der Westhuizen [Thu, 22 Jan 2015 05:24:23 +0000 (21:24 -0800)]
aacdec: Support for ER AAC in LATM

5 years agoaacdec: Refactor aac_er_decode_frame.
Alex Converse [Thu, 22 Jan 2015 05:49:29 +0000 (21:49 -0800)]
aacdec: Refactor aac_er_decode_frame.

5 years agoaacdec: Refactor decode_ics_info.
Alex Converse [Thu, 22 Jan 2015 05:35:53 +0000 (21:35 -0800)]
aacdec: Refactor decode_ics_info.

5 years agoffmpeg: Make CFR frame drop threshold user adjustable
Michael Niedermayer [Sat, 17 Jan 2015 03:38:32 +0000 (04:38 +0100)]
ffmpeg: Make CFR frame drop threshold user adjustable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/hevc: Update the USE_SAO_SMALL_BUFFER case for the alignment requirements...
Christophe Gisquet [Mon, 2 Feb 2015 14:51:45 +0000 (15:51 +0100)]
avcodec/hevc: Update the USE_SAO_SMALL_BUFFER case for the alignment requirements in FFmpeg

Use edge emu buffers
And enable the code unconditionally

Speed difference without USE_SAO_SMALL_BUFFER and with the new code:
Decicycles: 26772->26220 (BO32),  83803->80942 (BO64)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/hevc: Do not zero is_pcm on allocation
Christophe Gisquet [Mon, 2 Feb 2015 14:51:45 +0000 (15:51 +0100)]
avcodec/hevc: Do not zero is_pcm on allocation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/hevc: reduce memory for SAO
Fabrice Bellard [Mon, 12 Jan 2015 22:09:23 +0000 (23:09 +0100)]
avcodec/hevc: reduce memory for SAO

cherry picked from commit 5d9f79edef2c11b915bdac3a025b59a32082f409

SAO edge filter uses pre-SAO pixel data on the left and top of the ctb, so
this data must be kept available. This was done previously by having 2
copies of the frame, one before and one after SAO.

This commit reduces the storage to just that, instead of the previous whole
frame.

Commit message taken from patch by Christophe Gisquet <christophe.gisquet@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/mpc8: fix broken pointer math
wm4 [Tue, 3 Feb 2015 18:04:11 +0000 (19:04 +0100)]
avformat/mpc8: fix broken pointer math

This could overflow and crash at least on 32 bit systems.

Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/mpc8: fix hang with fuzzed file
wm4 [Tue, 3 Feb 2015 18:04:12 +0000 (19:04 +0100)]
avformat/mpc8: fix hang with fuzzed file

This can lead to an endless loop by seeking back a few bytes after each
attempted chunk read. Assuming negative sizes are always invalid, this
is easy to fix. Other code in this demuxer treats negative sizes as
invalid as well.

Fixes ticket #4262.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agox86: lavu/x264asm: fix ymm register instantiation
Christophe Gisquet [Tue, 3 Feb 2015 12:03:48 +0000 (13:03 +0100)]
x86: lavu/x264asm: fix ymm register instantiation

This mimicks what is done for the other instruction sets.

Tested-by: James Almer <jamrial@gmail.com>
Tested-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '898276c16b1683ac77723e97574a3bfdb29507fd'
Michael Niedermayer [Tue, 3 Feb 2015 22:57:03 +0000 (23:57 +0100)]
Merge commit '898276c16b1683ac77723e97574a3bfdb29507fd'

* commit '898276c16b1683ac77723e97574a3bfdb29507fd':
  r3d: Fix pos type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'ec524ed12aa1aeb37125203f1adf5aa10dfcb0de'
Michael Niedermayer [Tue, 3 Feb 2015 22:49:14 +0000 (23:49 +0100)]
Merge commit 'ec524ed12aa1aeb37125203f1adf5aa10dfcb0de'

* commit 'ec524ed12aa1aeb37125203f1adf5aa10dfcb0de':
  tta: Fix framepos and start_offset types

Conflicts:
libavformat/tta.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'a6653787a4b1e89170ff7962312dd110769c83a3'
Michael Niedermayer [Tue, 3 Feb 2015 22:34:10 +0000 (23:34 +0100)]
Merge commit 'a6653787a4b1e89170ff7962312dd110769c83a3'

* commit 'a6653787a4b1e89170ff7962312dd110769c83a3':
  libopencv: Check kernel_str life cycle

Conflicts:
libavfilter/vf_libopencv.c

See: f16a6f667c993a158643b52815ec42961508b0a9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/svq1dec: Add assert to ensure "stages >= 0"
Michael Niedermayer [Tue, 3 Feb 2015 22:03:38 +0000 (23:03 +0100)]
avcodec/svq1dec: Add assert to ensure "stages >= 0"

This is currently always true, the assert protects against
future changes to the code breaking this assumtation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '9b8c8a9395c849639aea0f6b5300e991e93c3a73'
Michael Niedermayer [Tue, 3 Feb 2015 21:50:39 +0000 (22:50 +0100)]
Merge commit '9b8c8a9395c849639aea0f6b5300e991e93c3a73'

* commit '9b8c8a9395c849639aea0f6b5300e991e93c3a73':
  svq1dec: Validate the stages value strictly

Not merged, this is wrong, the condition is not possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '6f7a32839d1b913be8170e91c3ac9816b314da21'
Michael Niedermayer [Tue, 3 Feb 2015 21:39:41 +0000 (22:39 +0100)]
Merge commit '6f7a32839d1b913be8170e91c3ac9816b314da21'

* commit '6f7a32839d1b913be8170e91c3ac9816b314da21':
  svq1enc: correctly handle memory error and allocations

Conflicts:
libavcodec/svq1enc.c

See: 79888388e7c4ca596354f1c093e1c655df7824b8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '67e9f3907d6d438a413df72d72c1339a0c11a290'
Michael Niedermayer [Tue, 3 Feb 2015 21:28:25 +0000 (22:28 +0100)]
Merge commit '67e9f3907d6d438a413df72d72c1339a0c11a290'

* commit '67e9f3907d6d438a413df72d72c1339a0c11a290':
  isom: Decode Prores 4444 XQ with the existing Prores decoder

See: fe47cba7e8daa987ac8c802362d8dad892858cd5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat: fix mode of img2dec.c and utils.c
Michael Niedermayer [Tue, 3 Feb 2015 21:26:02 +0000 (22:26 +0100)]
avformat: fix mode of img2dec.c and utils.c

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'e3528d2a7bf29ba148d7ac1678552ce0089cd14f'
Michael Niedermayer [Tue, 3 Feb 2015 21:15:54 +0000 (22:15 +0100)]
Merge commit 'e3528d2a7bf29ba148d7ac1678552ce0089cd14f'

* commit 'e3528d2a7bf29ba148d7ac1678552ce0089cd14f':
  mov: Implement parsing of the "HandlerName" from the MP4 HDLR atom

Conflicts:
libavformat/mov.c

See: b76bc010343b0cff8717cc7ee81e47273272336c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '27b99d929fe3440b4bba8e5d970c2802f274f328'
Michael Niedermayer [Tue, 3 Feb 2015 21:03:42 +0000 (22:03 +0100)]
Merge commit '27b99d929fe3440b4bba8e5d970c2802f274f328'

* commit '27b99d929fe3440b4bba8e5d970c2802f274f328':
  siff: Return more meaningful error values

Conflicts:
libavformat/siff.c

See: 29c3ebf56e2b54c68c52668937f74a874ecb49ac
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128'
Michael Niedermayer [Tue, 3 Feb 2015 20:53:29 +0000 (21:53 +0100)]
Merge commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128'

* commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128':
  siff: K&R formatting cosmetics

Conflicts:
libavformat/siff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/img2dec: remove the non-negative number requirement for start_number option
Liviu Oniciuc [Tue, 3 Feb 2015 17:01:29 +0000 (09:01 -0800)]
avformat/img2dec: remove the non-negative number requirement for start_number option

industrial cameras usually mark the trigger frame as frame number 0
all frames saved before trigger frame receive a negative sequence number

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agor3d: Fix pos type
Luca Barbato [Mon, 2 Feb 2015 01:39:00 +0000 (02:39 +0100)]
r3d: Fix pos type

avio_tell can return a negative number.

Bug-Id: CID 1265715
CC: libav-stable@libav.org