ffmpeg.git
6 years agolavf/mlv: Only add streams that are supposed to contain frames.
Carl Eugen Hoyos [Sat, 7 Feb 2015 15:18:02 +0000 (16:18 +0100)]
lavf/mlv: Only add streams that are supposed to contain frames.

Fixes ticket #4296.

Reviewed-by: Peter Ross
6 years agoavcodec/twinvqdec: use init_get_bits8()
Paul B Mahol [Sat, 7 Feb 2015 14:26:54 +0000 (14:26 +0000)]
avcodec/twinvqdec: use init_get_bits8()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
6 years agolavc/lossless_audiodsp: revert various commits
Christophe Gisquet [Sat, 7 Feb 2015 09:20:10 +0000 (09:20 +0000)]
lavc/lossless_audiodsp: revert various commits

Their intent was to make the DSP work with wmalossless pro.
The later was fixed to work with the DSP.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agowmalossless: reset lms_update
Christophe Gisquet [Sat, 7 Feb 2015 09:20:09 +0000 (09:20 +0000)]
wmalossless: reset lms_update

It may contain garbage at the end, and zeroing allows using DSP
with longer loops.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agopixdesc: Include more functions in FF_DISABLE_DEPRECATION_WARNINGS
Timothy Gu [Sat, 7 Feb 2015 04:16:10 +0000 (20:16 -0800)]
pixdesc: Include more functions in FF_DISABLE_DEPRECATION_WARNINGS

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/pixfmt: Clarify meaning of the A/X bit in RGB555 / remove wording about signif...
Michael Niedermayer [Sat, 7 Feb 2015 12:46:04 +0000 (13:46 +0100)]
avutil/pixfmt: Clarify meaning of the A/X bit in RGB555 / remove wording about significant bit

Found-by:wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/pixfmt: Clarify the meaning of the alpha bits in rgb444 and similar formats
Michael Niedermayer [Fri, 6 Feb 2015 19:57:00 +0000 (20:57 +0100)]
avutil/pixfmt: Clarify the meaning of the alpha bits in rgb444 and similar formats

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/pixfmt: Clarify the meaning of the "alpha" bit in rgb555/bgr555
Michael Niedermayer [Fri, 6 Feb 2015 19:56:08 +0000 (20:56 +0100)]
avutil/pixfmt: Clarify the meaning of the "alpha" bit in rgb555/bgr555

Found-by: wm4
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavutil/pixfmt: Clarify the meaning of the alpha byte in RGB0 and similar formats
Michael Niedermayer [Fri, 6 Feb 2015 19:54:11 +0000 (20:54 +0100)]
avutil/pixfmt: Clarify the meaning of the alpha byte in RGB0 and similar formats

Found-by: wm4
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/ccaption_dec: Added Debug logs
Anshul Maheshwari [Fri, 6 Feb 2015 14:42:40 +0000 (20:12 +0530)]
avcodec/ccaption_dec: Added Debug logs

Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/ccaption_dec: handle error from ass_sub api
Anshul Maheshwari [Fri, 6 Feb 2015 14:42:13 +0000 (20:12 +0530)]
avcodec/ccaption_dec: handle error from ass_sub api

Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/ccaption_dec: Added Roll up functionality
Anshul Maheshwari [Fri, 6 Feb 2015 14:40:11 +0000 (20:10 +0530)]
avcodec/ccaption_dec: Added Roll up functionality

Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoMerge commit '9295d10ea9d138462b7f67d16bf95ae9ca76aca6'
Michael Niedermayer [Sat, 7 Feb 2015 03:54:32 +0000 (04:54 +0100)]
Merge commit '9295d10ea9d138462b7f67d16bf95ae9ca76aca6'

* commit '9295d10ea9d138462b7f67d16bf95ae9ca76aca6':
  fate: Add a test for AAC ELD480.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
6 years agoavcodec/h264_slice: assert that reinit does not occur after the first slice
Michael Niedermayer [Sat, 7 Feb 2015 02:45:14 +0000 (03:45 +0100)]
avcodec/h264_slice: assert that reinit does not occur after the first slice

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 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>
6 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>
6 years agofate: Add a test for AAC ELD480.
Alex Converse [Wed, 28 Jan 2015 01:54:03 +0000 (17:54 -0800)]
fate: Add a test for AAC ELD480.

The source is er_eld_2100np_48_ep0.mp4 from the official test set.

6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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

6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 years agolavf/utils: fix if_( style
Stefano Sabatini [Wed, 4 Feb 2015 12:01:25 +0000 (13:01 +0100)]
lavf/utils: fix if_( style

6 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.

6 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>
6 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.

6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>.

6 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.

6 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

6 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.

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

6 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>
6 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>
6 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>
6 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>
6 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>