Commit Graph

41952 Commits

Author SHA1 Message Date
Vittorio Giovara c0b105756f 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>
2015-06-22 15:23:08 +01:00
Vittorio Giovara 8337e0c573 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>
2015-06-22 15:23:08 +01:00
Luca Barbato 2ecfd45164 Implement Snappy decompression
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-22 15:23:08 +01:00
Luca Barbato 61dc9d647c udp: Fix local_port management
The default value for unset is -1, not 0.

Problem introduced in 66028b7ba6
2015-06-22 10:47:29 +03:00
Luca Barbato 8655c54160 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>
2015-06-21 16:27:18 +03:00
Luca Barbato 05bf3f54e6 libvpx: Do not set vp8 only parameters when encoding in vp9 2015-06-20 12:18:01 +03:00
Luca Barbato c060d046aa 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>
2015-06-20 12:18:01 +03:00
nu774 6ec688e1bc 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>
2015-06-20 12:18:01 +03:00
James Almer 1e79d5c6e7 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>
2015-06-17 14:13:43 +01:00
Vittorio Giovara d8d124eebc aic: Improve error reporting 2015-06-17 14:06:35 +01:00
Andreas Cadhalpun a4fbd55d6e 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>
2015-06-15 13:39:07 +02:00
Luca Barbato 9af7e8045e 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
2015-06-15 13:39:07 +02:00
Luca Barbato 03ca6d70df x264: Factor out the reconfiguration code 2015-06-15 13:39:07 +02:00
Luca Barbato 24ad3ac6a3 nut: Drop doxygen markers 2015-06-15 13:39:07 +02:00
Vittorio Giovara 07b2db81d0 riff: Add MNM4 FourCC as mpeg4 2015-06-15 12:29:25 +01:00
wm4 74ea1167d9 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>
2015-06-14 19:50:03 +03:00
Vittorio Giovara 3b73d5c942 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]".
2015-06-12 17:15:18 +01:00
Vittorio Giovara 2d5176fad1 on2avc: Use the integer abs() version
Fixes clang warning "floating point absolute value function 'fabsf'
when argument is of integer type [-Wabsolute-value]".
2015-06-12 17:02:49 +01:00
Vittorio Giovara a7ac1a7b94 flv: Name an enum and use its type 2015-06-12 17:02:49 +01:00
Vittorio Giovara 30dfc1dad4 cws2fws: Close file handles on error
Reported-By: infer
2015-06-12 17:02:49 +01:00
Vittorio Giovara a9b2a51178 avconv_opt: Check localtime() return value
Reported-By: infer
2015-06-12 17:02:48 +01:00
Vittorio Giovara 8a78ae2d21 segment: Check open_null_ctx() return value
Reported-By: infer
2015-06-12 17:02:48 +01:00
Vittorio Giovara b7a4127a45 h264_qpel: Use the correct header 2015-06-12 17:02:48 +01:00
Michael Niedermayer 5e87080f2c h264_weight: Fix SSSE3 biweight code with weights of 128
CC: libav-stable@libav.org
Sample-Id: test_bref.mp4

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-12 17:02:48 +01:00
Luca Barbato 64a2e84416 eamad: Use the correct headers
Untangle eamad from the mpeg12.h header and speed up rebuilding.
2015-06-12 12:29:46 +01:00
Luca Barbato 8606e881b0 mpeg12: Move the vlc bits to a stand alone file 2015-06-12 12:29:46 +01:00
Vittorio Giovara f1fa1eed2a mpegvideo: Expand macro
Having this macro in an header only facilitates the use of such header.
The code increase is minimal and files have one less dependency
on mpegvideo.h.
2015-06-12 12:29:46 +01:00
Vittorio Giovara e7af52a68d mpegvideo: rv10: Move function declaration to a separate header 2015-06-12 12:26:54 +01:00
Vittorio Giovara e3d0f49abb mpegvideo: h263: Move all tables to a single file 2015-06-12 12:26:04 +01:00
Vittorio Giovara 8b5007a31b mpegvideo: Move ER functions to a separate file 2015-06-12 11:57:26 +01:00
Vittorio Giovara c0e6b8cab8 mpegvideo: Mark one function as static 2015-06-10 14:06:44 +01:00
Vittorio Giovara d1dd0d404c mpegvideo: Move block permutation function where is used
Mark it as static.
2015-06-10 14:06:23 +01:00
Vittorio Giovara c6aa0554b0 mpegvideo: Drop release_unused_pictures() function
It is only used in one place, and it is small enough that it might be
called directly.
2015-06-10 14:05:53 +01:00
Vittorio Giovara 7061bf0925 mpegvideo: Move Picture-related functions to a separate file 2015-06-10 14:05:32 +01:00
Janne Grunau 529c05698e movenc: fixes a questionable valgrind uninitialized value warning
display_matrix_size is only initialized when av_stream_get_side_data()
returns a side data pointer. The code is safe since the only effect this
has is setting the display_matrix pointer to NULL which it was already
anyway.
2015-06-10 14:32:11 +02:00
Luca Barbato b14086ca38 mkv: Correctly report the latest packet had been flushed
Bug-Id: 865
CC: libav-stable@libav.org
2015-06-09 14:27:54 +02:00
James Almer b380337020 mpjpegdec: don't try to alloc an AVIOContext when probe is guaranteed to fail
The first check is done without the AVIOContext, so alloc it only if said check succeeds

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2015-06-09 10:07:11 +02:00
Janne Grunau 210921722b imc: add required padding for GetBitContext buffer
Fixes stack buffer overflow errors detected by address sanitizer in
fate-imc.

CC: libav-stable@libav.org
2015-06-09 10:07:04 +02:00
Janne Grunau 09447f2b0f ac3_parser: add required padding for GetBitContext buffer
Fixes stack buffer overflow errors detected by address sanitizer in
various fate tests.

CC: libav-stable@libav.org
2015-06-09 10:06:59 +02:00
Janne Grunau fb14730802 aac_parser: add required padding for GetBitContext buffer
Fixes stack buffer overflow errors detected by address sanitizer in
various fate tests.

CC: libav-stable@libav.org
2015-06-09 10:05:54 +02:00
Vittorio Giovara 4733a12dd1 rtpdec_asf: Check memory allocation and free memory on error
CC: libav-stable@libav.org
Bug-Id: CID 1257774
2015-06-08 13:04:29 +01:00
Vittorio Giovara 6308cd4868 mov: Check memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1292518
2015-06-08 13:03:39 +01:00
Vittorio Giovara bc1eace1b3 jack: Check memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1292520
2015-06-08 13:03:27 +01:00
Vittorio Giovara f7e9324733 audiointerleave: Always initialize new_pkt
CC: libav-stable@libav.org
Bug-Id: CID 609333
2015-06-08 13:03:10 +01:00
Vittorio Giovara 8ef98855d2 sctp: Always initialize outmsg struct
CC: libav-stable@libav.org
Bug-Id: CID 1302711
2015-06-08 13:01:33 +01:00
Janne Grunau caf7be30b1 mpjpgdec: free AVIOContext leak on early probe fail 2015-06-08 13:55:26 +02:00
Vittorio Giovara 925b80d640 mpegvideo: Move OutFormat enum to mpegutils.h
It is necessary to avoid circular header dependencies.
2015-06-08 12:39:42 +01:00
Vittorio Giovara 9bb11be0e5 mpegvideo: Split picture allocation for encoding and decoding
The main ff_alloc_picture() function is made more generic with all the
parameters necessary as arguments. This will allows to move most of the
related functions to a separate file later.

Right now wrappers are provided to try and minimize the number of
changes in the code.
2015-06-08 12:39:42 +01:00
Vittorio Giovara f8716a1408 mpegvideo: Rework frame_size_alloc function
Use more generic arguments and remove its static attribute since it will
be moved to a separate file.
2015-06-08 12:39:42 +01:00
Vittorio Giovara da0c8664b4 mpegvideo: Move various temporary buffers to a separate context 2015-06-08 12:39:42 +01:00