6 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>
6 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>
6 years agoriff: Validate bitrate
Andreas Cadhalpun [Sat, 11 Jul 2015 16:40:31 +0000 (18:40 +0200)]
riff: Validate bitrate

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

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

6 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

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

6 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

6 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

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

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

6 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

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

Bug-Id: 872
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 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
7 years agompjpeg: Write the Content-length
Frank Heckenbach [Fri, 3 Jul 2015 22:48:47 +0000 (00:48 +0200)]
mpjpeg: Write the Content-length

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

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

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

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

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

7 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

7 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

7 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()

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

7 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

7 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]".

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

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

7 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

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

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

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

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

7 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

7 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

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

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

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

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

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

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

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

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

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

7 years agoDirectDraw Surface image decoder
Vittorio Giovara [Tue, 26 May 2015 23:30:51 +0000 (00:30 +0100)]
DirectDraw Surface image decoder

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agoHap decoder and encoder
Vittorio Giovara [Sat, 25 Apr 2015 22:58:57 +0000 (23:58 +0100)]
Hap decoder and encoder

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agotxd: Use the TextureDSP module for decoding
Vittorio Giovara [Tue, 19 May 2015 22:54:16 +0000 (23:54 +0100)]
txd: Use the TextureDSP module for decoding

Using the internal DXTC routines brings support for non multiple of 4
textures. A new test is added to cover this feature. Hashes differ
since the decoding algorithm is different, though no visual changes
have been spotted.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agoIntroduce a TextureDSP module
Vittorio Giovara [Tue, 19 May 2015 23:01:37 +0000 (00:01 +0100)]
Introduce a TextureDSP module

This module implements generic texture decompression from different
families (DXTC, RGTC, BCn) and texture compression DXTC 1, 3, and 5.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agoImplement Snappy decompression
Luca Barbato [Sun, 24 May 2015 14:20:26 +0000 (16:20 +0200)]
Implement Snappy decompression

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agoudp: Fix local_port management
Luca Barbato [Sun, 29 Mar 2015 13:19:35 +0000 (15:19 +0200)]
udp: Fix local_port management

The default value for unset is -1, not 0.

Problem introduced in 66028b7ba6b411ba12ef553e9c8f1f4a4fe27710

7 years agolibvpx: Support the vp9 extended profiles
Luca Barbato [Thu, 11 Jun 2015 14:56:31 +0000 (16:56 +0200)]
libvpx: Support the vp9 extended profiles

Bump the minimum libvpx version to 1.3.0 and rework the configure logic
to fail only if no decoders and encoders are found.

Based on the original patch from Vittorio.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agolibvpx: Do not set vp8 only parameters when encoding in vp9
Luca Barbato [Tue, 16 Jun 2015 01:48:00 +0000 (03:48 +0200)]
libvpx: Do not set vp8 only parameters when encoding in vp9

7 years agoaf_resample: Set the number of samples in the last frame
Luca Barbato [Fri, 1 Aug 2014 23:58:07 +0000 (01:58 +0200)]
af_resample: Set the number of samples in the last frame

Otherwise trailing zeroes would appear.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agomp3: enable packed main_data decoding in MP4
nu774 [Fri, 9 May 2014 14:05:42 +0000 (23:05 +0900)]
mp3: enable packed main_data decoding in MP4

14496-3 suggests packing main_data of MP3 that is usually scattered
into multiple frames due to bit reservoir.

However, after packing main_data into a access unit, bitrate index
in the MPEG audio frame header doesn't match with actual frame size.

In order to accept this, this patch removes unnecessary frame size
checking on mp3 decoder.

Also, mov demuxer was changed to use MP3 parser only on special cases
(QT MOV with specific sample description) to avoid re-packetizing.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agolibwebpenc: use WebPMemoryWriterClear()
James Almer [Tue, 16 Jun 2015 16:27:20 +0000 (17:27 +0100)]
libwebpenc: use WebPMemoryWriterClear()

WebPMemoryWriterClear() must be used instead of free() when
libwebp ABI version is > 0x0203.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agoaic: Improve error reporting
Vittorio Giovara [Mon, 15 Jun 2015 17:27:53 +0000 (18:27 +0100)]
aic: Improve error reporting

7 years agoh264: er: Copy from the previous reference only if compatible
Andreas Cadhalpun [Sun, 14 Jun 2015 10:40:18 +0000 (12:40 +0200)]
h264: er: Copy from the previous reference only if compatible

Also use the frame pixel format instead of the one from the codec
context, which is more robust.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agolavc: Clarify the behaviour of dimension and format context fields
Luca Barbato [Sun, 14 Jun 2015 09:45:54 +0000 (11:45 +0200)]
lavc: Clarify the behaviour of dimension and format context fields

The AVCodecContext width, height, coded_width, coded_height and format
are used mainly as decoding hints and they get internally overwritten
during the data parsing stage.

Do not assume they match the last AVFrame provided by
avcodec_decode_video2 and assimilated functions since multi-threading
and other frame reordering might make those values to refer to frames
that will be outputted in the future.

CC: libav-stable@libav.org
7 years agox264: Factor out the reconfiguration code
Luca Barbato [Thu, 11 Jun 2015 22:08:49 +0000 (00:08 +0200)]
x264: Factor out the reconfiguration code

7 years agonut: Drop doxygen markers
Luca Barbato [Thu, 11 Jun 2015 00:40:34 +0000 (02:40 +0200)]
nut: Drop doxygen markers

7 years agoriff: Add MNM4 FourCC as mpeg4
Vittorio Giovara [Fri, 12 Jun 2015 18:12:05 +0000 (19:12 +0100)]
riff: Add MNM4 FourCC as mpeg4

7 years agotls_gnutls: fix hang on disconnection
wm4 [Sun, 14 Jun 2015 15:12:53 +0000 (17:12 +0200)]
tls_gnutls: fix hang on disconnection

GNUTLS_SHUT_RDWR means GnuTLS will keep waiting for the server's
termination reply. But since we don't shutdown the TCP connection at
this point yet, GnuTLS will just keep skipping actual data from the
server, which basically is perceived as hang.

Use GNUTLS_SHUT_WR instead, which doesn't have this problem.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agofft-test: Use the float fabs() version
Vittorio Giovara [Fri, 12 Jun 2015 16:04:20 +0000 (17:04 +0100)]
fft-test: Use the float fabs() version

Fixes clang warning "absolute value function 'fabsf' given an argument
of type 'double' but has parameter of type 'float' which may cause
truncation of value [-Wabsolute-value]".

7 years agoon2avc: Use the integer abs() version
Vittorio Giovara [Fri, 12 Jun 2015 11:32:38 +0000 (12:32 +0100)]
on2avc: Use the integer abs() version

Fixes clang warning "floating point absolute value function 'fabsf'
when argument is of integer type [-Wabsolute-value]".