libav.git
4 years agouse a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe
Steve Lhomme [Fri, 24 Jul 2015 07:38:04 +0000 (09:38 +0200)]
use a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe

Fallback to "link" in the path if the one next to cl is not found.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: force -nologo- when detecting MSVC
Steve Lhomme [Thu, 23 Jul 2015 17:25:44 +0000 (19:25 +0200)]
configure: force -nologo- when detecting MSVC

The -nologo- option is the inverse of -nologo, reenabling printing the
"logo" version header. This is useful if the compiler actually is a
wrapper that forces -nologo.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodds: Write the palette in the native endian form
Martin Storsjö [Thu, 23 Jul 2015 14:59:44 +0000 (17:59 +0300)]
dds: Write the palette in the native endian form

This fixes the palette on big endian, broken (or, differing from
little endian) since 57214b2f7.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agohap: Name enums, remove unused struct member
Tom Butterworth [Tue, 21 Jul 2015 00:21:39 +0000 (01:21 +0100)]
hap: Name enums, remove unused struct member

4 years agosnappy: Refactor so ff_snappy_uncompress() uses an existing buffer
Tom Butterworth [Tue, 21 Jul 2015 00:21:38 +0000 (01:21 +0100)]
snappy: Refactor so ff_snappy_uncompress() uses an existing buffer

Some uses of Snappy require uncompressing to positions within
an existing buffer. Also adds a function to get the uncompressed
length of Snappy data.

4 years agoasfdec: remove the wrong condition
Alexandra Hájková [Wed, 22 Jul 2015 14:10:25 +0000 (16:10 +0200)]
asfdec: remove the wrong condition

this condition breaks reading from the pipe as data_reached variable
have to be set to break while in the asf_read_header just after the Data
Object is found

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agohap: Fix slice size computation
Tom Butterworth [Wed, 22 Jul 2015 23:01:01 +0000 (00:01 +0100)]
hap: Fix slice size computation

A bug was introduced in 977105407cae55876041dddbf4ce0934cdd4cd6c whereby when
frame height wasn't divisible by the number of threads, pixels would be omitted
from the bottom rows during decode.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agodds: Fix the slice size computation
Tom Butterworth [Wed, 22 Jul 2015 23:03:29 +0000 (00:03 +0100)]
dds: Fix the slice size computation

A bug was introduced in 6b2b26e7af3ede0abfb46eb5725c26d1083f50bc whereby when
frame height wasn't divisible by the number of threads, pixels would be omitted
from the bottom rows during decode.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoaf_channelmap: properly set the supported output channel layouts
Anton Khirnov [Wed, 22 Jul 2015 09:30:37 +0000 (11:30 +0200)]
af_channelmap: properly set the supported output channel layouts

The current code expects query_formats() to be called exactly once, it
will leak if it's not called at all (filter initialized, but never
configured or used) or try to read freed memory if it's called more than
once.

Found-by: James Almer <jamrial@gmail.com>
CC: libav-stable@libav.org
4 years agoasfdec: increment nb_streams right after the stream allocation
Alexandra Hájková [Thu, 23 Jul 2015 06:59:53 +0000 (08:59 +0200)]
asfdec: increment nb_streams right after the stream allocation

to prevent possible memory leaks

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfdec: set nb_streams to 0 in the asf_read_close
Alexandra Hájková [Wed, 22 Jul 2015 19:38:15 +0000 (21:38 +0200)]
asfdec: set nb_streams to 0 in the asf_read_close

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agompegvideo: Add missing include
Vittorio Giovara [Mon, 20 Jul 2015 17:24:19 +0000 (18:24 +0100)]
mpegvideo: Add missing include

4 years agodds: Add a rgba fate test
Vittorio Giovara [Mon, 20 Jul 2015 22:47:14 +0000 (23:47 +0100)]
dds: Add a rgba fate test

4 years agodds: Fix 32bpp bitmaps decoding
Michael Niedermayer [Mon, 20 Jul 2015 22:47:13 +0000 (23:47 +0100)]
dds: Fix 32bpp bitmaps decoding

Found-By: ami_stuff
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agodds: Fix palette decoding
Vittorio Giovara [Mon, 20 Jul 2015 22:47:12 +0000 (23:47 +0100)]
dds: Fix palette decoding

Red and blue channels were decoded in the wrong order.

Found-By: ami_stuff
4 years agodds: Fix enum declaration
Vittorio Giovara [Wed, 22 Jul 2015 12:20:07 +0000 (13:20 +0100)]
dds: Fix enum declaration

Drop the global variables with anonymous enum type.

4 years agoasfdec: avoid crash in the case when chunk_len is 0 or pkt_len is 0
Alexandra Hájková [Tue, 21 Jul 2015 08:45:01 +0000 (10:45 +0200)]
asfdec: avoid crash in the case when chunk_len is 0 or pkt_len is 0

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfdec: close the demuxer properly when read_header is failing
Alexandra Hájková [Fri, 17 Jul 2015 12:17:02 +0000 (14:17 +0200)]
asfdec: close the demuxer properly when read_header is failing

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfdec: factor out seeking to the Data Object outside while
Alexandra Hájková [Tue, 21 Jul 2015 07:14:39 +0000 (09:14 +0200)]
asfdec: factor out seeking to the Data Object outside while

return INVALIDDARA if Data Object was not found

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoqsvenc_hevc: use the correct HW plugin UID
Anton Khirnov [Sun, 19 Jul 2015 09:24:36 +0000 (11:24 +0200)]
qsvenc_hevc: use the correct HW plugin UID

4 years agocheckasm: remove empty array initializer list in h264pred test
Janne Grunau [Mon, 20 Jul 2015 21:17:57 +0000 (23:17 +0200)]
checkasm: remove empty array initializer list in h264pred test

Fixes MSVC compilation.

4 years agocheckasm: Always link statically
Luca Barbato [Tue, 21 Jul 2015 21:22:42 +0000 (23:22 +0200)]
checkasm: Always link statically

Checkasm needs to use internal symbols that should not be made public.

4 years agodds: Decode using optimal slices sizes
Luca Barbato [Fri, 17 Jul 2015 01:07:08 +0000 (03:07 +0200)]
dds: Decode using optimal slices sizes

Enjoy some cache locality and use less threads.
About the same speedup provided to HAP.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agohap: Decode using optimal slices sizes
Luca Barbato [Fri, 17 Jul 2015 01:07:07 +0000 (03:07 +0200)]
hap: Decode using optimal slices sizes

Enjoy some cache locality and use less threads.
About 5x speedup (from 60ms to 12ms to decode a 4k frame).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoparseutil: Use non ambiguous aliases for uhd
Luca Barbato [Mon, 20 Jul 2015 14:50:43 +0000 (16:50 +0200)]
parseutil: Use non ambiguous aliases for uhd

uhd1 and uhd2 would be ambigous.

4 years agoarm: use a local label instead of the function symbol in ff_prefetch_arm
Janne Grunau [Mon, 20 Jul 2015 08:46:15 +0000 (10:46 +0200)]
arm: use a local label instead of the function symbol in ff_prefetch_arm

Avoids a relocation which might end out of range for thumb2.

Reported-By: Ludovic Fauvet <etix@videolan.org>
Bug-Id: https://bugs.webkit.org/show_bug.cgi?id=137022
CC: libav-stable@libav.org
4 years agoh264: aarch64: intra prediction optimisations
Janne Grunau [Sun, 12 Jul 2015 16:30:09 +0000 (18:30 +0200)]
h264: aarch64: intra prediction optimisations

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

4 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

4 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

4 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

4 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

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

4 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

4 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

4 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

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

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

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

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

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

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

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

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

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

4 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

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

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

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

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

4 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>
4 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>
4 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>
4 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>
4 years agofate: add checkasm target
Janne Grunau [Sun, 12 Jul 2015 15:35:21 +0000 (17:35 +0200)]
fate: add checkasm target

4 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

4 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

4 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

4 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

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

4 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>
4 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>
4 years agoconfigure: Factor out g722dsp module
Vittorio Giovara [Thu, 16 Jul 2015 15:11:04 +0000 (16:11 +0100)]
configure: Factor out g722dsp module

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

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

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

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

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

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

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

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

4 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

4 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

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

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

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

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

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

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

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

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

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

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

4 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

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