]> git.sesse.net Git - ffmpeg/log
ffmpeg
8 years agoDeprecate avctx.coded_frame
Vittorio Giovara [Wed, 15 Jul 2015 17:41:22 +0000 (18:41 +0100)]
Deprecate avctx.coded_frame

The rationale is that coded_frame was only used to communicate key_frame,
pict_type and quality to the caller, as well as a few other random fields,
in a non predictable, let alone consistent way.

There was agreement that there was no use case for coded_frame, as it is
a full-sized AVFrame container used for just 2-3 int-sized properties,
which shouldn't even belong into the AVCodecContext in the first place.

The appropriate AVPacket flag can be used instead of key_frame, while
quality is exported with the new AVPacketSideData quality factor.
There is no replacement for the other fields as they were unreliable,
mishandled or just not used at all.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
8 years agoAdd a quality factor packet side data
Vittorio Giovara [Wed, 15 Jul 2015 17:41:21 +0000 (18:41 +0100)]
Add a quality factor packet side data

This is necessary to preserve the quality information currently exported
with coded_frame. Add the new side data to every encoder that needs it,
and use it in avconv.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
8 years agoGather all coded_frame allocations and free functions to a single place
Vittorio Giovara [Wed, 15 Jul 2015 17:41:20 +0000 (18:41 +0100)]
Gather all coded_frame allocations and free functions to a single place

Allocating coded_frame is what most encoders do anyway, so it makes
sense to always allocate and free it in a single place. Moreover a lot
of encoders freed the frame with av_freep() instead of the correct API
av_frame_free().

This bring uniformity to encoder behaviour and prevents applications
from erroneusly accessing this field when not allocated. Additionally
this helps isolating encoders that export information with coded_frame,
and heavily simplifies its deprecation.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
8 years agoflashsvenc: Keep coded_frame.key_frame a write-only variable
Vittorio Giovara [Wed, 15 Jul 2015 17:41:19 +0000 (18:41 +0100)]
flashsvenc: Keep coded_frame.key_frame a write-only variable

8 years agoffv1enc: Use input frame to set SAR and interlacing
Vittorio Giovara [Wed, 15 Jul 2015 17:41:18 +0000 (18:41 +0100)]
ffv1enc: Use input frame to set SAR and interlacing

8 years agoffv1enc: Keep coded_frame.key_frame a write-only variable
Vittorio Giovara [Wed, 15 Jul 2015 17:41:17 +0000 (18:41 +0100)]
ffv1enc: Keep coded_frame.key_frame a write-only variable

8 years agoqtrleenc: Keep coded_frame.key_frame a write-only variable
Vittorio Giovara [Wed, 15 Jul 2015 17:41:16 +0000 (18:41 +0100)]
qtrleenc: Keep coded_frame.key_frame a write-only variable

8 years agolibtheoraenc: Keep coded_frame.key_frame a write-only variable
Vittorio Giovara [Wed, 15 Jul 2015 17:41:15 +0000 (18:41 +0100)]
libtheoraenc: Keep coded_frame.key_frame a write-only variable

8 years agolibvpxenc: Do not entangle coded_frame
Vittorio Giovara [Wed, 15 Jul 2015 17:41:14 +0000 (18:41 +0100)]
libvpxenc: Do not entangle coded_frame

Keep coded_frame.key_frame a write-only variable.

8 years agolibxvid: Do not entangle coded_frame
Vittorio Giovara [Wed, 15 Jul 2015 17:41:13 +0000 (18:41 +0100)]
libxvid: Do not entangle coded_frame

8 years agosvq1enc: Do not entangle coded_frame
Vittorio Giovara [Wed, 15 Jul 2015 17:41:12 +0000 (18:41 +0100)]
svq1enc: Do not entangle coded_frame

8 years agoproresenc: Do not entangle coded_frame
Vittorio Giovara [Wed, 15 Jul 2015 17:41:11 +0000 (18:41 +0100)]
proresenc: Do not entangle coded_frame

8 years agoa64multienc: Do not entangle coded_frame
Vittorio Giovara [Wed, 15 Jul 2015 17:41:10 +0000 (18:41 +0100)]
a64multienc: Do not entangle coded_frame

This change (and the following ones of the same kind) is mainly to
simplify wrapping this section with an #if FF_API block later on.

No functional changes are applied, the fields of the context coded_frame
fields are directly initialized, instead of keeping a reference to the
coded_frame itself.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
8 years agoroqvideoenc: Drop unneeded initialization
Vittorio Giovara [Wed, 15 Jul 2015 17:41:09 +0000 (18:41 +0100)]
roqvideoenc: Drop unneeded initialization

Its fields are never initialized to begin with.

8 years agompegvideo_enc: Drop unnneded initialization
Vittorio Giovara [Wed, 15 Jul 2015 17:41:08 +0000 (18:41 +0100)]
mpegvideo_enc: Drop unnneded initialization

coded_frame is already initialized where needed.

8 years agoparseutil: Add more resolution aliases
Luca Barbato [Thu, 16 Jul 2015 22:31:54 +0000 (00:31 +0200)]
parseutil: Add more resolution aliases

Add DCI 2k and 4k and uhd1 and uhd2.

8 years agoqsvenc: properly handle asynchronous encoding
Anton Khirnov [Tue, 14 Jul 2015 16:16:26 +0000 (18:16 +0200)]
qsvenc: properly handle asynchronous encoding

Wait for async_depth frames before syncing.

8 years agoqsvdec: properly handle asynchronous decoding
Anton Khirnov [Tue, 14 Jul 2015 16:16:26 +0000 (18:16 +0200)]
qsvdec: properly handle asynchronous decoding

Wait for async_depth frames before syncing.

8 years agoaf_resample: do not touch the timestamps if we are not resampling
Anton Khirnov [Thu, 16 Jul 2015 17:26:36 +0000 (19:26 +0200)]
af_resample: do not touch the timestamps if we are not resampling

This filter currently assumes that the input audio is continuous and
does some timestamps manipulation based on this assumption.

This is unnecessary if we are only converting the channel layout or the
sample format, without resampling. In such a case, just leave the
timestamps as they are.

8 years agoavconv: split creating and (re-)configuring complex filtergraphs
Anton Khirnov [Wed, 15 Jul 2015 17:49:24 +0000 (19:49 +0200)]
avconv: split creating and (re-)configuring complex filtergraphs

The current code is less than straightforward due to the fact that
output streams can be created based on filtergraph definitions. This
change should make the code simpler and more readable. It will also be
useful in the future commits.

8 years agoavconv: create the complex filtergraphs earlier
Anton Khirnov [Wed, 15 Jul 2015 15:17:54 +0000 (17:17 +0200)]
avconv: create the complex filtergraphs earlier

Since global options are processed before all the other options now, we
do not have to try creating the complex filtergraphs several times
anymore, it is enough to do it once after the input files are opened.

8 years agoavconv: move the no streams failure to open_output_file()
Anton Khirnov [Wed, 15 Jul 2015 13:51:39 +0000 (15:51 +0200)]
avconv: move the no streams failure to open_output_file()

It is a better place for it, there is no reason to wait until
transcode_init().

8 years agoavconv: factor out the output stream initialization
Anton Khirnov [Sun, 28 Jun 2015 08:49:19 +0000 (10:49 +0200)]
avconv: factor out the output stream initialization

8 years agoavconv: use read_file() for reading the 2pass stats
Anton Khirnov [Sun, 28 Jun 2015 06:45:02 +0000 (08:45 +0200)]
avconv: use read_file() for reading the 2pass stats

Also, drop the now unused cmdutils_read_file(). There is no reason to
have two functions doing essentially the same thing.

8 years agoavconv: move handling the 2pass logfile into avconv_opt
Anton Khirnov [Sun, 28 Jun 2015 06:37:58 +0000 (08:37 +0200)]
avconv: move handling the 2pass logfile into avconv_opt

It more logically belongs there.

8 years agoavconv: set the encoding/decoding_needed flags earlier
Anton Khirnov [Sun, 28 Jun 2015 06:03:44 +0000 (08:03 +0200)]
avconv: set the encoding/decoding_needed flags earlier

This will be useful in the following commits.

8 years agoavconv: drop update_sample_fmt()
Anton Khirnov [Sun, 28 Jun 2015 05:41:22 +0000 (07:41 +0200)]
avconv: drop update_sample_fmt()

There is only one decoder left that supports this (libopus, which is not
used by default since we have a native one) and this code goes against
the avconv design, since it propagates information back from the encoder
to decoder.

8 years agoasfdec: make nb_sub to be unsigned int
Alexandra Hájková [Fri, 17 Jul 2015 12:17:07 +0000 (14:17 +0200)]
asfdec: make nb_sub to be unsigned int

number of subpayloads should be always positive

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agoasfdec: read the replicated data in a separate function
Alexandra Hájková [Fri, 17 Jul 2015 12:17:06 +0000 (14:17 +0200)]
asfdec: read the replicated data in a separate function

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agoasfdec: convert condition for the replicated data reading to be safer
Alexandra Hájková [Fri, 17 Jul 2015 12:17:05 +0000 (14:17 +0200)]
asfdec: convert condition for the replicated data reading to be safer

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agoasfdec: do not read replicated data when their length is 0
Alexandra Hájková [Fri, 17 Jul 2015 12:17:03 +0000 (14:17 +0200)]
asfdec: do not read replicated data when their length is 0

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agofate: add checkasm target
Janne Grunau [Sun, 12 Jul 2015 15:35:21 +0000 (17:35 +0200)]
fate: add checkasm target

8 years agocheckasm: test all architectures with optimisations
Janne Grunau [Sun, 12 Jul 2015 14:41:42 +0000 (16:41 +0200)]
checkasm: test all architectures with optimisations

8 years agocheckasm: Give macro a body to avoid potential unexpected syntax issues
Michael Niedermayer [Fri, 17 Jul 2015 16:07:58 +0000 (18:07 +0200)]
checkasm: Give macro a body to avoid potential unexpected syntax issues

8 years agocheckasm: exit with status 0 instead of 1 if there are no tests to perform
Henrik Gramner [Fri, 17 Jul 2015 16:07:57 +0000 (18:07 +0200)]
checkasm: exit with status 0 instead of 1 if there are no tests to perform

8 years agoh264: arm: use intra pred8x8 functions only for chroma_format_idc <= 1
Janne Grunau [Sun, 12 Jul 2015 15:03:13 +0000 (17:03 +0200)]
h264: arm: use intra pred8x8 functions only for chroma_format_idc <= 1

8 years agocosmetics: Reformat checkasm tests
Luca Barbato [Fri, 17 Jul 2015 18:07:26 +0000 (20:07 +0200)]
cosmetics: Reformat checkasm tests

8 years agocheckasm: Add unit tests for bswapdsp
Henrik Gramner [Wed, 15 Jul 2015 22:10:28 +0000 (00:10 +0200)]
checkasm: Add unit tests for bswapdsp

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agox86: bswapdsp: Don't treat 32-bit integers as 64-bit
Henrik Gramner [Wed, 15 Jul 2015 22:10:27 +0000 (00:10 +0200)]
x86: bswapdsp: Don't treat 32-bit integers as 64-bit

The upper halves are not guaranteed to be zero in x86-64.

Also use `test` instead of `and` when the result isn't used for anything other
than as a branch condition, this allows some register moves to be eliminated.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agoconfigure: Factor out g722dsp module
Vittorio Giovara [Thu, 16 Jul 2015 15:11:04 +0000 (16:11 +0100)]
configure: Factor out g722dsp module

8 years agoconfigure: Factor out wmv2dsp module
Vittorio Giovara [Thu, 16 Jul 2015 15:11:03 +0000 (16:11 +0100)]
configure: Factor out wmv2dsp module

8 years agoconfigure: Factor out vp8dsp module
Vittorio Giovara [Thu, 16 Jul 2015 15:11:02 +0000 (16:11 +0100)]
configure: Factor out vp8dsp module

8 years agoconfigure: Factor out vp56dsp module
Vittorio Giovara [Thu, 16 Jul 2015 15:11:01 +0000 (16:11 +0100)]
configure: Factor out vp56dsp module

8 years agoconfigure: Factor out rv34dsp module
Vittorio Giovara [Thu, 16 Jul 2015 15:11:00 +0000 (16:11 +0100)]
configure: Factor out rv34dsp module

8 years agoconfigure: Factor out mss34dsp module
Vittorio Giovara [Thu, 16 Jul 2015 15:10:59 +0000 (16:10 +0100)]
configure: Factor out mss34dsp module

8 years agoconfigure: Factor out ividsp module
Vittorio Giovara [Thu, 16 Jul 2015 15:10:58 +0000 (16:10 +0100)]
configure: Factor out ividsp module

8 years agoconfigure: Factor out flacdsp module
Vittorio Giovara [Thu, 16 Jul 2015 15:10:57 +0000 (16:10 +0100)]
configure: Factor out flacdsp module

8 years agoOS/2: Cleanup slib_create_def_cmd
Dave Yeo [Fri, 17 Jul 2015 05:21:11 +0000 (22:21 -0700)]
OS/2: Cleanup slib_create_def_cmd

Export symbols by name rather then ordinal.
Remove PROTMODE directive as it does not make sense for 32 bit library.
Also silences a warning from some linkers.

Signed-off-by: Dave Yeo <dave.r.yeo@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agolibx264: Add support for the MPEG2 encoder
Luca Barbato [Fri, 10 Jul 2015 12:45:14 +0000 (14:45 +0200)]
libx264: Add support for the MPEG2 encoder

8 years agohq_hqa: Fix decoding when INFO section is absent
Vittorio Giovara [Fri, 10 Jul 2015 14:52:00 +0000 (15:52 +0100)]
hq_hqa: Fix decoding when INFO section is absent

8 years agoAPIchanges: Mention lavfi and lavd identification symbol addition
Vittorio Giovara [Mon, 13 Jul 2015 23:11:16 +0000 (00:11 +0100)]
APIchanges: Mention lavfi and lavd identification symbol addition

8 years agoRevert "mov: Double-check that alias path is not an absolute path"
Vittorio Giovara [Fri, 10 Jul 2015 17:46:19 +0000 (18:46 +0100)]
Revert "mov: Double-check that alias path is not an absolute path"

This reverts commit 9286de045968ad456d4e752651eec22de5e89060.
The change broke support for legit absolute file paths.

Reported-by: Maksym Veremeyenko <verem@m1stereo.tv>.
8 years agoh264: Add support for Closed Caption export
Kieran Kunhya [Wed, 8 Jul 2015 22:17:44 +0000 (23:17 +0100)]
h264: Add support for Closed Caption export

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
8 years agocheckasm: Add unit tests for h264qpel
Henrik Gramner [Mon, 13 Jul 2015 21:11:25 +0000 (23:11 +0200)]
checkasm: Add unit tests for h264qpel

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agompegts: Mark the muxer as supporting variable fps
Luca Barbato [Tue, 30 Jun 2015 14:24:12 +0000 (16:24 +0200)]
mpegts: Mark the muxer as supporting variable fps

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agohevc: Split the struct setup from the pps parsing
Luca Barbato [Tue, 14 Jul 2015 10:31:15 +0000 (12:31 +0200)]
hevc: Split the struct setup from the pps parsing

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

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

And drop the spurious newline.

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

The function will grow larger as more formats are supported.

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

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

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

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

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

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

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

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

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

It only needs the parameter sets.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8 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

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

8 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

8 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

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

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

8 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

8 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>
8 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>
8 years agoh261: Set 'still image mode off' in picture header
Stian Selnes [Fri, 12 Dec 2014 15:08:19 +0000 (16:08 +0100)]
h261: Set 'still image mode off' in picture header

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

Fixes H.261 calls to Cisco E20.

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

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