ffmpeg.git
3 years agohevc: Split the struct setup from the pps parsing
Luca Barbato [Tue, 14 Jul 2015 10:31:15 +0000 (12:31 +0200)]
hevc: Split the struct setup from the pps parsing

3 years agomp3: Forward seeking errors
Luca Barbato [Sun, 12 Jul 2015 13:48:00 +0000 (15:48 +0200)]
mp3: Forward seeking errors

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agohevc: Print the non-supported chroma_format_idc
Luca Barbato [Sun, 12 Jul 2015 22:48:49 +0000 (00:48 +0200)]
hevc: Print the non-supported chroma_format_idc

And drop the spurious newline.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agohevc: Factor out the pixel format mapping from the sps parser
Luca Barbato [Sun, 12 Jul 2015 22:48:48 +0000 (00:48 +0200)]
hevc: Factor out the pixel format mapping from the sps parser

The function will grow larger as more formats are supported.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoasfdec: prevent memory leaks found with Coverity Scan
Alexandra Hájková [Mon, 13 Jul 2015 10:02:03 +0000 (12:02 +0200)]
asfdec: prevent memory leaks found with Coverity Scan

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agodxva2_hevc: unbreak compilation after recent sps/pps changes
James Almer [Mon, 13 Jul 2015 03:05:11 +0000 (00:05 -0300)]
dxva2_hevc: unbreak compilation after recent sps/pps changes

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agohevc_parser: fix standalone build with the hevc decoder disabled
Anton Khirnov [Mon, 13 Jul 2015 06:56:53 +0000 (08:56 +0200)]
hevc_parser: fix standalone build with the hevc decoder disabled

The parser depends on hevc_ps, which in turn needs some data tables.

Found-by: James Almer <jamrial@gmail.com>
3 years agohevc_ps: make sure failing to decode an SPS always returns an error
Anton Khirnov [Mon, 13 Jul 2015 05:49:03 +0000 (07:49 +0200)]
hevc_ps: make sure failing to decode an SPS always returns an error

Some of the goto err clauses do not set the error code. It seems better
to fall back on INVALIDDATA instead of adding it everywhere explicitly.

3 years agohevc: handle a NULL sps in set_sps() properly
Anton Khirnov [Sun, 12 Jul 2015 16:57:10 +0000 (18:57 +0200)]
hevc: handle a NULL sps in set_sps() properly

This can happen in update_thread_context(), when the previous frame was
corrupted.

3 years agohevc: do not pass an entire HEVCContext into export_stream_params()
Anton Khirnov [Sun, 12 Jul 2015 16:52:02 +0000 (18:52 +0200)]
hevc: do not pass an entire HEVCContext into export_stream_params()

It only needs the parameter sets.

3 years agohevc_parser: parse and export some stream parameters
Anton Khirnov [Thu, 9 Jul 2015 17:34:51 +0000 (19:34 +0200)]
hevc_parser: parse and export some stream parameters

Particularly those that will be needed by the QSV decoder.
More can be added later as necessary.

3 years agohevc: improve a comment
Anton Khirnov [Thu, 9 Jul 2015 16:36:16 +0000 (18:36 +0200)]
hevc: improve a comment

That loop does the actual full decoding, so 'parse' can be misleading.

3 years agohevc: move splitting the packet into NALUs into a separate function
Anton Khirnov [Thu, 9 Jul 2015 16:33:52 +0000 (18:33 +0200)]
hevc: move splitting the packet into NALUs into a separate function

This function is independent of the decoding context, so we'll be able
to use it in the parser.

3 years agohevc: eliminate the second call to hls_nal_unit()
Anton Khirnov [Thu, 9 Jul 2015 16:11:44 +0000 (18:11 +0200)]
hevc: eliminate the second call to hls_nal_unit()

Also, make hls_nal_unit() work only on the provided NAL unit, without
requiring a whole decoding context.

This will allow splitting this code for reuse by the parser.

3 years agohevc: skip invalid/ignored NALUs when splitting the packet
Anton Khirnov [Thu, 9 Jul 2015 16:01:08 +0000 (18:01 +0200)]
hevc: skip invalid/ignored NALUs when splitting the packet

There is no need to wait until actually decoding the NALU. This will
allow to get rid of the second hls_nal_unit() call later.

3 years agohevc: remove HEVCContext usage from hevc_ps
Anton Khirnov [Thu, 9 Jul 2015 12:22:43 +0000 (14:22 +0200)]
hevc: remove HEVCContext usage from hevc_ps

Factor out the parameter sets into a separate struct and use it instead.

This will allow us to reuse this code in the parser.

3 years agompegvideo_parser: export pixel format and dimensions
Anton Khirnov [Mon, 6 Jul 2015 19:53:13 +0000 (21:53 +0200)]
mpegvideo_parser: export pixel format and dimensions

3 years agohevc: check slice address length
Andreas Cadhalpun [Fri, 10 Jul 2015 17:41:43 +0000 (19:41 +0200)]
hevc: check slice address length

It is used as get_bits argument and reading 0 bits doesn't make sense.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agodoc: add a section about building with libmfx
Anton Khirnov [Fri, 10 Jul 2015 07:57:41 +0000 (09:57 +0200)]
doc: add a section about building with libmfx

3 years agobytestream2: set the reader to the end when reading more than available
Anton Khirnov [Fri, 10 Jul 2015 07:31:24 +0000 (09:31 +0200)]
bytestream2: set the reader to the end when reading more than available

This prevents possible infinite loops with the calling code along the
lines of while (bytestream2_get_bytes_left()) { ... }, where the reader
does not advance.

CC: libav-stable@libav.org
3 years agoCheckasm: assembly testing and benchmarking tool
Henrik Gramner [Sat, 11 Jul 2015 18:32:11 +0000 (20:32 +0200)]
Checkasm: assembly testing and benchmarking tool

It provides the following features:
 * verify correctness by comparing output to the C version.
 * detect failure to save and restore clobbered callee-saved registers.
 * detect 32-bit parameters being used as if they were 64-bit in x86-64
   (the upper halves are not guaranteed to be zero - but in practice
   they very often are, which makes those bugs hard to spot otherwise).
 * easy benchmarking.

Compile by running 'make checkasm'.
Execute by running 'tests/checkasm/checkasm'.

Optional arguments are '--bench' to run benchmarks for all functions,
'--bench=<pattern>' to run benchmarks for all functions that starts with
<pattern>, and '<integer>' to seed the PRNG for reproducible results.

Contains unit tests for most h264pred functions to get started, more tests
can be added afterwards using those as a reference.

Loosely based on code from x264. Currently only supports x86 and x86-64,
but additional architectures shouldn't be too much of an obstacle to add.

Note that functions with floating point parameters or floating point
return values are not supported. Some compiler-specific features or
preprocessor hacks would likely be required to add support for that.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
3 years agoasfdec: always reset packet state after seeking
Hendrik Leppkes [Sun, 12 Jul 2015 10:34:13 +0000 (12:34 +0200)]
asfdec: always reset packet state after seeking

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoriff: Validate bitrate
Andreas Cadhalpun [Sat, 11 Jul 2015 16:40:31 +0000 (18:40 +0200)]
riff: Validate bitrate

3 years agomp3: Make the seek more robust
Luca Barbato [Sat, 11 Jul 2015 15:38:26 +0000 (17:38 +0200)]
mp3: Make the seek more robust

Try to parse up to 4 packets to find the closest packet.

Reported-By: jan.schlueter@ofai.at
3 years agoriff: Use the correct logging context
Luca Barbato [Sat, 11 Jul 2015 10:41:42 +0000 (12:41 +0200)]
riff: Use the correct logging context

3 years agog726: Do not crash on user mistake
Luca Barbato [Sat, 11 Jul 2015 09:47:13 +0000 (11:47 +0200)]
g726: Do not crash on user mistake

Properly report the sample rate as invalid

CC: libav-stable@libav.org
3 years agofbdev: Support the RGB565 colour space.
Dan Flett [Thu, 11 Jul 2013 16:16:07 +0000 (18:16 +0200)]
fbdev: Support the RGB565 colour space.

Tested on a Raspberry Pi.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoimc: Use correct position for flcoeffs2 calculation
Andreas Cadhalpun [Fri, 10 Jul 2015 19:59:32 +0000 (21:59 +0200)]
imc: Use correct position for flcoeffs2 calculation

flcoeffs2[pos] should be the log2 of flcoeffs1[pos].
flcoeffs1[0] can be 0 here, thus flcoeffs2[pos] gets set to -inf,
causing problems further down.

This seems to have been copied from imc_decode_level_coefficients in
commit 4eb4bb3 without updating the position.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoasfdec: Fix reading from the pipe
Alexandra Hájková [Fri, 10 Jul 2015 10:39:58 +0000 (12:39 +0200)]
asfdec: Fix reading from the pipe

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agolibvpx: Add the library header
Vittorio Giovara [Thu, 9 Jul 2015 19:36:19 +0000 (21:36 +0200)]
libvpx: Add the library header

Unbreak make checkheaders

3 years agolavc: Add nvenc.h to the skipheader
Luca Barbato [Thu, 9 Jul 2015 12:42:34 +0000 (14:42 +0200)]
lavc: Add nvenc.h to the skipheader

Unbreak make checkheaders

3 years agoconfigure: Make the new qsv encoder depend on libmfx
Luca Barbato [Wed, 8 Jul 2015 22:18:19 +0000 (00:18 +0200)]
configure: Make the new qsv encoder depend on libmfx

Found-by: kropping
3 years agox86: Serialize rdtsc in read_time()
Henrik Gramner [Wed, 8 Jul 2015 20:33:53 +0000 (22:33 +0200)]
x86: Serialize rdtsc in read_time()

Improves the accuracy of measurements, especially in short sections.

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

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

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

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

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

Mixing succinct and long syntax does not work.

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

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

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

It will be useful in the QSV HEVC encoder.

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

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

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

3 years agolavc: Deprecate avctx.rc_strategy
Vittorio Giovara [Fri, 3 Jul 2015 15:46:44 +0000 (16:46 +0100)]
lavc: Deprecate avctx.rc_strategy

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

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoh261: Signal freeze picture release for intra frames
Stian Selnes [Tue, 2 Dec 2014 17:55:13 +0000 (18:55 +0100)]
h261: Signal freeze picture release for intra frames

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

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

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

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

Fixes H.261 calls to Cisco E20.

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

Bug-Id: 872
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoxcbgrab: Explicitly include xcb/shape.h
Luca Barbato [Mon, 6 Jul 2015 18:00:27 +0000 (20:00 +0200)]
xcbgrab: Explicitly include xcb/shape.h

Found-By: Cheristheus
3 years agompjpeg: Write the Content-length
Frank Heckenbach [Fri, 3 Jul 2015 22:48:47 +0000 (00:48 +0200)]
mpjpeg: Write the Content-length

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

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

Unbreak build from 7a5902c556d84a367dd64a003a4e7244fc3a73d1.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agolavc: Disable deprectation warnings coming from options table
Vittorio Giovara [Thu, 2 Jul 2015 22:28:46 +0000 (23:28 +0100)]
lavc: Disable deprectation warnings coming from options table

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

Move the APIchange entry at the top.

3 years agovda: Check the correct pointer for buffer allocation
Luca Barbato [Thu, 2 Jul 2015 23:56:16 +0000 (01:56 +0200)]
vda: Check the correct pointer for buffer allocation

CC: libav-stable@libav.org
Found-By: kropping
3 years agowebp: Make sure enough bytes are available
Andreas Cadhalpun [Thu, 2 Jul 2015 23:14:51 +0000 (01:14 +0200)]
webp: Make sure enough bytes are available

Every chunk needs at least 8 bytes for chunk_type and chunk_size.
Prevent a possible infinite loop.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoasfdec: prevent the infinite loop in detect unknown_subobject
Alexandra Hájková [Thu, 2 Jul 2015 12:17:20 +0000 (14:17 +0200)]
asfdec: prevent the infinite loop in detect unknown_subobject

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoasfdec: prevent possible memory leak in the asf_read_metadata_obj
Alexandra Hájková [Thu, 2 Jul 2015 10:26:19 +0000 (12:26 +0200)]
asfdec: prevent possible memory leak in the asf_read_metadata_obj

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agolavc: Deprecate avctx.{inter,intra}_quant_bias
Vittorio Giovara [Thu, 2 Jul 2015 11:14:22 +0000 (12:14 +0100)]
lavc: Deprecate avctx.{inter,intra}_quant_bias

They are used by dnxhd and mpegvideo_enc exclusively, move them to codec
private options instead.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavu: add an API function to return the Libav version string
wm4 [Thu, 2 Jul 2015 17:04:59 +0000 (19:04 +0200)]
lavu: add an API function to return the Libav version string

This returns something like "v12_dev0-1332-g333a27c". This is much more
useful than the individual library versions, of which there are too
many, and which are very hard to map back to releases or git commits.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
3 years agofate-g2m3: disable the audio stream
Janne Grunau [Wed, 1 Jul 2015 15:35:51 +0000 (17:35 +0200)]
fate-g2m3: disable the audio stream

The audio decoder is not in fate-g2m3 dependencies and the wma2 decoder
is probably not bit-exact since it it float based.

3 years agoelsdec: Replace EOVERFLOW with INVALIDDATA
Michael Niedermayer [Wed, 1 Jul 2015 14:38:19 +0000 (15:38 +0100)]
elsdec: Replace EOVERFLOW with INVALIDDATA

EOVERFLOW is not available on all platforms.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
3 years agog2meet: force simple idct for identical results over all fate configs
Janne Grunau [Wed, 1 Jul 2015 13:33:20 +0000 (15:33 +0200)]
g2meet: force simple idct for identical results over all fate configs

3 years agog2meet: use av_ceil_log2 instead of a custom function
Janne Grunau [Wed, 1 Jul 2015 11:58:34 +0000 (13:58 +0200)]
g2meet: use av_ceil_log2 instead of a custom function

3 years agog2meet: use an unsigned type for the djb hash
Janne Grunau [Wed, 1 Jul 2015 11:34:50 +0000 (13:34 +0200)]
g2meet: use an unsigned type for the djb hash

3 years agoavcodec: add missing CODEC_CAP_DR1 to codecs using get_buffer()
Janne Grunau [Sun, 28 Jun 2015 12:58:47 +0000 (14:58 +0200)]
avcodec: add missing CODEC_CAP_DR1 to codecs using get_buffer()

3 years agomov: Log format rather than fourcc in stsd in trace mode
Vittorio Giovara [Tue, 30 Jun 2015 13:38:48 +0000 (15:38 +0200)]
mov: Log format rather than fourcc in stsd in trace mode

This will fix remaining format warnings.

3 years agomov: Adjust variable types to fix format warnings
Vittorio Giovara [Tue, 30 Jun 2015 13:38:47 +0000 (15:38 +0200)]
mov: Adjust variable types to fix format warnings

3 years agodump: Use the correct abs() version
Vittorio Giovara [Tue, 30 Jun 2015 13:38:46 +0000 (15:38 +0200)]
dump: Use the correct abs() version

Fix warning from clang "absolute value function 'abs' given an argument
of type 'long long' but has parameter of type 'int' which may cause
truncation of value [-Wabsolute-value]".

3 years agolavfi: Add library identifier
Vittorio Giovara [Tue, 30 Jun 2015 14:43:57 +0000 (16:43 +0200)]
lavfi: Add library identifier

3 years agolavd: Add library identifier
Vittorio Giovara [Tue, 30 Jun 2015 14:43:56 +0000 (16:43 +0200)]
lavd: Add library identifier

3 years agolavc: Add missing API guard to dtg_active_format option
Vittorio Giovara [Tue, 30 Jun 2015 16:28:26 +0000 (18:28 +0200)]
lavc: Add missing API guard to dtg_active_format option

3 years agog2meet: Add FATE tests for all three G2M variants
Diego Biurrun [Tue, 31 Mar 2015 14:31:34 +0000 (16:31 +0200)]
g2meet: Add FATE tests for all three G2M variants

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoGo2Meeting decoder
Kostya Shishkov [Fri, 10 Apr 2015 10:14:27 +0000 (12:14 +0200)]
Go2Meeting decoder

ELS and ePIC decoder courtesy of Maxim Poliakovski,
cleanup and integration by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agofate: Avoid unnecessary pixel format conversions
Martin Storsjö [Tue, 30 Jun 2015 19:35:44 +0000 (22:35 +0300)]
fate: Avoid unnecessary pixel format conversions

Most of the fate-dds-* and fate-txd-* tests already
output into the same pixel format regardless of
platform endianness, so there's no need to force
conversion to another format.

This fixes the tests fate-txd-16bpp, fate-txd-odd,
fate-dds-rgb16, fate-dds-rgb24 and fate-dds-xrgb on
big endian, where the tests seem to fail due to issues
with certain conversion codepaths in swscale.

Those conversion codepaths should of course be fixed, but
the individual decoder tests should use as little extra
conversion steps as possible.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoh264: Parse registered data SEI message and AFD value
Vittorio Giovara [Sun, 28 Jun 2015 10:13:05 +0000 (12:13 +0200)]
h264: Parse registered data SEI message and AFD value

Partially based on code by Marton Balint and Kieran Kunhya.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoh264_sei: Group error check outside the switch block
Vittorio Giovara [Sun, 28 Jun 2015 00:05:04 +0000 (02:05 +0200)]
h264_sei: Group error check outside the switch block

3 years agoh263: Always check both dimensions
Luca Barbato [Fri, 26 Jun 2015 13:57:16 +0000 (15:57 +0200)]
h263: Always check both dimensions

CC: libav-stable@libav.org
Found-By: ago@gentoo.org
3 years agocosmetic: Reformat ff_h263_decode_mba
Luca Barbato [Fri, 26 Jun 2015 13:57:15 +0000 (15:57 +0200)]
cosmetic: Reformat ff_h263_decode_mba

3 years agomov: Preserve the metadata even when bit-exactness is requested
Luca Barbato [Mon, 15 Jun 2015 18:40:46 +0000 (20:40 +0200)]
mov: Preserve the metadata even when bit-exactness is requested

Make sure to not write the custom `encoder` string in that case.

Bug-Id: 845
CC: libav-stable@libav.org
3 years agoaic: Fix slice size computation for widths multiples of 32 macroblocks
Vittorio Giovara [Sun, 28 Jun 2015 08:50:42 +0000 (10:50 +0200)]
aic: Fix slice size computation for widths multiples of 32 macroblocks

CC: libav-stable@libav.org
3 years agoh264: Allow stream and container cropping at the same time
Vittorio Giovara [Sun, 8 Mar 2015 04:06:32 +0000 (04:06 +0000)]
h264: Allow stream and container cropping at the same time

The container cropping is applied only when difference is within 16
pixels, and the smallest value between the two is chosen.

Bug-Id: 383
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agofate: Update ac3 test to the new request_channel_layout option
Vittorio Giovara [Sat, 27 Jun 2015 21:36:33 +0000 (23:36 +0200)]
fate: Update ac3 test to the new request_channel_layout option

3 years agompegts: Add jpeg2000 stream type
John Högberg [Mon, 29 Jun 2015 12:57:20 +0000 (14:57 +0200)]
mpegts: Add jpeg2000 stream type

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoriff: Validate the wav header size before trying to parse it
Luca Barbato [Sun, 28 Jun 2015 15:32:40 +0000 (17:32 +0200)]
riff: Validate the wav header size before trying to parse it

3 years agoasf: Do not skip data streams
Luca Barbato [Sun, 28 Jun 2015 15:03:02 +0000 (17:03 +0200)]
asf: Do not skip data streams

3 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

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

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

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

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

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

3 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>
4 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>
4 years agonvenc: Fix NV12 input
Luca Barbato [Thu, 25 Jun 2015 23:08:42 +0000 (02:08 +0300)]
nvenc: Fix NV12 input

4 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>
4 years agoTextureDSP: fix erroneous condition which produced blocky output for DXT
Tom Butterworth [Tue, 23 Jun 2015 16:40:11 +0000 (17:40 +0100)]
TextureDSP: fix erroneous condition which produced blocky output for DXT

4 years agodds: Fix palette mode on big endian
Luca Barbato [Tue, 23 Jun 2015 12:48:10 +0000 (13:48 +0100)]
dds: Fix palette mode on big endian

Found-By: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agosegafilm: Remove deplanarization hack
Paul B Mahol [Tue, 23 Jun 2015 12:48:08 +0000 (13:48 +0100)]
segafilm: Remove deplanarization hack

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agoPCM signed 16-bit big-endian planar decoder
Paul B Mahol [Tue, 23 Jun 2015 12:48:07 +0000 (13:48 +0100)]
PCM signed 16-bit big-endian planar decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 years agolibvpx: fix test for VPX_IMAGE_ABI_VERSION
Janne Grunau [Wed, 24 Jun 2015 06:39:40 +0000 (08:39 +0200)]
libvpx: fix test for VPX_IMAGE_ABI_VERSION

4 years agoFix missing symbols when libvpx has only vp8 enabled
Mark Webster [Wed, 24 Jun 2015 05:14:50 +0000 (06:14 +0100)]
Fix missing symbols when libvpx has only vp8 enabled

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
4 years agoarm64: constify src in h264qpel dsp function definitions
Janne Grunau [Sun, 14 Jun 2015 18:53:56 +0000 (20:53 +0200)]
arm64: constify src in h264qpel dsp function definitions