Commit Graph

43552 Commits

Author SHA1 Message Date
Diego Biurrun 4efab89332 x86: Use *_FAST/*_SLOW CPU feature detection macros where appropriate 2016-07-20 18:43:28 +02:00
Diego Biurrun 0a39c9ac0b x86: hpeldsp: Don't check for bitexact flag when initializing VP3-specific code
That code is only ever initialized with that flag set.
2016-07-20 18:37:45 +02:00
Diego Biurrun 95c1df929b x86: hpeldsp: Drop unused function parameters 2016-07-20 18:33:26 +02:00
Diego Biurrun c3e83ad3b7 x86: hpeldsp: Use EXTERNAL_SSE2_FAST where appropriate 2016-07-20 18:33:26 +02:00
Diego Biurrun 1dfc3cf89d x86: hpeldsp: Split off VP3-specific bits into a separate file 2016-07-20 18:33:25 +02:00
Vittorio Giovara 9833a406d3 examples: Properly free AVCodecContext 2016-07-20 17:13:53 +02:00
Vittorio Giovara 0e0538aefc avprobe: Zero the allocated avio buffer memory
Fixes valgrind warning "Conditional jump or move depends on
uninitialised value(s)." from avio_flush().
2016-07-20 17:13:33 +02:00
Vittorio Giovara 5d0f85f1b2 libdc1394: Fill in packet data directly
Drop the packet embedded in the context.
2016-07-20 17:13:10 +02:00
Anton Khirnov e344e65109 h264dec: do not call finish_setup() if we have not started a frame
Found-By: Jan Ruge <jan.s.ruge@gmail.com>
Bug-Id: 952
2016-07-20 16:36:10 +02:00
Anton Khirnov 76f7e70aa0 h264dec: handle zero-sized NAL units in get_last_needed_nal()
The current code will ignore the init_get_bits() failure and do an
invalid read from the uninitialized GetBitContext.

Found-By: Jan Ruge <jan.s.ruge@gmail.com>
Bug-Id: 952
2016-07-20 16:35:55 +02:00
Anton Khirnov 1f7b4f9abc h264dec: make sure not to call finish_setup() more than once per frame
It does not break anything currently, but should not be done anyway.
2016-07-20 16:35:49 +02:00
Hendrik Leppkes da917fcf51 avconv_dxva2: add a profile check for hevc
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-07-20 16:33:09 +02:00
Hendrik Leppkes 1ecb63cd1c hevc: set profile based on the profile compatibility flags if needed
This fixes retrieving a valid profile for many of the FATE conformance samples,
allowing them to be properly decoded by the HWAccel after adding a profile check.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-07-20 16:33:09 +02:00
James Almer fca3c3b619 hevc: Add AVX2 DC IDCT
Originally written by Pierre Edouard Lepere <pierre-edouard.lepere@insa-rennes.fr>.
Integrated to Libav by Josh de Kock <josh@itanimul.li>.

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
2016-07-18 15:27:13 +02:00
Mickaël Raulet cc16da75c2 hevc: Add coefficient limiting to speed up IDCT
Integrated to libav by Josh de Kock <josh@itanimul.li>.

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
2016-07-18 15:27:13 +02:00
Mickaël Raulet a92fd8a062 hevc: Add DC IDCT
Integrated to Libav by Josh de Kock <josh@itanimul.li>.

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
2016-07-18 15:27:13 +02:00
Mickaël Raulet 4f247de3b7 hevcdsp_template: Templatize IDCT
Integrated to Libav by Josh de Kock <josh@itanimul.li>.

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
2016-07-18 15:27:13 +02:00
Alexandra Hájková 1bd890ad17 hevc: Separate adding residual to prediction from IDCT
Based on patch 250430bf28
by Mickaël Raulet <mraulet@insa-rennes.fr>, integrated
to Libav by Josh de Kock <josh@itanimul.li>.

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
2016-07-18 15:27:13 +02:00
James Almer fd5e6a095f x86util: Extend SPLATW for avx2
Integration to Libav by Josh de Kock <josh@itanimul.li>.

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
2016-07-18 15:27:13 +02:00
Martin Storsjö 37961044c6 checkasm: arm: Ignore changes to bits 0-4 and 7 of FPSCR
These bits are set by exceptions in NEON instructions.

Also print the differing bits when FPSCR is clobbered,
and use bic instead of lsl, for clearing the topmost bits.

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-17 21:48:17 +03:00
Janne Grunau 59aeed93e4 cheackasm/arm: remove NEON instructions from checkasm_checked_call_vfp
Fixes AS error on non NEON builds introduced in 71a0472114. Also
set the fpu directly to vfp in checkasm.S to cause build errors on NEON
builds.
2016-07-17 11:28:21 +02:00
Martin Storsjö 446353ea18 checkasm: arm: Don't start new const blocks for each string
Each const block needs to be terminated by one endconst
invocation so either call endconst after each, or just
declare plain labels to the later strings.

This fixes errors such as this, on some binutils versions:

checkasm.S:38: Error: Macro `endconst' was already defined

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-17 12:21:19 +03:00
Diego Biurrun 5ece691101 apichanges: Fill in missing hashes and dates 2016-07-16 17:38:37 +02:00
Diego Biurrun facdfe4080 swscale: Add proper ff_ prefix to init functions
They are internal symbols that should not be exported.

based on a patch by Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-07-16 17:38:37 +02:00
Andreas Cadhalpun c0fd2fb27b swscale: Rename sws_context_class to ff_sws_context_class
It is an internal swscale symbol and thus should not be exported.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-07-16 17:38:37 +02:00
Janne Grunau 71a0472114 checkasm: arm: report the first clobbered register in checkasm_checked_call 2016-07-16 12:57:18 +02:00
Hendrik Leppkes a8fce24b9c avconv_dxva2: support HEVC Main10 decoding
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-07-15 15:35:54 +02:00
Anton Khirnov 33f6690eb4 hevc: offer DXVA2 for 10bit 420 2016-07-15 15:35:44 +02:00
Anton Khirnov 38efff92f1 FATE: add a test for H.264 with two fields per packet 2016-07-15 15:34:29 +02:00
Anton Khirnov 4a9bab3db0 h264: fix decoding multiple fields per packet with slice threads
Since we only know whether a NAL unit corresponds to a new field after
parsing the slice header, this requires reorganizing the calls to slice
parsing, per-slice/field/frame init and actual decoding.

In the previous code, the function for slice header decoding also
immediately started a new field/frame as necessary, so any slices
already queued for decoding would no longer be decodable.

After this patch, we first parse the slice header, and if we determine
that a new field needs to be started we decode all the queued slices.
2016-07-15 15:33:54 +02:00
Anton Khirnov f450cc7bc5 h264: eliminate decode_postinit()
This function's purpose is not very well defined. Currently it does two
(only marginally related) things: selecting the next output frame and
calling ff_thread_finish_setup() for frame threading. The first of those
more properly belongs under field_start(), while the second can be
called directly from decode_nal_units().
2016-07-15 15:33:28 +02:00
Anton Khirnov 8d07e941b0 FATE: add a test of H.264 SEI recovery in an intra refresh stream 2016-07-15 15:33:13 +02:00
Anton Khirnov 46278ec90a mp3enc: write trailing padding 2016-07-15 15:30:30 +02:00
Anton Khirnov d60c2d5216 mp3dec: read the initial/trailing padding from the LAME tag 2016-07-15 15:30:22 +02:00
Martin Storsjö 7a76371437 libopenh264enc: Simplify init by setting FF_CODEC_CAP_INIT_CLEANUP
Also set FF_CODEC_CAP_INIT_THREADSAFE while adding internal capabilities.

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-15 13:36:23 +03:00
Martin Storsjö 2d097c16b8 libopenh264enc: Return a more sensible error code in some init failure paths
Previously they returned the default AVERROR_UNKNOWN.

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-15 13:36:22 +03:00
Martin Storsjö 36b380dcd5 libopenh264dec: Simplify the init thanks to FF_CODEC_CAP_INIT_CLEANUP being set
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-15 13:36:21 +03:00
Martin Storsjö d0b1e6049b libopenh264dec: Fix cleanup if the init failed early
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-15 13:36:20 +03:00
Matthieu Bouron 61cb9fac47 mov: fix stream extradata_size allocation
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-15 13:27:43 +03:00
Vittorio Giovara 0b1bd1b205 lavd: Drop unneeded av_init_packet()s
The input packet is already unref'd by the calling function.
2016-07-13 18:20:27 -04:00
Vittorio Giovara 390b95b88b fate: Add a mixed NAL coding sample
See 17c99b6158.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-07-13 18:18:46 -04:00
Vittorio Giovara cbbb404055 fate: Restore order of h264 entries 2016-07-13 18:18:46 -04:00
Vittorio Giovara 61bd0ed781 h264: Log more information about invalid NALu size 2016-07-13 18:18:46 -04:00
Janne Grunau 7b1ae0e73a checkasm/arm: preserve the stack alignment checkasm_checked_call
The stack used by checkasm_checked_call_vfp was a multiple of 4 when the
checked function is called. AAPCS requires a double word (8 byte)
aligned stack public interfaces. Since both calls are public interfaces
the stack is misaligned when the checked is called.

Might fix the SIGBUS error in the armv7-linux-clang-3.7 fate config.
2016-07-13 22:18:53 +02:00
Janne Grunau 80fbb7beca checkasm: vp8.mc: initialize the full src buffer after ec32574209
Fixes "Use of uninitialised value" valgrind warnings in checkasm.
2016-07-13 22:18:52 +02:00
Janne Grunau 17c99b6158 h2645_parse: handle embedded Annex B NAL units in size prefixed NAL units
Fixes a regression in ca2f19b9cc with some mov/mp4 files. The files have
several NAL units in the supposed single NAL unit after the size field.
Annex B start code prefixes are used to separate them. The first NAL unit
is correctly parsed but the buffer does not point to the next size field.
Instead semi random data (it seems to be the rbsp_stop_one_bit and the
start code prefix) is then parsed as length and will exceed the
remaining length of the buffer.

Patch based on the code in h264's decode_nal_units() and a similar
patch by Hendrik Leppkes in FFmpeg (a9bb4cf87d).

Bug-Id: ffmpeg/trac5529
Reported-By: Vittorio Giovara
2016-07-13 22:18:52 +02:00
Anton Khirnov a8cbe5a0cc h264_ps: export actual height in MBs as SPS.mb_height
Currently, SPS.mb_height is actually what the spec calls
PicHeightInMapUnits, which is half the frame height when interlacing is
allowed. Calling this 'mb_height' is quite confusing, and there are at
least two associated bugs where this field is treated as the actual
frame height - in the h264 parser and in the code computing maximum
reordering buffer size for a given level.

Fix those issues (and avoid possible future ones) by exporting the real
frame height in this field.
2016-07-11 16:29:57 +02:00
Steve Lhomme 99cf943339 d3d11va: don't keep the context lock while waiting for a frame
also fixes a deadlock found by Денис Кулаков <kudesnik33ra@gmail.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-07-11 16:27:30 +02:00
Martin Storsjö 2866d108c9 vp8dsp: Remove the comment saying that the height is equal to the width
This comment isn't true, the height can be different from the width
for these functions (which is why the height is passed as a parameter
to them).

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-10 14:52:16 +03:00
Janne Grunau 8c816c0c9b checkasm/arm: align the clobber check data properly for ldrd
Should fix the SIGBUS in the armv7-linux-clang-3.7 fate target.
2016-07-10 13:35:41 +02:00