ffmpeg.git
5 years agoavcodec/mjpegdec: Fix small picture upscale
Michael Niedermayer [Mon, 29 Jun 2015 23:19:30 +0000 (01:19 +0200)]
avcodec/mjpegdec: Fix small picture upscale

Fixes out of array access

Fixes: asan_heap-oob_1dd60fd_267_cov_2954683513_5baad44ca4702949724234e35c5bb341.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/pngdec: Check values before updating context in decode_fctl_chunk()
Michael Niedermayer [Mon, 29 Jun 2015 20:32:02 +0000 (22:32 +0200)]
avcodec/pngdec: Check values before updating context in decode_fctl_chunk()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/pngdec: Copy IHDR & plte state from last thread
Michael Niedermayer [Mon, 29 Jun 2015 19:59:41 +0000 (21:59 +0200)]
avcodec/pngdec: Copy IHDR & plte state from last thread

Previously these chunks where parsed again for each frame with threads
but not without leading to a different path and the potential for
inconsistencies

This also removes a related special case from decode_ihdr_chunk()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/pngdec: Require a IHDR chunk before fctl
Michael Niedermayer [Mon, 29 Jun 2015 19:57:12 +0000 (21:57 +0200)]
avcodec/pngdec: Require a IHDR chunk before fctl

This is required by the APNG spec

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/pngdec: Only allow one IHDR chunk
Michael Niedermayer [Mon, 29 Jun 2015 19:08:05 +0000 (21:08 +0200)]
avcodec/pngdec: Only allow one IHDR chunk

Multiple IHDR chunks are forbidden in PNG
Fixes inconsistency and out of array accesses

Fixes: asan_heap-oob_4d5c5a_1738_cov_2638287726_c-m2-8f2b481b7fd9bd745e620b7c01a18df2.png

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavfilter/avf_showvolume: optionally display channel names
Paul B Mahol [Mon, 29 Jun 2015 07:38:16 +0000 (07:38 +0000)]
avfilter/avf_showvolume: optionally display channel names

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoMerge remote-tracking branch 'cehoyos/master'
Michael Niedermayer [Mon, 29 Jun 2015 15:29:13 +0000 (17:29 +0200)]
Merge remote-tracking branch 'cehoyos/master'

* cehoyos/master:
  lavf/msnwc: Return 0 if the probe function does not detect msnwc-tcp.
  lavf/mpegts: Return 0 if the probe function does not detect mpegts.
  lavf/img2dec: Improve detection of valid Quickdraw images.
  lavf/asfdec: Reduce minimum header size.
  Changelog: Add jpeg 2000 improvements before they get forgotten.
  lavf/img2dec: Autodetect dds frames.

Conflicts:
libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoaacenc: add support for coding of intensity stereo scalefactor indices
Rostislav Pehlivanov [Fri, 26 Jun 2015 20:16:34 +0000 (21:16 +0100)]
aacenc: add support for coding of intensity stereo scalefactor indices

This commit adds support for the coding of intensity stereo scalefactor indices.
It does not do any marking of such bands and as such does no functional changes
to the encoder. It removes any old twoloop specific code for PNS and moves it
into a seperate function which handles setting of scalefactor indices for
PNS and IS bands.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/avio: Move avio_delete() avio_move() to avpriv_ namespace
Michael Niedermayer [Tue, 23 Jun 2015 16:24:57 +0000 (18:24 +0200)]
avformat/avio: Move avio_delete() avio_move() to avpriv_ namespace

This was suggested in the discussion about these functions

With this change the functions are available internally but are not
part of the public API

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolavf/msnwc: Return 0 if the probe function does not detect msnwc-tcp.
Carl Eugen Hoyos [Mon, 29 Jun 2015 14:29:07 +0000 (16:29 +0200)]
lavf/msnwc: Return 0 if the probe function does not detect msnwc-tcp.

Reduces console spamming on debug level.

5 years agolavf/mpegts: Return 0 if the probe function does not detect mpegts.
Carl Eugen Hoyos [Mon, 29 Jun 2015 14:27:36 +0000 (16:27 +0200)]
lavf/mpegts: Return 0 if the probe function does not detect mpegts.

Reduces console spamming on debug level.

5 years agolavf/img2dec: Improve detection of valid Quickdraw images.
Carl Eugen Hoyos [Mon, 29 Jun 2015 14:25:11 +0000 (16:25 +0200)]
lavf/img2dec: Improve detection of valid Quickdraw images.

Detect Quickdraw images without application header with
lower score.

5 years agolavf/asfdec: Reduce minimum header size.
Carl Eugen Hoyos [Mon, 29 Jun 2015 14:23:15 +0000 (16:23 +0200)]
lavf/asfdec: Reduce minimum header size.

Fixes GipsyGuitar.wmv mentioned in ticket #1477.

5 years agoChangelog: Add jpeg 2000 improvements before they get forgotten.
Carl Eugen Hoyos [Mon, 29 Jun 2015 14:17:05 +0000 (16:17 +0200)]
Changelog: Add jpeg 2000 improvements before they get forgotten.

5 years agolavf/img2dec: Autodetect dds frames.
Carl Eugen Hoyos [Mon, 29 Jun 2015 14:13:26 +0000 (16:13 +0200)]
lavf/img2dec: Autodetect dds frames.

5 years agoswscale/swscale_unscaled: Fix rounding difference with RGBA output between little...
Michael Niedermayer [Mon, 29 Jun 2015 11:51:43 +0000 (13:51 +0200)]
swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian

Fixes fate/dds-rgb16 on big endian

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for pixblock functions
Shivraj Patil [Sun, 14 Jun 2015 17:56:26 +0000 (23:26 +0530)]
avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for pixblock functions

This patch adds MSA (MIPS-SIMD-Arch) optimizations for pixblock functions in new file pixblockdsp_msa.c
Adds new generic macros (needed for this patch) in libavutil/mips/generic_macros_msa.h

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agodoc/filters: fix documentation bug in ssim filter
Paul B Mahol [Sun, 28 Jun 2015 21:23:14 +0000 (21:23 +0000)]
doc/filters: fix documentation bug in ssim filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavformat/asfdec: Allow packet_obj_size == 0
Michael Niedermayer [Mon, 29 Jun 2015 02:57:51 +0000 (04:57 +0200)]
avformat/asfdec: Allow packet_obj_size == 0

Fixes Ticket3521

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/asfdec: Print packet_obj_size in case it is invalid
Michael Niedermayer [Mon, 29 Jun 2015 02:55:06 +0000 (04:55 +0200)]
avformat/asfdec: Print packet_obj_size in case it is invalid

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoapi-h264-test: build with another api test
Ludmila Glinskih [Sat, 27 Jun 2015 22:50:25 +0000 (01:50 +0300)]
api-h264-test: build with another api test

Location of api-h264-test changed to special directory for api tests.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agofate/api-tests: Added dependency on $(FF_DEP_LIBS)
George Boyle [Sun, 28 Jun 2015 22:47:19 +0000 (23:47 +0100)]
fate/api-tests: Added dependency on $(FF_DEP_LIBS)

This ensures they are built before the tests are run.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agotests/Makefile: Fix missing trailing slash for API tests dir target
George Boyle [Sun, 28 Jun 2015 01:50:24 +0000 (02:50 +0100)]
tests/Makefile: Fix missing trailing slash for API tests dir target

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/asfdec: Print a warning if data is skiped due to less than a frame header...
Michael Niedermayer [Sun, 28 Jun 2015 21:09:53 +0000 (23:09 +0200)]
avformat/asfdec: Print a warning if data is skiped due to less than a frame header being left

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/asfdec: Reduce FRAME_HEADER_SIZE to 11
Michael Niedermayer [Sun, 28 Jun 2015 21:07:34 +0000 (23:07 +0200)]
avformat/asfdec: Reduce FRAME_HEADER_SIZE to 11

This fixes demuxing of screen_codec.wmv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoaaccoder: add intensity stereo support to encode_window_bands_info quantizer
Rostislav Pehlivanov [Fri, 26 Jun 2015 20:16:33 +0000 (21:16 +0100)]
aaccoder: add intensity stereo support to encode_window_bands_info quantizer

This commit adds support for both PNS and IS (intensity stereo) codebooks to the
encode_window_bands_info() quantizer, used by the faast, faac and anmr non-default,
native coders. This does not mean that both extensions now work with those coders,
some are simply unsuited and will trigger an assertion in the encoder while
others simply ignore the changed scalefactor indices and band types.
This commit simply adds support for encoding said band types with the alternative
coders. Future commits to the coders will be required to make them suitable.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoaaccoder: add intensity stereo coding support for the trellis quantizer
Rostislav Pehlivanov [Fri, 26 Jun 2015 20:16:32 +0000 (21:16 +0100)]
aaccoder: add intensity stereo coding support for the trellis quantizer

This commit extends the trellis quantizer (used by the default twoloop coder)
 to accept and correctly encode codebooks needed for intensity stereo and perceptual noise substitution.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/jpeg2000dec: Remove unused variables
Michael Niedermayer [Sun, 28 Jun 2015 17:18:16 +0000 (19:18 +0200)]
avcodec/jpeg2000dec: Remove unused variables

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agowmavoice: limit wmavoice_decode_packet return value to packet size
Andreas Cadhalpun [Sun, 28 Jun 2015 10:40:12 +0000 (12:40 +0200)]
wmavoice: limit wmavoice_decode_packet return value to packet size

Claiming to have decoded more bytes than the packet size is wrong.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
5 years agolavc/adpcm: THP: set approx_nb_samples correctly
Rodger Combs [Wed, 24 Jun 2015 12:58:15 +0000 (07:58 -0500)]
lavc/adpcm: THP: set approx_nb_samples correctly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavfilter: add showvolume filter
Paul B Mahol [Fri, 20 Feb 2015 10:28:36 +0000 (10:28 +0000)]
avfilter: add showvolume filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 years agoavcodec/jpeg2000dec: Merge i_stepsize/2 decoder special case into dequant
Michael Niedermayer [Sun, 28 Jun 2015 12:43:44 +0000 (14:43 +0200)]
avcodec/jpeg2000dec: Merge i_stepsize/2 decoder special case into dequant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agohuffyuvdec: validate image size
Andreas Cadhalpun [Sun, 28 Jun 2015 09:21:54 +0000 (11:21 +0200)]
huffyuvdec: validate image size

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
5 years agoaacpsy: Add energy spread for each band
Rostislav Pehlivanov [Fri, 26 Jun 2015 20:16:35 +0000 (21:16 +0100)]
aacpsy: Add energy spread for each band

This commit adds the energy spread to the struct for each band and removes 2 unused fields.
distortion and perceptual_weight were not referenced in any file nor were they set to any value,
so it was safe to remove them. The energy spread is currently only used in the aac psy model.
It's defined as being proportional to the tonality of each band.

Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '8a26ae5f94e613dbf7eb8e3c60462e966e409cdc'
Michael Niedermayer [Sun, 28 Jun 2015 11:41:40 +0000 (13:41 +0200)]
Merge commit '8a26ae5f94e613dbf7eb8e3c60462e966e409cdc'

* commit '8a26ae5f94e613dbf7eb8e3c60462e966e409cdc':
  mpjpeg: Check stream allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'b08569a23948db107e5e6175cd4c695427d5339d'
Michael Niedermayer [Sun, 28 Jun 2015 11:05:45 +0000 (13:05 +0200)]
Merge commit 'b08569a23948db107e5e6175cd4c695427d5339d'

* commit 'b08569a23948db107e5e6175cd4c695427d5339d':
  lavf: Replace the ASF demuxer

Conflicts:
Changelog
libavformat/asf.h
libavformat/asfdec.c
libavformat/version.h
tests/ref/fate/wmv8-drm-nodec
tests/ref/seek/lavf-asf

The rewritten demuxer is placed in a new file, the current demuxer is
left as default. Carl has tested both and the one working better is
default.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/riffdec: Forward error code from avio_read() in ff_get_guid()
Michael Niedermayer [Sun, 28 Jun 2015 10:56:22 +0000 (12:56 +0200)]
avformat/riffdec: Forward error code from avio_read() in ff_get_guid()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agotests/fate/wma: use the existing reference files for wmapro tests
Michael Niedermayer [Sun, 28 Jun 2015 09:58:57 +0000 (11:58 +0200)]
tests/fate/wma: use the existing reference files for wmapro tests

Theres no need to upload or use new files just because they are
shorter.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '441e8ae5efd681055e5af6f4317fb60110de9dd0'
Michael Niedermayer [Sun, 28 Jun 2015 09:48:31 +0000 (11:48 +0200)]
Merge commit '441e8ae5efd681055e5af6f4317fb60110de9dd0'

* commit '441e8ae5efd681055e5af6f4317fb60110de9dd0':
  FATE: drop the last truncated frame from the wmapro tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'd3ea79e8a65ddad4da11813bb43c46701295f68c'
Michael Niedermayer [Sun, 28 Jun 2015 09:41:23 +0000 (11:41 +0200)]
Merge commit 'd3ea79e8a65ddad4da11813bb43c46701295f68c'

* commit 'd3ea79e8a65ddad4da11813bb43c46701295f68c':
  FATE: drop the last truncated frame from the wma lossless test

Conflicts:
tests/fate/lossless-audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agowavpack: use get_bits_long to read up to 32 bits
Andreas Cadhalpun [Sat, 27 Jun 2015 18:16:12 +0000 (20:16 +0200)]
wavpack: use get_bits_long to read up to 32 bits

get_bits should not be used for more than 25 bits.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
5 years agompjpeg: Check stream allocation
Luca Barbato [Sat, 27 Jun 2015 21:19:36 +0000 (23:19 +0200)]
mpjpeg: Check stream allocation

Bug-Id: CID 1308152

5 years agolavf: Replace the ASF demuxer
Alexandra Hájková [Mon, 15 Jun 2015 12:54:45 +0000 (14:54 +0200)]
lavf: Replace the ASF demuxer

The old one is the result of the reverse engineering and guesswork.
The new one has been written following the now-available specification.

This work is part of Outreach Program for Women Summer 2014 activities
for the Libav project.

The fate references had to be changed because the old demuxer truncates
the last frame in some cases, the new one handles it properly.
The seek-test reference is changed because seeking works differently
in the new demuxer. When seeking, the packet is not read from the stream
directly, but it is rather constructed by the demuxer. That is why
position is -1 now in the reference.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agoFATE: drop the last truncated frame from the wmapro tests
Anton Khirnov [Sat, 27 Jun 2015 09:46:35 +0000 (11:46 +0200)]
FATE: drop the last truncated frame from the wmapro tests

Since it's truncated, the result depends on how specifically the demuxer
and the decoder handle errors.

5 years agoFATE: drop the last truncated frame from the wma lossless test
Anton Khirnov [Sat, 27 Jun 2015 09:46:35 +0000 (11:46 +0200)]
FATE: drop the last truncated frame from the wma lossless test

Since it's truncated, the result depends on how specifically the demuxer
and the decoder handle errors.

5 years agoavcodec/jpeg2000: Support 32 decomposition levels
Michael Niedermayer [Sun, 28 Jun 2015 01:16:06 +0000 (03:16 +0200)]
avcodec/jpeg2000: Support 32 decomposition levels

Fixes Ticket4680

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoconfigure: Also create tests/api
Michael Niedermayer [Sun, 28 Jun 2015 00:41:48 +0000 (02:41 +0200)]
configure: Also create tests/api

This should fix some problems on some fate clients like openbsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/jpeg2000: support >32bit in ff_jpeg2000_ceildivpow2()
Michael Niedermayer [Sun, 28 Jun 2015 00:31:26 +0000 (02:31 +0200)]
avcodec/jpeg2000: support >32bit in ff_jpeg2000_ceildivpow2()

Fixes part of Ticket4680

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/jpeg2000: Avoid one shift in ff_jpeg2000_ceildivpow2()
Michael Niedermayer [Sun, 28 Jun 2015 00:27:43 +0000 (02:27 +0200)]
avcodec/jpeg2000: Avoid one shift in ff_jpeg2000_ceildivpow2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoapi-flac-test: Fix the bug of comparing zero bytes
Ludmila Glinskih [Sat, 27 Jun 2015 14:31:08 +0000 (17:31 +0300)]
api-flac-test: Fix the bug of comparing zero bytes

Add check for linesize.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoaac: add additional fields needed by the encoder for intensity stereo
Rostislav Pehlivanov [Fri, 26 Jun 2015 20:16:30 +0000 (21:16 +0100)]
aac: add additional fields needed by the encoder for intensity stereo

This commit adds additional fields which are used by the native encoder to add intensity stereo support. It also adds some clarifying statements to the comments for the codebooks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/h264_slice: Reformat IN_RANGE() uses to be readable
Michael Niedermayer [Sat, 27 Jun 2015 21:56:41 +0000 (23:56 +0200)]
avcodec/h264_slice: Reformat IN_RANGE() uses to be readable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/h264_slice: Silence pointer type warnings
Michael Niedermayer [Sat, 27 Jun 2015 21:56:06 +0000 (23:56 +0200)]
avcodec/h264_slice: Silence pointer type warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/h264_slice: assert that the first slice implies unfinished setup
Michael Niedermayer [Sat, 27 Jun 2015 21:41:00 +0000 (23:41 +0200)]
avcodec/h264_slice: assert that the first slice implies unfinished setup

If this assert fails there is very likely a bug in the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '5ec0bdf2c524224f30ba4786f47324970aed4aaa'
Michael Niedermayer [Sat, 27 Jun 2015 19:44:08 +0000 (21:44 +0200)]
Merge commit '5ec0bdf2c524224f30ba4786f47324970aed4aaa'

* commit '5ec0bdf2c524224f30ba4786f47324970aed4aaa':
  h264: do not update the context fields copied between threads after finish_setup()

Conflicts:
libavcodec/h264.h
libavcodec/h264_slice.c

See: f111831ed61103f9fa8fdda41473a23da016bdaa and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '6d4d3fee63c46d921c4870feab79269af94e84e1'
Michael Niedermayer [Sat, 27 Jun 2015 18:41:21 +0000 (20:41 +0200)]
Merge commit '6d4d3fee63c46d921c4870feab79269af94e84e1'

* commit '6d4d3fee63c46d921c4870feab79269af94e84e1':
  h264: make sure the current picture is not made a long ref multiple times

See: 34ea5f418ef815c629b6ab38a6a2711fd7463290
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '9a5e4fbec870c7d466b7a0aec92c70778efc96b5'
Michael Niedermayer [Sat, 27 Jun 2015 18:34:42 +0000 (20:34 +0200)]
Merge commit '9a5e4fbec870c7d466b7a0aec92c70778efc96b5'

* commit '9a5e4fbec870c7d466b7a0aec92c70778efc96b5':
  avconv: do not stop processing the input packet on decoding error

Conflicts:
ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit 'b114f6d48a06a4dad6882bc83e07463905f004c4'
Michael Niedermayer [Sat, 27 Jun 2015 17:21:25 +0000 (19:21 +0200)]
Merge commit 'b114f6d48a06a4dad6882bc83e07463905f004c4'

* commit 'b114f6d48a06a4dad6882bc83e07463905f004c4':
  avconv: factor out flushing the filters

Conflicts:
ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil/x86/intmath: add missing check for inline assembly
James Almer [Sat, 27 Jun 2015 16:45:39 +0000 (13:45 -0300)]
avutil/x86/intmath: add missing check for inline assembly

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agonutdec: check maxpos in read_sm_data before returning success
Andreas Cadhalpun [Sat, 27 Jun 2015 15:50:56 +0000 (17:50 +0200)]
nutdec: check maxpos in read_sm_data before returning success

Otherwise sm_size can be larger than size, which results in a negative
packet size.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
5 years agoMerge commit 'e49e0f58e273237f83b4486f3536931ed1943d18'
Michael Niedermayer [Sat, 27 Jun 2015 16:38:17 +0000 (18:38 +0200)]
Merge commit 'e49e0f58e273237f83b4486f3536931ed1943d18'

* commit 'e49e0f58e273237f83b4486f3536931ed1943d18':
  h264: make sure the slices do not overlap during slice threading

Conflicts:
libavcodec/h264.h
libavcodec/h264_slice.c

See: 43b434210e597d484aef57c4139c3126d22b7e2b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agomovtextenc.c: Support for Bold, Italic and Underlined Styles
Niklesh [Fri, 26 Jun 2015 20:14:44 +0000 (01:44 +0530)]
movtextenc.c: Support for Bold, Italic and Underlined Styles

Signed-off-by: Niklesh <niklesh.lalwani@iitb.ac.in>
5 years agoMerge commit 'b56b12cd12f32bf11efff05632600a7619584b98'
Michael Niedermayer [Sat, 27 Jun 2015 16:13:26 +0000 (18:13 +0200)]
Merge commit 'b56b12cd12f32bf11efff05632600a7619584b98'

* commit 'b56b12cd12f32bf11efff05632600a7619584b98':
  configure: Check for x265_api_get

Conflicts:
configure

See: f4be604f1c4d5cb6480c81c671d646cc16b02017
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil/x86/intmath: use bzhi gcc builtin in av_mod_uintp2()
James Almer [Sat, 27 Jun 2015 15:50:09 +0000 (12:50 -0300)]
avutil/x86/intmath: use bzhi gcc builtin in av_mod_uintp2()

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoh264: do not update the context fields copied between threads after finish_setup()
Anton Khirnov [Sat, 9 May 2015 19:54:47 +0000 (21:54 +0200)]
h264: do not update the context fields copied between threads after finish_setup()

Should fix a large number of possible races with frame threading.

5 years agoh264: make sure the current picture is not made a long ref multiple times
Anton Khirnov [Fri, 8 May 2015 17:07:10 +0000 (19:07 +0200)]
h264: make sure the current picture is not made a long ref multiple times

Fixes possible invalid reads, once one of those refs is freed, but the
others remain.
CC: libav-stable@libav.org
5 years agoavconv: do not stop processing the input packet on decoding error
Anton Khirnov [Wed, 6 May 2015 11:55:38 +0000 (13:55 +0200)]
avconv: do not stop processing the input packet on decoding error

We still want to flush the filters on EOF and possibly apply streamcopy.

5 years agoavconv: factor out flushing the filters
Anton Khirnov [Wed, 6 May 2015 11:51:43 +0000 (13:51 +0200)]
avconv: factor out flushing the filters

This also ensures this is always done, avoiding infinite loops if an
error occurs at the end of the input.

5 years agoh264: make sure the slices do not overlap during slice threading
Anton Khirnov [Wed, 6 May 2015 09:12:55 +0000 (11:12 +0200)]
h264: make sure the slices do not overlap during slice threading

Based on a patch by Michael Niedermayer <michaelni@gmx.at>.
CC: libav-stable@libav.org
Found-by: Kieran Kunhya <kierank@obe.tv>
5 years agoavcodec/jpeg2000dec: Check for mismatching per expected termination
Michael Niedermayer [Sat, 27 Jun 2015 13:12:35 +0000 (15:12 +0200)]
avcodec/jpeg2000dec: Check for mismatching per expected termination

not just at the end

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolavf/brstm: if the file lies about the last block's size, correct it
Rodger Combs [Tue, 23 Jun 2015 17:35:35 +0000 (12:35 -0500)]
lavf/brstm: if the file lies about the last block's size, correct it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoconfigure: Check for x265_api_get
Derek Buitenhuis [Fri, 26 Jun 2015 13:05:00 +0000 (14:05 +0100)]
configure: Check for x265_api_get

Any other x265 symbol may not exported, e.g. if the build is a
multilib (10-bit and 8-bit in one) build.

This is the only symbol we directly call, and is available in the
build number we check for.

Fixes the configure check on multilib x265 builds.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoconfigure: Check for x265_api_get
Derek Buitenhuis [Fri, 26 Jun 2015 13:05:00 +0000 (14:05 +0100)]
configure: Check for x265_api_get

Any other x265 symbol may not exported, e.g. if the build is a
multilib (10-bit and 8-bit in one) build.

This is the only symbol we directly call, and is available in the
build number we check for.

Fixes the configure check on multilib x265 builds.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoavcodec/jpeg2000dec: Limit poc end fields to whats available in jpeg2000_decode_packets()
Michael Niedermayer [Sat, 27 Jun 2015 09:48:42 +0000 (11:48 +0200)]
avcodec/jpeg2000dec: Limit poc end fields to whats available in jpeg2000_decode_packets()

Fixes: Ticket4677

Solution based on information from
https://code.google.com/p/openjpeg/issues/detail?id=80

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/utils: Replace ENOTSUP by AVERROR_PATCHWELCOME
Michael Niedermayer [Sat, 27 Jun 2015 09:19:57 +0000 (11:19 +0200)]
avcodec/utils: Replace ENOTSUP by AVERROR_PATCHWELCOME

ENOTSUP is not available on all platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec: Add flag for experimental HWAccels and use it for VDPAU/HEVC
Philip Langdale [Fri, 26 Jun 2015 15:43:41 +0000 (08:43 -0700)]
avcodec: Add flag for experimental HWAccels and use it for VDPAU/HEVC

This HWAccel isn't really usable right now due to an nvidia driver bug,
so we don't want it selected by default.

HWAccels have a capabilities field and there's a comment about flags,
but no flags exist today, so let's add one for experimental hwaccels.

5 years agofate/api-tests: Move api-flac-test to API tests directory.
George Boyle [Thu, 25 Jun 2015 17:37:11 +0000 (18:37 +0100)]
fate/api-tests: Move api-flac-test to API tests directory.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agofate/api-tests: Add directory and Makefile for API tests
George Boyle [Thu, 25 Jun 2015 17:37:10 +0000 (18:37 +0100)]
fate/api-tests: Add directory and Makefile for API tests

The intention of this change is to allow separation of API tests from the
existing tests, and also to have a place for the API test source/executable
files so they're not mixed in with the actual library code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '92fdc80cab2acad9f171ba38a08aa89b392bdadd'
Michael Niedermayer [Fri, 26 Jun 2015 21:58:51 +0000 (23:58 +0200)]
Merge commit '92fdc80cab2acad9f171ba38a08aa89b392bdadd'

* commit '92fdc80cab2acad9f171ba38a08aa89b392bdadd':
  nvenc: Fix NV12 input

Conflicts:
libavcodec/nvenc.c

Not merged, the changed code is not in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoMerge commit '072756cdd2f949462520041e357f52f15d8c274d'
Michael Niedermayer [Fri, 26 Jun 2015 21:35:42 +0000 (23:35 +0200)]
Merge commit '072756cdd2f949462520041e357f52f15d8c274d'

* commit '072756cdd2f949462520041e357f52f15d8c274d':
  vc1dec: use get_bits_long and limit the read bits to 32

See: 1f1e0a2971b2a01f275bb5088c2e36166514be64
Merged-by: Michael Niedermayer <michaelni@gmx.at>
5 years agos302m: fix arithmetic exception
Andreas Cadhalpun [Fri, 26 Jun 2015 17:31:03 +0000 (19:31 +0200)]
s302m: fix arithmetic exception

If nb_samples is zero, the bit_rate calculation results in a division by
zero.

Since ff_get_buffer fails if frame->nb_samples is zero, this can be
fixed by moving the bit_rate calculation after that function call.

That also makes it possible to reuse the already calculated
frame->nb_samples value.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
5 years agoavcodec: Add support for per-frame AFD output in h264
Kieran Kunhya [Fri, 26 Jun 2015 20:55:06 +0000 (21:55 +0100)]
avcodec: Add support for per-frame AFD output in h264

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agonvenc: Fix NV12 input
Luca Barbato [Thu, 25 Jun 2015 23:08:42 +0000 (02:08 +0300)]
nvenc: Fix NV12 input

5 years agoavcodec/jpeg2000dec: Fix tp_index for POC
Michael Niedermayer [Fri, 26 Jun 2015 19:51:42 +0000 (21:51 +0200)]
avcodec/jpeg2000dec: Fix tp_index for POC

Fixes Ticket2586

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/jpeg2000dec: Print what is found in place of EPH if EPH is not found
Michael Niedermayer [Fri, 26 Jun 2015 19:03:58 +0000 (21:03 +0200)]
avcodec/jpeg2000dec: Print what is found in place of EPH if EPH is not found

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agolibvpx: disable unused function prototypes
James Almer [Fri, 26 Jun 2015 19:37:19 +0000 (16:37 -0300)]
libvpx: disable unused function prototypes

Fixes make checkheader

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoavcodec/jpeg2000dec: Support progression order changes
Michael Niedermayer [Fri, 26 Jun 2015 18:16:32 +0000 (20:16 +0200)]
avcodec/jpeg2000dec: Support progression order changes

Fixes Ticket4657

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/jpeg2000dec: Parse POCs
Michael Niedermayer [Fri, 26 Jun 2015 16:04:16 +0000 (18:04 +0200)]
avcodec/jpeg2000dec: Parse POCs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agovc1dec: use get_bits_long and limit the read bits to 32
Andreas Cadhalpun [Thu, 25 Jun 2015 20:54:17 +0000 (22:54 +0200)]
vc1dec: use get_bits_long and limit the read bits to 32

get_bits should not be used with more than 25 bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agovc1dec: use get_bits_long and limit the read bits to 32
Andreas Cadhalpun [Thu, 25 Jun 2015 20:47:38 +0000 (22:47 +0200)]
vc1dec: use get_bits_long and limit the read bits to 32

get_bits should not be used with more than 25 bits.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
5 years agompegaudiodec: copy AVFloatDSPContext from first context to all contexts
Andreas Cadhalpun [Thu, 25 Jun 2015 22:27:54 +0000 (00:27 +0200)]
mpegaudiodec: copy AVFloatDSPContext from first context to all contexts

This fixes a segfault when decoding multi-channel MP3onMP4 files.

This is similar to commit cb72230d for MPADSPContext.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
5 years agofate: test ea vp6 with alpha stream
Peter Ross [Thu, 25 Jun 2015 05:06:25 +0000 (15:06 +1000)]
fate: test ea vp6 with alpha stream

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavformat/hls: do not iterate to next sequence number if interruption is requested
schenk michael [Fri, 26 Jun 2015 04:20:34 +0000 (06:20 +0200)]
avformat/hls: do not iterate to next sequence number if interruption is requested

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavutil/log: modify AV_LOG_MAX_OFFSET for AV_LOG_TRACE
Zhang Rui [Fri, 26 Jun 2015 08:17:22 +0000 (16:17 +0800)]
avutil/log: modify AV_LOG_MAX_OFFSET for AV_LOG_TRACE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/jpeg2000dec: iterate in tile sample space for CPRL & RPCL
Michael Niedermayer [Fri, 26 Jun 2015 11:44:17 +0000 (13:44 +0200)]
avcodec/jpeg2000dec: iterate in tile sample space for CPRL & RPCL

Thats what the spec says should be done
aka iterate in the wrong space and use special cases to patch that up.
It sometimes can result in different order

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoffmpeg_opt: Fix sync_ist
Michael Niedermayer [Fri, 26 Jun 2015 10:37:28 +0000 (12:37 +0200)]
ffmpeg_opt: Fix sync_ist

This code was lost in 2663540821ee010edc7a47316b00a4745aaf973c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/jpeg2000dec: Add missing \n to av_log()
Michael Niedermayer [Fri, 26 Jun 2015 02:30:18 +0000 (04:30 +0200)]
avcodec/jpeg2000dec: Add missing \n to av_log()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/jpeg2000dec: iterate over positions with the special cases from jpeg2000
Michael Niedermayer [Fri, 26 Jun 2015 02:26:05 +0000 (04:26 +0200)]
avcodec/jpeg2000dec: iterate over positions with the special cases from jpeg2000

The order in j2k is not the simple and logic one

Fixes Ticket4670

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/jpeg2000dec: Add coords to Jpeg2000Tile
Michael Niedermayer [Fri, 26 Jun 2015 02:25:19 +0000 (04:25 +0200)]
avcodec/jpeg2000dec: Add coords to Jpeg2000Tile

These will be needed in subsequent commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
5 years agoavcodec/vdpau: Support for VDPAU accelerated HEVC decoding
Philip Langdale [Sat, 13 Jun 2015 16:42:48 +0000 (09:42 -0700)]
avcodec/vdpau: Support for VDPAU accelerated HEVC decoding

This change introduces basic support for HEVC decoding through vdpau.
Right now, there are problems with the nvidia driver/library implementation
that mean that frames are incorrectly laid out in memory when they are
returned from the decoder, and it is normally impossible to recover the
complete decoded frame due to loss of data from alignment inconsistencies.

I obviously hope that nvidia will be fixing it in due course - I've verified
the problems exist with their example application.

As such, this support is not useful for any real world application, but I
believe that it is correct (with the caveat that the mangled frames may hide
problems) and will work properly once the nvidia problem is fixed.

Right now it appears that any file encoded by x265 or nvenc is decoded
correctly, but that's because these files don't use a bunch of HEVC
features.

Quick summary:

Features that seem to work:

1) Short Term References
2) Scaling Lists
3) Tiling

Features with known problems:

1) Long Term References

It's hard to tell what's going on here. After I read the nvidia example
app that does not set the IsLongTerm flag on LTRs, and changed my code,
a bunch of frames using LTR started to display correctly, but there
are still samples with glitches that are related to LTRs.

In terms of real world files, both x265 and nvenc only use short term
refs from this list. The divx encoder seems similar.

Signed-off-by: Philip Langdale <philipl@overt.org>