Anton Khirnov
18156b53f9
hevc: do not pass an entire HEVCContext into export_stream_params()
...
It only needs the parameter sets.
2015-07-12 18:52:02 +02:00
Anton Khirnov
650060dfb6
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.
2015-07-12 18:15:40 +02:00
Anton Khirnov
7f78155dc6
hevc: improve a comment
...
That loop does the actual full decoding, so 'parse' can be misleading.
2015-07-12 18:15:40 +02:00
Anton Khirnov
d82e1adc20
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.
2015-07-12 18:15:39 +02:00
Anton Khirnov
ae05b48655
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.
2015-07-12 18:15:39 +02:00
Anton Khirnov
d7bebe4805
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.
2015-07-12 18:15:39 +02:00
Anton Khirnov
b11acd5732
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.
2015-07-12 18:15:39 +02:00
Anton Khirnov
ab05ed4c32
mpegvideo_parser: export pixel format and dimensions
2015-07-12 18:15:39 +02:00
Andreas Cadhalpun
9f4c7397a2
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>
2015-07-12 18:15:39 +02:00
Anton Khirnov
86eee85dad
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
2015-07-12 18:15:39 +02:00
Luca Barbato
355864ef7a
g726: Do not crash on user mistake
...
Properly report the sample rate as invalid
CC: libav-stable@libav.org
2015-07-11 18:45:44 +02:00
Andreas Cadhalpun
1410eeb6ea
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>
2015-07-10 23:13:30 +02:00
Vittorio Giovara
67c884eb07
libvpx: Add the library header
...
Unbreak make checkheaders
2015-07-09 21:36:19 +02:00
Luca Barbato
461b45efd0
lavc: Add nvenc.h to the skipheader
...
Unbreak make checkheaders
2015-07-09 21:34:57 +02:00
Anton Khirnov
66acb76bb0
lavc: add Intel libmfx-based HEVC encoder
2015-07-08 23:40:11 +02:00
Anton Khirnov
3a85397e8b
lavc: add Intel libmfx-based MPEG2 encoder
2015-07-08 23:39:28 +02:00
Anton Khirnov
69ab9f53f9
hevc: split bitstream unescaping to a separate file
...
It will be useful in the QSV HEVC encoder.
2015-07-08 23:38:32 +02:00
Anton Khirnov
fd124d8357
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.
2015-07-08 23:36:22 +02:00
Vittorio Giovara
1761ab838c
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>
2015-07-08 16:36:39 +01:00
Stian Selnes
02b7c63087
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>
2015-07-07 15:11:15 +02:00
Stian Selnes
dc1de0b958
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>
2015-07-07 15:04:55 +02:00
Vittorio Giovara
f046c3b5ac
lavc: Move deprecation warning disabling to files including the table
...
Unbreak build from 7a5902c556
.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-03 21:02:50 +02:00
Vittorio Giovara
7a5902c556
lavc: Disable deprectation warnings coming from options table
2015-07-03 14:30:17 +01:00
Luca Barbato
80f955c908
vda: Check the correct pointer for buffer allocation
...
CC: libav-stable@libav.org
Found-By: kropping
2015-07-03 01:58:32 +02:00
Andreas Cadhalpun
76d4c62734
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>
2015-07-03 01:50:09 +02:00
Vittorio Giovara
910247f172
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>
2015-07-02 22:37:59 +01:00
Michael Niedermayer
4e0819310e
elsdec: Replace EOVERFLOW with INVALIDDATA
...
EOVERFLOW is not available on all platforms.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 16:26:42 +01:00
Janne Grunau
9eec23b8a7
g2meet: use av_ceil_log2 instead of a custom function
2015-07-01 13:58:34 +02:00
Janne Grunau
4ccccd6c40
g2meet: use an unsigned type for the djb hash
2015-07-01 13:34:50 +02:00
Janne Grunau
007e27d363
avcodec: add missing CODEC_CAP_DR1 to codecs using get_buffer()
2015-07-01 12:10:25 +02:00
Vittorio Giovara
3f872c9bfa
lavc: Add missing API guard to dtg_active_format option
2015-07-01 00:13:58 +01:00
Kostya Shishkov
08c2d8f0aa
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>
2015-07-01 01:08:15 +02:00
Vittorio Giovara
271ce76d31
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>
2015-06-30 15:34:38 +02:00
Vittorio Giovara
0bfab80a0d
h264_sei: Group error check outside the switch block
2015-06-30 15:34:38 +02:00
Luca Barbato
0a49a62f99
h263: Always check both dimensions
...
CC: libav-stable@libav.org
Found-By: ago@gentoo.org
2015-06-30 15:34:38 +02:00
Luca Barbato
6f4cd33efb
cosmetic: Reformat ff_h263_decode_mba
2015-06-30 15:34:38 +02:00
Vittorio Giovara
303ec065a9
aic: Fix slice size computation for widths multiples of 32 macroblocks
...
CC: libav-stable@libav.org
2015-06-30 15:34:37 +02:00
Vittorio Giovara
3e3056f2a0
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>
2015-06-30 15:34:37 +02:00
Anton Khirnov
5ec0bdf2c5
h264: do not update the context fields copied between threads after finish_setup()
...
Should fix a large number of possible races with frame threading.
2015-06-27 16:48:48 +02:00
Anton Khirnov
6d4d3fee63
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
2015-06-27 16:46:01 +02:00
Anton Khirnov
e49e0f58e2
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>
2015-06-27 16:43:22 +02:00
Luca Barbato
92fdc80cab
nvenc: Fix NV12 input
2015-06-26 22:18:24 +02:00
Andreas Cadhalpun
072756cdd2
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>
2015-06-26 19:39:29 +02:00
Tom Butterworth
5dbd491eb3
TextureDSP: fix erroneous condition which produced blocky output for DXT
2015-06-24 14:45:23 +01:00
Luca Barbato
4d55484391
dds: Fix palette mode on big endian
...
Found-By: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-24 14:45:16 +01:00
Paul B Mahol
5a79bf0284
PCM signed 16-bit big-endian planar decoder
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-06-24 14:45:00 +01:00
Janne Grunau
41740ef8be
libvpx: fix test for VPX_IMAGE_ABI_VERSION
2015-06-24 08:48:52 +02:00
Mark Webster
a88e21f5b7
Fix missing symbols when libvpx has only vp8 enabled
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2015-06-24 08:47:30 +02:00
Janne Grunau
c2de2cf0d2
arm64: constify src in h264qpel dsp function definitions
2015-06-24 08:41:32 +02:00
Vittorio Giovara
5c018ee188
DirectDraw Surface image decoder
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-22 15:23:08 +01:00
Vittorio Giovara
7ca3e5203f
Hap decoder and encoder
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-22 15:23:08 +01:00
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
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
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
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
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
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
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
Luca Barbato
bc76c46943
aac: Wait to know the channels before allocating frame
...
The channel configuration can be delivered only by the PCE,
try to parse it first and not try to decode until a channel
configuration is set.
CC: libav-stable@libav.org
2015-06-07 10:14:46 +02:00
Sebastian Dröge
a188108ebf
aac: Support channel configurations 11 and 12
...
These are defined in ISO/IEC 14496-3:2009/PDAM 4 for 6.1 and 7.1.
It also defines another 7.1 layout with configuration 14, that one
is not added here for now.
11: 3/3.1 FC FL+FR BL+BR BC LFE
12: 3/2/2.1 FC FL+FR SiL+SiR BL+BR LFE
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-07 10:14:46 +02:00
nu774
677c804aa3
aac: correctly map 7.1ch-wide AAC from FDK AAC encoder
...
FDK AAC encoder outputs SCE(front)+CPE(front)+CPE(back)+CPE(back) on
MODE_7_1_REAR_SURROUND configuration.
Since decoder couldn't properly map 4 back channels, decoding failed
unless -request_channel_layout 0x8000000000000000 has been specified.
Now we treat first CPE(back) as CPE(side) on channel mapping.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-07 10:14:45 +02:00
nu774
0289f81241
aac: Correctly map multichannel ADTS AAC with non-zero channel_config + PCE
...
The decoder assigns channels using default channel configuration
for 5.1ch when it parses an ADTS frame header using consecutive
channel ids.
When a PCE comes, it reassigns channels using PCE configuration
using directly the ids provided. They can be arbitrary.
Always use consecutive channel ids to avoid decoding glitches due
spurious reconfigurations due the channel ids mismatch between the
two otherwise-identical channel maps.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-06-03 14:40:10 +02:00
Luca Barbato
7f596368a4
bink: Factorize bink put_pixel
...
And make sure to check INTER_BLOCK as had been fixed by Michael
Niedermayer.
Reported-By: Andreas Cadhalpun
CC: libav-stable@libav.org
2015-06-03 14:39:03 +02:00
Martin Storsjö
172b2cee17
dxva2: Add ifdefs around structs that might not be available
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 23:04:46 +03:00
Steve Lhomme
28fa58cf5d
dxva2: Fix build when only D3D11 or DXVA2 is used
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 12:04:57 +03:00
Michael Niedermayer
08d006f5a8
h264: Fix HWACCEL_MAX for D3D11
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 11:36:30 +03:00
Michael Niedermayer
674b79148f
hevc: Fix HWACCEL_MAX for D3D11
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-06-01 11:36:22 +03:00
Luca Barbato
b08caa87c3
nvenc: H264 and HEVC encoders
...
Partially based on the work of Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 15:17:22 +02:00
Vittorio Giovara
522d971c7f
xsub: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
83797da6e3
wma: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
e1ea365f7e
truemotion2: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
28fb80dcbf
svq1: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
42df71d9bb
ratecontrol: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
0994e14213
pthread: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
03927cb733
psymodel: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
fef2f4722b
xvid: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
9fb483fede
x264: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
41658bc885
libtheora: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
8df5fbf0b0
lcl: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
7ca603f96f
jpegls: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
7d2a682691
huffyuv: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
7fccc96dc3
eatgv: Check memory allocation
2015-05-31 15:03:31 +02:00
Vittorio Giovara
69277069dd
dct: Check memory allocation
2015-05-31 15:03:30 +02:00
Vittorio Giovara
e524f37356
asv: Check memory allocation
2015-05-31 15:03:30 +02:00
Vittorio Giovara
074a1b3732
aacpsy: Check memory allocation
2015-05-31 15:03:30 +02:00
Vittorio Giovara
149fa0b7ac
mpegvideo: Move MotionEstContext and function declarations to a separate header
2015-05-31 13:06:19 +02:00
Vittorio Giovara
b2b766914a
mpegvideo: mpeg12: Move function declarations
2015-05-31 13:06:19 +02:00
Vittorio Giovara
378a00087f
mpegvideo: Move tables to a separate file
2015-05-31 13:06:19 +02:00
Vittorio Giovara
31a117a0e6
mpegvideo: msmpeg4: Move function declarations
2015-05-31 13:06:19 +02:00
Vittorio Giovara
2f15846ad7
mpegvideo: wmv2: Move function declarations
2015-05-31 13:06:19 +02:00
Hendrik Leppkes
902a55f716
dxva2_hevc: re-write reference frame handling
...
The old logic required an explicit clearing of the lists first and was
prone to overflow the DXVA2 struct in some circumstances.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 13:05:13 +02:00
Hendrik Leppkes
35818b8aaf
dxva2_hevc: fix 32x32 scaling lists
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 13:05:13 +02:00
Vittorio Giovara
3f38d4b816
vp9: Parse subsampling and report missing feature
2015-05-31 12:19:19 +02:00
James Almer
d68c05380c
x86: check for AV_CPU_FLAG_AVXSLOW where useful
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-31 12:07:11 +02:00
Luca Barbato
d0bf20a4f2
ppc: vsx: Implement diff_pixels and get_pixels
...
Use a macro to abstract the endianness.
2015-05-31 12:07:11 +02:00
Luca Barbato
da60b99a88
ppc: Restrict some Altivec implementations to Big Endian
...
In Little Endian the vec_ld/vec_st operations work as
expected only for byte-vectors.
2015-05-31 12:07:11 +02:00
Luca Barbato
7014b65995
ppc: pixblockdsp: Use the abriged vector types
2015-05-31 12:07:10 +02:00
Luca Barbato
0181ae9af2
h264: Make sure reinit failures mark the context as not initialized
...
Bug-Id: CVE-2015-3417
CC: libav-stable@libav.org
2015-05-30 16:28:32 +02:00
Luca Barbato
5ecabd3c54
msrle: Use FFABS to determine the frame size in msrle_decode_pal4
...
As done in msrle_decode_8_16_24_32.
Bug-Id: CVE-2015-3395
CC: libav-stable@libav.org
2015-05-30 16:28:32 +02:00
Michael Niedermayer
e4610300de
x86: cavs: Remove an unneeded scratch buffer
...
Simplifies the code and makes it build on certain compilers
running out of registers on x86.
CC: libav-stable@libav.org
Reported-By: mudler
2015-05-28 18:40:40 +02:00
Anton Khirnov
1b1bb2c4ef
rl: Add error checking to ff_rl_init().
2015-05-28 15:38:43 +01:00
Anton Khirnov
324e50ee95
rl: Add a function for freeing dynamically allocated tables.
...
Such tables are not used anywhere currently, but that should change.
2015-05-28 15:38:43 +01:00
Anton Khirnov
6f57375d70
rl: Rename ff_*_rl() to ff_rl_*()
2015-05-28 15:38:43 +01:00
Anton Khirnov
fa1923f182
mpegvideo: Move ff_*_rl functions to a separate file
2015-05-28 15:38:43 +01:00
Vittorio Giovara
419e3404d0
mpegvideo: Drop exchange_uv() function and use its code directly
...
Code is small enough that there is no advantage in a separate function.
2015-05-28 15:38:43 +01:00
Steve Lhomme
d8039ef8d2
D3D11va: add a Direct3D11 video decoder similar to DXVA2
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-25 11:47:08 +02:00
Vittorio Giovara
4e17946f10
mpegvideo: Rework various functions not to use MpegEncContext directly
2015-05-22 15:34:39 +01:00
Vittorio Giovara
a3f4c930ac
mpegvideo: Have ff_mpeg_ref_picture use AVCodecContext directly
2015-05-22 15:34:39 +01:00
Vittorio Giovara
d528045558
mpegvideo: Have ff_mpeg_unref_picture use AVCodecContext directly
...
This skips setting the memory to 0 but allows for reuse on different
contextes. Oracle did not report any unsual activity because of it.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
6f54dc43ce
mpegvideo: Drop stream_codec_tag
...
The field is unused.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
9c1db92ad3
mpegvideo: Drop err_recognition
...
It is just a duplicate of an AVCodecContext member so use it instead.
2015-05-22 15:34:39 +01:00
Vittorio Giovara
848e86f74d
mpegvideo: Drop flags and flags2
...
They are just duplicates of AVCodecContext members so use those instead.
2015-05-22 15:34:39 +01:00
wm4
3efe0393e4
hevc: make avcodec_decode_video2() fail if get_format() fails
...
Personally, I need the decoder to back out if get_format() returns no
usable pixel format. This didn't work because the error code was not
propagated down the call chain. This in turn happened because the
variable declaration removed in this patch shadowed the variable, whose
value is returned at the end of the function. Consequently, failures of
decode_nal_unit() were ignored in this place.
Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-19 18:59:06 +01:00
Vittorio Giovara
eafbc6716c
vmnc: Delay pixel size check
...
Some clients incorrectly set 24 as bits_per_coded_sample, while
the actual value is preserved in one of the codec headers.
In order to work around this, delay the check until decode_frame().
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-05-19 18:55:30 +01:00
Stefano Pigozzi
e7c5e17d4f
vda: Make output CVPixelBuffer format configurable
...
This is useful for client programs to ask for nv12 surfaces instead of the
current default (uyvy), since those are more efficient to decode to.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-13 17:39:37 +02:00
Gopu Govindaswamy
3b5e5e6a29
libx265: Use the Multi-library Interface
...
Use the Multi-library interface to load at runtime x265 libraries
supporting alternative bit depths (e.g. 8bit and 16bit).
The linked library will try to load the library supporting the
pixel format if it is not supported by itself.
Fallback requesting the native library (passing 0 to x265_api_get) if
a library supporting the requested bit depth is not available.
Signed-off-by: Gopu Govindaswamy <gopu@multicorewareinc.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-13 17:14:50 +02:00
Shiina Hideaki
85ca012ba6
mjpegenc: Fix JFIF header byte ordering
...
The header had a wrong version description.
Bug-Id: 808
Signed-off-by: Shiina Hideaki <shiina@yndrd.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-05-12 16:30:48 +01:00
Vittorio Giovara
d84429d41e
dnxhd: Print unknown header when found
2015-05-12 16:30:48 +01:00
Vittorio Giovara
0348e74c01
quickdraw: Skip the empty 512 byte header for images
...
Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2015-05-12 15:28:31 +01:00
Carl Eugen Hoyos
d0dce15da3
quickdraw: Make the palette opaque
...
Additional overflow fix by Michael Niedermayer <michaelni@gmx.at>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-05-12 15:28:31 +01:00
foo86
0670acc4f1
dca_parser: Extend DTS core sync word and fix existing check
...
The previous version checked for 14-bit streams and did not properly
work across buffer boundaries.
Use the 64-bit parser state to make extended sync word detection work
across buffer boundary and check the extended sync word for 16-bit LE
and BE core streams to reduce probability of alias sync detection.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-12 03:20:25 +02:00
wm4
b9f7a67708
png: Set the color range as full range
...
The format uses full range for the gray formats.
CC: libav-stable@libav.org
2015-05-09 15:55:50 +02:00
Andreas Cadhalpun
243e8443cd
alac: Reject rice_limit 0 if compression is used
...
If in compression mode rice_limit = 0 leads to call
`show_bits(gb, k)` in `decode_scalar` with k = 0.
Request a sample in case it is valid and it should be accepted.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
CC: libav-stable@libav.org
2015-05-08 11:10:51 +02:00
Andreas Cadhalpun
295e05a762
ape: Support _0000 files with nblock smaller than 64
...
The decode_array_0000 assumed that 64 is the minimal block size
while it is not.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-05-08 11:10:51 +02:00
Vittorio Giovara
04070dbca0
libx265: Fix 'braces around scalar initializer' warning
...
x265 Reordered the x265_picture fields in the commit
51b1518de2 (diff-945b5354d8767dfac13334f2d22cf58fR107)
Now the first field is an integer and not an array.
2015-05-06 14:53:29 +01:00
Vittorio Giovara
34efb8a169
quickdraw: Support direct pixel blocks
...
Data is stored in separated components so rework decode_rle() to support
stepping and offsets.
2015-05-06 14:27:34 +01:00
Vittorio Giovara
bb2cb0a66d
quickdraw: Switch to greedy parsing
...
Quickdraw packs data as a series of codes that the application is supposed
to handle, but it does not define any order in which they might appear.
Since it's unfeasible to support *all* opcodes defined by the spec,
only handle well-known blocks containing video data and ignore any unknown
or unsupported ones.
Move palette loading and rle decoding to separate functions to resue them
in other blocks and drop format initialization in init since it can
support more formats than pal8.
Validate width and height.
2015-05-06 14:26:30 +01:00
Vittorio Giovara
d00f1e0fc1
quickdraw: Convert to bytestream2
...
Add appropriate error messages and reduce r, g, b variables scope.
Drop the now redundant line checks in RLE decoding.
2015-05-06 14:26:30 +01:00
Andreas Cadhalpun
60f1cc4a1f
alsdec: only adapt order for positive max_order
...
For max_order = 0 the clipping range is invalid. (amin = 2, amax = 1)
CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 16:10:52 +02:00
Andreas Cadhalpun
94bb1ce882
alsdec: check sample pointer range in revert_channel_correlation
...
Also change the type of begin, end and smp to ptrdiff_t to make the
comparison well-defined.
CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 16:06:58 +02:00
Andreas Cadhalpun
110f7f35fb
aacpsy: correct calculation of minath in psy_3gpp_init
...
The minimum of the ath(x, ATH_ADD) function depends on ATH_ADD.
This patch uses the first order approximation to determine it.
For ATH_ADD = 4 this results in the value at 3407.06812 (-5.24241638)
not the one at 3410 (-5.24237967).
CC: libav-stabl@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 10:28:02 +02:00
Andreas Cadhalpun
e191aaca44
alsdec: limit avctx->bits_per_raw_sample to 32
...
avctx->bits_per_raw_sample is used in get_sbits_long, which only
supports up to 32 bits.
CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 10:22:29 +02:00
Andreas Cadhalpun
8fc8024ea5
aasc: return correct buffer size from aasc_decode_frame
...
CC: libav-stable@libav.org
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-05-05 10:18:59 +02:00
Carl Eugen Hoyos
3ecb82dd41
dnxhddec: Fix pixel format change
...
Regression introduced in 598f7d046c
.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-05-01 14:52:24 +01:00
Vittorio Giovara
6503cbf842
ffv1enc: Add const attribute to input frame
...
warning: assigning to 'AVFrame *' (aka 'struct AVFrame *') from
'const AVFrame *' (aka 'const struct AVFrame *') discards
qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
2015-05-01 14:52:24 +01:00
Anton Khirnov
a09c499a2e
rawenc: properly allocate coded_frame
2015-04-29 05:52:58 +02:00
Anton Khirnov
a0f2946068
h264: use properly allocated AVFrames
2015-04-29 05:52:58 +02:00
Anton Khirnov
7a4f74eed5
h264: embed the DPB in the context
...
It now has a fixed size and is initialized only once, so there is no
point in allocating it separately.
2015-04-29 05:52:58 +02:00
Anton Khirnov
88c612e3a4
h264: merge the init and reinit paths in update_thread_context()
...
There is no real need to handle the init case specially, everything
necessary is initialized in the reinit code as well.
2015-04-29 05:52:58 +02:00
Anton Khirnov
8a66fd4026
h264: drop the reinit parameter from init_slice_header()
...
It is only used to decide whether to call free_tables(), but that
function is safe to call on an uninitialized context as well.
2015-04-29 05:52:58 +02:00
Anton Khirnov
c9ccbc7333
h264: update the current bit depth/chroma type in init_slice_header()
...
With frame threading, it is currently only updated in the context where
the change occurs, but not in any other contexts.
2015-04-29 05:52:58 +02:00
Anton Khirnov
29dcde2b87
h264: copy nal_length_size in update_thread_context
...
It does not make sense to copy is_avc without copying this as well. This
patch should not change anything for now, but will have an effect in
later commits.
2015-04-29 05:52:58 +02:00
Anton Khirnov
440e8dd374
h264: drop a comment that carries no useful information
2015-04-29 05:52:58 +02:00
Anton Khirnov
11f024ef0a
h264: move freeing the escaped RBSP buffer to free_context()
...
It does not logically belong in free_tables(), since it's not allocated
in alloc_tables() and its size has nothing to do with the frame size.
2015-04-29 05:52:58 +02:00
Anton Khirnov
ee62b364be
h264: eliminate ff_h264_set_parameter_from_sps()
...
That function currently does two things -- reinitializing the DSP
contexts and setting low_delay based on the SPS values.
The former more appropriately belongs in h264_slice_header_init(), while
the latter only really makes sense in decode_slice_header().
The third call to ff_h264_set_parameter_from_sps(), done immediately
after parsing a new SPS, appears to serve no useful purpose, so it is
just dropped.
Also, drop now unneeded H264Context.cur_chroma_format_idc.
2015-04-29 05:52:57 +02:00
Anton Khirnov
54986d6db9
h264: move context reinit lower down in update_thread_context()
...
It uses some fields from the SPS, which is not yet set where the reinit
is called currently.
2015-04-29 05:52:57 +02:00
Anton Khirnov
a6cd154463
h264: move the DPB init/uninit to init_context()/free_context()
...
Currently, the DPB is initialized in alloc_tables() and uninitialized in
free_tables(), but those functions manage frame size-dependent
variables, so DPB management does not logically belong in there.
Since we want the init/uninit to happen exactly once per the context
lifetime, init_context()/free_context() are the proper place for this
code.
2015-04-29 05:52:57 +02:00
Anton Khirnov
9d33bab583
h264: drop H264Context.ouputed_poc
...
It is only set, but never used for anything.
2015-04-29 05:52:57 +02:00
Anton Khirnov
27b0e6ebfd
h264: drop needs_realloc
...
It is not needed anymore since switching to refcounted frames.
2015-04-29 05:52:57 +02:00
Vittorio Giovara
0c69164f45
h263: Convert function to macro
2015-04-28 16:33:09 +01:00
Vittorio Giovara
59dfc2b0c8
h263: Drop commented-out code and a related otherwise unused function
2015-04-28 16:31:05 +01:00
Vittorio Giovara
c341820130
jpeglsenc: Mark codec as init-thread-safe and init-cleanup
...
Fixes a memory leak on init failure.
2015-04-28 16:29:29 +01:00
Vittorio Giovara
3919a45726
jpeglsenc: Check memory allocations
...
Convert exisiting free functions to av_freep() to avoid accidental
double frees, and always intialize all buffers to NULL.
2015-04-28 16:27:16 +01:00
Vittorio Giovara
f5ba67ee13
flacenc: Move a scratch buffer to struct used by the function
...
This avoids allocating/freeing memory at every function call,
checking its return value, and carrying the error around.
2015-04-28 16:25:09 +01:00
Rico Tzschichholz
5aed1d4240
vaapi: Fix -Wimplicit-function-declaration for ff_dlog() usage
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-26 00:07:41 +02:00
Andreas Cadhalpun
cfdaa4de6c
dss_sp: use lowercase codec name without whitespace
...
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-04-24 14:55:11 +01:00
Vittorio Giovara
18db1286b0
libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe
...
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
eae7338e15
libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe
...
This takes care of memory leaks on init error.
2015-04-24 14:55:11 +01:00
Vittorio Giovara
74a1cad7e3
lclenc: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:11 +01:00
Vittorio Giovara
bb428e00ac
hqx: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:11 +01:00
Vittorio Giovara
43171886e0
huffyuvenc: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:11 +01:00
Vittorio Giovara
d90133b77b
asvenc: Mark codec as init-thread-safe and init-cleanup
2015-04-24 14:55:10 +01:00
Vittorio Giovara
a4edaeb50f
hq_hqa: Fix table data for profile 17
...
The table had a wrong table height and was missing the first line of bytes.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-24 14:55:10 +01:00
Vittorio Giovara
5bba3ab0cf
internal: Make dlog/tlog a no-op when disabled
...
Improves Coverity analysis, avoiding "double semicolon" CIDs.
2015-04-24 14:55:10 +01:00
Luca Barbato
0a51c7d42a
prores: Set the bits_per_coded_sample for alpha pix_fmt
...
Improve the compatibility with other software.
2015-04-22 20:50:10 +02:00
Luca Barbato
28eddef689
hq_hqa: Validate get_vlc2 return value
...
The `hq_ac_vlc.table` is incomplete, so unaccounted symbol return -1
as value.
2015-04-22 12:27:43 +02:00
Luca Barbato
a78f5548d9
avcodec: Free the default avoptions on init failure
2015-04-22 12:27:13 +02:00
Luca Barbato
aef0be0875
avcodec: Unref the dummy buffer on the fail path
2015-04-22 12:27:13 +02:00
Vittorio Giovara
bd5ad8b23d
hq_hqa: Fix reading hqa quantization matrix index
...
Value is stored as a byte.
2015-04-20 19:20:22 +01:00
Vittorio Giovara
1746dc382d
hqxdsp.h: #include "stddef.h"
...
It is required by ptrdiff_t, fixes make checkheaders.
2015-04-20 19:19:23 +01:00
Vittorio Giovara
86e1a35802
h264_ps: Return meaningful error codes and address a memory leak
...
Bug-Id: CID 1026763
2015-04-20 14:59:40 +01:00
Diego Biurrun
338ed3ed33
ffv1: Pass correct pointers to av_free()
...
Bug-Id: CID 1295124
2015-04-20 14:59:40 +01:00
Thomas Guillem
b18346817d
flac: fix realloc loop with invalid flac files
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-04-20 12:41:33 +02:00
Eric Zimmerman
eb31256f12
g2meet: Support G2M5 codec variant
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 23:45:35 +01:00
Andreas Cadhalpun
09bd7ddf20
aacdec: consistently use avctx for logging in decode_eld_specific_config
...
ac may be NULL and then accessing ac->avctx results in a segmentation fault.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-04-19 23:45:35 +01:00
Vittorio Giovara
3d71b1f8f0
mpegvideo_enc: Simplify picture allocation
2015-04-19 23:17:56 +01:00
Vittorio Giovara
0251c9be5a
motion_est: Fix warning from zero_cmp() assignment
...
warning: incompatible
pointer types assigning to 'me_cmp_func' (aka 'int (*)(struct
MpegEncContext *, uint8_t *, uint8_t *, ptrdiff_t, int)') from 'int
(MpegEncContext *, uint8_t *, uint8_t *, int, int)'
[-Wincompatible-pointer-types]
2015-04-19 23:17:56 +01:00
Vittorio Giovara
4d593896aa
vc1_pred: Always initialize px and py in ff_vc1_pred_mv_intfr()
...
Fix a rather lengthy initialization warning from clang.
2015-04-19 23:17:56 +01:00
Vittorio Giovara
22526c1f55
Canopus HQ/HQA decoder
...
Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 22:37:23 +01:00
Vittorio Giovara
e6fb844f7b
Implement shared parsing of INFO tag in Canopus family
...
Add some bounds checking to CLLC; reduce HQX variable scoping,
add an error message.
2015-04-19 22:37:02 +01:00
Vittorio Giovara
5b5338f6d1
hqx: Implement slice-threaded decoding
...
Inspired by a patch from Ferdinand Oeinck <ferdo@demon.nl>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-19 22:36:48 +01:00
Vittorio Giovara
453642f8af
hqx: Store shareable data in main decoder context
...
In preparation for multithreaded decoding.
2015-04-19 22:36:41 +01:00
Vittorio Giovara
ea031b75fb
hqx: Move DSP related code to a separate file
2015-04-19 12:41:59 +01:00
Vittorio Giovara
17aa81d947
hqx: Merge invalid format check within switch block
2015-04-19 12:41:59 +01:00
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
2015-04-19 12:41:59 +01:00
Luca Barbato
ec89f35e3e
x265: Map color parameters
2015-04-15 09:48:48 +02:00
Luca Barbato
0cbb147317
x264: Map color parameters
2015-04-15 09:48:47 +02:00
wm4
13e4f2c7f7
mpeg4videodec: Remove useless messages
...
They seem to sometimes trigger with old AVI files. They are just
confusing, do not help anyone, and use sloppy language.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:43 +02:00
wm4
49e531ff47
mmal: Reference MMAL VC lib explicitly
...
This is optional, but ensures that linking with -Wl,--as-needed does not
drop the library containing the MMAL VC driver. The driver normally
"registers" itself in the library constructor, but since no symbols are
explicitly referenced, the linker could remove it with --as-needed
enabled.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:13 +02:00
wm4
2de7650451
mmal: Move system headers before local headers
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-14 12:32:10 +02:00
Vittorio Giovara
73dacabfc9
ffv1: Check memory allocations
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-04-13 17:51:31 +02:00
James Almer
bbdb50d7a8
libx265: print supported presets and tunes on error
...
Based on code from libavcodec/libx264.c
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-04-11 11:13:28 -04:00
Ferdinand Oeinck
0266988ccd
hqx: Fix clipping error in idct put function
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-04-09 13:52:04 +02:00
Vittorio Giovara
5980c924e3
dnxhd: Log the selected profile id
2015-04-09 13:51:58 +02:00
Vittorio Giovara
f8fd0c29ce
v210: Fix typo in header guards
2015-04-09 13:40:44 +02:00
Diego Biurrun
bb815dfc38
g2meet: K&R formatting cosmetics
2015-04-08 14:23:36 +02:00
Anton Khirnov
249796e256
svq3: initialize some required H264Context fields.
...
They are no longer initialized in ff_h264_decode_init() since 43fd3dd
,
so svq3 needs to initialize the manually.
Fixes svq3 decoding, broken since 43fd3dd
.
2015-04-05 21:02:56 +02:00
Martin Storsjö
5637ff0121
libavcodec: Clarify the documentation of the internal codec capability flags
...
The previous documentation was very vague and almost misleading.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-04-05 20:47:50 +03:00
Michael Niedermayer
31048d48b0
avcodec/libx265: export chosen picture types
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-04-05 12:32:07 -04:00
Anton Khirnov
bd737b5178
h264: reset the private data in init_thread_copy()
...
The generic code copies the main context's private data to all the
others. However that is quite dangerous, as it might end up copying some
pointers that are or will become invalid.
Since everything we actually need will be copied later in
update_thread_context(), it's safest to zero the private data in
init_thread_copy(), so it works the same way as init for the main
context.
2015-04-05 12:03:07 +02:00
Anton Khirnov
a939e5b252
h264: remove a commented out nonsense line
2015-04-05 12:03:02 +02:00
Anton Khirnov
65afa65e73
h264: drop redundant initialization of the scaling matrices
...
It will always be initialized when actually parsing the PPS.
2015-04-05 12:02:57 +02:00
Anton Khirnov
e1f907711a
h264: factor out common code from init() and init_thread_copy()
2015-04-05 12:02:35 +02:00
Anton Khirnov
43fd3dd80c
h264: drop redundant initialization in init()
...
There is no real advantage to initializing any of those in init,
assuming yuv420, before the real stream parameters are known.
2015-04-05 12:02:26 +02:00
Anton Khirnov
050324d020
h264: initialize cur_chroma_format_idc
...
This makes sure the various DSP contexts get properly initialized in
ff_h264_set_parameter_from_sps() whatever the value of
raw_bits_per_sample.
2015-04-05 12:02:20 +02:00
Anton Khirnov
84f226a3bc
h264: use the correct SPS during PPS parsing
...
There is in general no reason for the currently active SPS to be the one
referenced by the PPS being parsed.
2015-04-05 12:01:34 +02:00
Anton Khirnov
a4d34e218f
h264: disable ER by default
...
The way it is currently designed is fundamentally unsafe and cannot be
reasonably fixed without completely rewriting it.
2015-04-03 13:14:43 +02:00
Anton Khirnov
df528b11ac
hevc: make sure no dangling pointers remain around on VPS/SPS change
2015-04-03 13:10:03 +02:00
Anton Khirnov
ce0bc09ee2
hevc: do not change the VPS if its contents are the same
...
This is the same as is done for SPS.
2015-04-03 13:10:03 +02:00
Anton Khirnov
7693ba0a0e
hevc: export stream parameters from extradata
...
This allows the callers to have a hint of the probable stream parameters
without actually decoding anything.
2015-04-03 13:10:03 +02:00
Anton Khirnov
1ae7afd256
hevc: split out setting AVCodecContext parameters
...
Additionally always set the software pixel format, so it's available
even if ff_get_format() is not called later. This will be useful for
exporting stream parameters from init().
2015-04-03 13:10:02 +02:00
Diego Biurrun
4978850ca2
build: Split JPEG-related tables off into a separate component
2015-03-30 17:51:21 +02:00
Diego Biurrun
87f87ccf32
mjpeg: Use a more precise type for put_marker()
2015-03-30 17:51:20 +02:00
Diego Biurrun
e6e3dcba0c
mjpeg: Move code only used in the encoder(s) to the appropriate header
2015-03-30 17:51:20 +02:00
Himangi Saraogi
6ed38b1f65
tiff: Return more meaningful error codes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-30 17:51:20 +02:00
Diego Biurrun
23944d29a2
indeo: Give Indeo4/5 shared code a more consistent name
2015-03-30 17:49:05 +02:00
Diego Biurrun
7d3183d3a4
qsv: Skip header compilation depending on what parts of qsv are enabled
2015-03-30 17:41:48 +02:00
Hendrik Leppkes
72025ac36c
lavc: add libdcadec decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 10:15:09 +02:00
Hendrik Leppkes
6fe2641d6e
lavc: add profile define for DTS Express
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 10:00:38 +02:00
wm4
c48456166e
lavc: add MMAL hardware decoder wrapper
...
Based on a patch by Rodger Combs.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-29 09:55:20 +02:00
Anton Khirnov
72b7441a10
lavc: add Intel libmfx-based H.264 encoder
2015-03-27 22:02:10 +01:00
Anton Khirnov
9ba27c2348
qsvdec: add 'decode' to the non-static function names
2015-03-27 21:57:47 +01:00
Anton Khirnov
d0a63d8b98
qsvdec: split off some code that will be shared with the encoder
2015-03-27 21:57:28 +01:00
Anton Khirnov
b04d009b0e
qsv: rename to qsvdec
...
This is to avoid conflicts with the upcoming QSV encoding support.
2015-03-27 21:56:36 +01:00
Hendrik Leppkes
1ddd3e23a4
vaapi_h264: fix slice data offset
2015-03-23 20:53:29 +00:00
Hendrik Leppkes
ae4f5d944c
dxva2_h264: fix slice offset in long slice structs
2015-03-23 20:53:29 +00:00
Michael Niedermayer
b21af32aed
lavc: Prefer x264 over openh264 if both libraries are available
2015-03-23 20:53:29 +00:00
Anton Khirnov
c28ed1d743
h264: move [uv]linesize to the per-slice context
...
While it is a per-frame variable, it is only really used in the
low-level decoding code, so it is more efficient to store it in the
slice context.
2015-03-21 11:27:16 +01:00
Anton Khirnov
b53569e068
h264_cabac: remove now unnecessary H264Context function parameters
2015-03-21 11:27:16 +01:00
Anton Khirnov
a12d3188cb
h264: use a smaller struct for the ref lists
...
There is no need to store a whole H264Picture, with a full AVFrame
embedded in it. This should allow getting rid of the embedded AVFrame
later.
2015-03-21 11:27:16 +01:00
Anton Khirnov
94295106d2
h264_mb: remove an unused function parameter
2015-03-21 11:27:16 +01:00
Anton Khirnov
2b4c38d3c6
h264: drop some mpegvideo remnants from draw_horiz_band()
...
This code makes no sense for h.264.
2015-03-21 11:27:16 +01:00
Anton Khirnov
5bf3c0fa49
h264: drop the now unused per-slice H264Contexts
2015-03-21 11:27:16 +01:00
Anton Khirnov
51d8725a6e
h264: use the main H264Context as the parent for all slice contexts
...
There is now no need to have per-slice copies of the H264Context.
2015-03-21 11:27:15 +01:00
Anton Khirnov
92e0b7342c
h264_slice: constify all the uses of H264Context during slice decoding
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
3178f4d33f
h264: move rbsp_buffer into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
582683b6ac
h264: move remaining ER stuff into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
5bc69f38c1
error_resilience: do not require mbintra/skip tables
...
h264dec does not use them at all and only allocates them for ER.
2015-03-21 11:27:15 +01:00
Anton Khirnov
c377e04d8a
h264: move top_borders into the per-slice context
...
Also change the method for allocating to the same one as used by
edge_emu_buffer.
2015-03-21 11:27:15 +01:00
Anton Khirnov
36d04801ba
h264: move the scratch buffers into the per-slice context
...
Also change the method for allocating them. Instead of two possible
alloc calls from different places, just ensure they are allocated at the
start of each slice. This should be simpler and less bug-prone than the
previous method.
2015-03-21 11:27:15 +01:00
Anton Khirnov
34d4c605e9
h264_loopfilter: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
7505c8dfba
h264_cavlc: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
ba7e165b86
h264_cabac: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
5c4b98de4d
h264.c: constify all uses of H264Context in slice and lower-level functions
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
e9b2383bf8
h264: move mb_mbaff into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
bc98e8c0e0
h264: move mb_field_decoding_flag into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
6490a0c0fb
h264_mb: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
51822879e7
h264_mb: constify block_offset
...
It is read-only in this code.
2015-03-21 11:27:15 +01:00
Anton Khirnov
3bea6409a1
h264_mvpred: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
460176aa19
h264.h: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
d27b8248a6
h264_direct: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
f42485dbce
h264: use a separate GetBitContext for slice data
2015-03-21 11:27:14 +01:00
Anton Khirnov
2ea00e35e4
h264: do not abuse the context as a temporary storage in get_last_needed_nal()
...
Use a local variable instead.
2015-03-21 11:27:14 +01:00
Anton Khirnov
404a416d4b
h264: remove some remnants of data partitioning
2015-03-21 11:27:14 +01:00
Anton Khirnov
7bbc254d64
h264: move resync_mb_{x,y} into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
d4d9068cdf
h264: move mb_{x,y} into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
0edbe6faa7
h264: move mb_xy into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
07c5ca551b
h264: move is_complex into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
47a0d39350
h264: move mb_skip_run into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
9951907f6f
h264: move redundant_pic_count into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
a9b201cacf
h264: move cabac_init_idc into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
e6c90ce94f
h264: move loopfilter parameters into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
bd3e460b73
h264: move direct_cache into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
6479c79f55
h264: move mvd_cache into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
a67f8ae9a2
h264: move mvd_table into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
5c8280c307
h264: move last_qscale_diff into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
e7226984ac
h264: move [{top,left}_]cbp into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
30da98adbd
h264: move cabac[_state] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
bf03a878a7
h264: move mb[_{padding,luma_dc}] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
b063582e0c
h264: move intra_pcm_ptr into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
95eb35f305
h264: move the ref lists variables into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
7747726667
h264: move map_col_to_list0[_field] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
ee0d774dfa
h264: move dist_scale_factor[_field] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
be69f0a800
h264: move col_{parity,fieldoff} into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
066aafced4
h264: move direct_spatial_mv_pred into the per-slice context
2015-03-21 11:27:13 +01:00