ffmpeg.git
3 years agopixfmt: Add ARIB STD-B76 color transfer characteristic
Neil Birkbeck [Wed, 15 Jun 2016 18:25:00 +0000 (14:25 -0400)]
pixfmt: Add ARIB STD-B76 color transfer characteristic

Adding hybrid log-gamma (https://en.wikipedia.org/wiki/Hybrid_Log-Gamma)
based on the standardization in ARIB STD-B67:
http://www.arib.or.jp/english/html/overview/doc/2-STD-B67v1_0.pdf

The choice of enum value of 18 is consistent with HEVC:
http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=10481

And also with latest proposal for color format in mkv:
https://mailarchive.ietf.org/arch/search/?email_list=cellar&gbt=1&q=Colour+Format+proposal

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoavconv: factor out initializing stream parameters for streamcopy
Anton Khirnov [Mon, 23 May 2016 07:37:10 +0000 (09:37 +0200)]
avconv: factor out initializing stream parameters for streamcopy

3 years agoavconv: initialize output framerate earlier
Anton Khirnov [Mon, 23 May 2016 14:52:28 +0000 (16:52 +0200)]
avconv: initialize output framerate earlier

This will be needed in the following commits.

3 years agoavconv: do not set encoder options when streamcopy is used
Anton Khirnov [Mon, 23 May 2016 07:29:01 +0000 (09:29 +0200)]
avconv: do not set encoder options when streamcopy is used

3 years agoavconv: refactor selecting an encoder
Anton Khirnov [Mon, 23 May 2016 05:38:58 +0000 (07:38 +0200)]
avconv: refactor selecting an encoder

Fail immediately if automatic encoder selection failed. Always set the
stream_copy/encoding_needed flags in one place.

3 years agoavconv: fix handling attachments in init_output_stream
Anton Khirnov [Mon, 23 May 2016 07:59:35 +0000 (09:59 +0200)]
avconv: fix handling attachments in init_output_stream

The current code assumes that encoding_needed is simply an inverse of
stream_copy, which is not true for manually attached files (for which
neither of those is true).

3 years agoavconv: create simple filtergraphs earlier
Anton Khirnov [Sun, 22 May 2016 17:57:36 +0000 (19:57 +0200)]
avconv: create simple filtergraphs earlier

We already have all the necessary information in open_output_file().
This makes the information about the stream/filtergraph mappings
available earlier.

3 years agoavconv: add a function for determining whether a filtergraph is simple
Anton Khirnov [Sun, 22 May 2016 15:57:59 +0000 (17:57 +0200)]
avconv: add a function for determining whether a filtergraph is simple

This makes the code easier to read.

3 years agoh264: handle frame recovery in h264_field_start()
Anton Khirnov [Fri, 20 May 2016 10:42:23 +0000 (12:42 +0200)]
h264: handle frame recovery in h264_field_start()

This is a more appropriate place for this. H264Context.recovery_frame is
shared between frame threads, so modifying it where it is right now is
invalid.

3 years agoh264: discard slices of redundant pictures right after parsing the slice header
Anton Khirnov [Fri, 20 May 2016 10:30:42 +0000 (12:30 +0200)]
h264: discard slices of redundant pictures right after parsing the slice header

Going through the whole decoder initialization process for a slice we
are not going to decode is unnecessary and potentially dangerous.

3 years agoh264: always set redundant_pic_count during slice header parsing
Anton Khirnov [Fri, 20 May 2016 10:33:30 +0000 (12:33 +0200)]
h264: always set redundant_pic_count during slice header parsing

It is always checked in the surrounding code, so this make sure we don't
see a value from an old slice.

3 years agoh264: call the hwaccel frame_start() from h264_field_start()
Anton Khirnov [Fri, 20 May 2016 10:21:36 +0000 (12:21 +0200)]
h264: call the hwaccel frame_start() from h264_field_start()

This is a more appropriate place for it.

3 years agoh264: fix the check for mixed IDR/non-IDR slices
Anton Khirnov [Fri, 20 May 2016 09:04:55 +0000 (11:04 +0200)]
h264: fix the check for mixed IDR/non-IDR slices

3 years agoh264: do not pass H264Context to h264_slice_header_parse()
Anton Khirnov [Fri, 20 May 2016 08:20:33 +0000 (10:20 +0200)]
h264: do not pass H264Context to h264_slice_header_parse()

This should make it more clear that this function does not need any
decoder-global state other than the parameter sets.

3 years agoh264: fix warnings in fill_filter_caches_inter()
Anton Khirnov [Thu, 19 May 2016 06:19:14 +0000 (08:19 +0200)]
h264: fix warnings in fill_filter_caches_inter()

The code does some weird casting to a 2-dimensional sub-array of
ref2frm. This is not necessary, since only one dimension is needed
there.

3 years agoh264: drop tests whether the codec id is AV_CODEC_ID_H264
Anton Khirnov [Wed, 18 May 2016 12:33:33 +0000 (14:33 +0200)]
h264: drop tests whether the codec id is AV_CODEC_ID_H264

Those are unused remnants of the old SVQ3 code.

3 years agoh264_cabac: drop an always true condition
Anton Khirnov [Wed, 18 May 2016 12:31:48 +0000 (14:31 +0200)]
h264_cabac: drop an always true condition

3 years agoh264: add H264_ prefix to the NAL unit types
Anton Khirnov [Wed, 18 May 2016 08:36:33 +0000 (10:36 +0200)]
h264: add H264_ prefix to the NAL unit types

This will prevent conflicts e.g. in code that deals with both h264 and
hevc.

3 years agoh264_sei: drop an unnecessary h264dec.h include
Anton Khirnov [Wed, 18 May 2016 08:23:21 +0000 (10:23 +0200)]
h264_sei: drop an unnecessary h264dec.h include

The code does not depend on the h264 decoder anymore and only needs
information from h264_ps

3 years agolavc: drop unnecessary h264dec.h includes
Anton Khirnov [Wed, 18 May 2016 08:22:24 +0000 (10:22 +0200)]
lavc: drop unnecessary h264dec.h includes

3 years agoh264: tighten the valid range for ref_frame_count
Anton Khirnov [Wed, 18 May 2016 08:04:44 +0000 (10:04 +0200)]
h264: tighten the valid range for ref_frame_count

This field (which the spec calls max_num_ref_frames) must be less than
or equal to MaxDpbFrames, which is at most 16.

3 years agoh264: move the parameter set definitions to a new header file
Anton Khirnov [Wed, 18 May 2016 07:40:33 +0000 (09:40 +0200)]
h264: move the parameter set definitions to a new header file

The PS parsing code is independent from the decoder, so it makes more
sense for it to have its own separate header.

3 years agosvq3: stop using H264Picture
Anton Khirnov [Wed, 18 May 2016 07:34:05 +0000 (09:34 +0200)]
svq3: stop using H264Picture

The SVQ3 decoder has been decoupled from the H.264 decoder, so it can
now use its own data type.

3 years agoh264: create a new header for common h264 definitions
Anton Khirnov [Wed, 18 May 2016 07:16:35 +0000 (09:16 +0200)]
h264: create a new header for common h264 definitions

Move the NAL unit types into it. This will allow to stop including the
whole decoder-specific h264dec.h in some code that is unrelated to the
decoder and only needs some enum values.

3 years agoh264: rename h264.[ch] to h264dec.[ch]
Anton Khirnov [Wed, 18 May 2016 07:02:39 +0000 (09:02 +0200)]
h264: rename h264.[ch] to h264dec.[ch]

This is more consistent with the naming of other decoders.

3 years agoh264: factor out setting frame properties / side data
Anton Khirnov [Wed, 18 May 2016 05:27:32 +0000 (07:27 +0200)]
h264: factor out setting frame properties / side data

Right now this code is mixed with selecting the next output frame. Move
it to a separate function called from h264_field_start(), which is a
more appropriate place for this.

3 years agoh264: drop unused NAL_FF_IGNORE
Anton Khirnov [Tue, 17 May 2016 18:01:34 +0000 (20:01 +0200)]
h264: drop unused NAL_FF_IGNORE

3 years agoh264: move a per-field block from decode_slice_header() to field_start()
Anton Khirnov [Tue, 17 May 2016 17:00:18 +0000 (19:00 +0200)]
h264: move a per-field block from decode_slice_header() to field_start()

This is a more appropriate place for it.

3 years agoh264: only allow ending a field/starting a new one before finish_setup()
Anton Khirnov [Tue, 17 May 2016 16:57:23 +0000 (18:57 +0200)]
h264: only allow ending a field/starting a new one before finish_setup()

Doing this after ff_thread_finish_setup() is called is invalid and can
conflict with reads from the other thread.

3 years agoh264: store {curr,max}_pic_num in the per-slice context
Anton Khirnov [Tue, 17 May 2016 14:45:15 +0000 (16:45 +0200)]
h264: store {curr,max}_pic_num in the per-slice context

While the value of those variables will be constant for the whole frame,
they are only used in two functions called from slice header decoding.
Moving them to the per-slice context allows us to make the H264Context
passed to slice_header_parse() constant.

3 years agoh264: decode the poc values from the slice header into the per-slice context
Anton Khirnov [Tue, 17 May 2016 13:35:50 +0000 (15:35 +0200)]
h264: decode the poc values from the slice header into the per-slice context

Copy them into the decoder-global context in field_start(). This avoids
modifying the decoder-global context during bitstream parsing.

3 years agoh264: set mb_aff_frame in frame_start()
Anton Khirnov [Tue, 17 May 2016 13:07:23 +0000 (15:07 +0200)]
h264: set mb_aff_frame in frame_start()

Avoid unnecessary modification of the decoder-global state in per-slice
code.

3 years agoh264: move the block starting a new field out of slice_header_parse()
Anton Khirnov [Tue, 17 May 2016 12:51:01 +0000 (14:51 +0200)]
h264: move the block starting a new field out of slice_header_parse()

There is no bitstream parsing in that block and messing with
decoder-global state is not something that belongs into header parsing.

Nothing else in this function depends on the value of current_slice,
except for two validity checks. Those checks are also moved out of
slice_header_parse().

3 years agoh264: pass a H2645NAL to slice header decoding
Anton Khirnov [Mon, 16 May 2016 07:34:44 +0000 (09:34 +0200)]
h264: pass a H2645NAL to slice header decoding

Replace the decoder-global nal_unit_type/nal_ref_idc variables with the
per-NAL ones. The decoder-global ones still cannot be removed because
they are used by hwaccels.

3 years agofate: Add TrueMotion 2 RT tests
Vittorio Giovara [Fri, 3 Jun 2016 15:53:25 +0000 (11:53 -0400)]
fate: Add TrueMotion 2 RT tests

3 years agofate: Move Duck Truemotion 1 and 2 tests to vpx.mak
Vittorio Giovara [Fri, 3 Jun 2016 19:51:30 +0000 (15:51 -0400)]
fate: Move Duck Truemotion 1 and 2 tests to vpx.mak

3 years agoAdd TrueMotion 2.0 Real Time decoder
Paul B Mahol [Fri, 17 Jun 2016 16:30:34 +0000 (12:30 -0400)]
Add TrueMotion 2.0 Real Time decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agofate: Add tests for MagicYUV
Vittorio Giovara [Fri, 3 Jun 2016 19:51:32 +0000 (15:51 -0400)]
fate: Add tests for MagicYUV

3 years agoAdd MagicYUV decoder
Paul B Mahol [Sat, 18 Jun 2016 22:23:28 +0000 (18:23 -0400)]
Add MagicYUV decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoffv1: Error out on unsupported format
Jerome Martinez [Thu, 16 Jun 2016 14:33:55 +0000 (16:33 +0200)]
ffv1: Error out on unsupported format

Transparency is supported only by YUV and within specific bit depths.

3 years agocheckasm: Add tests for h264 idct
Martin Storsjö [Sat, 11 Jun 2016 11:17:37 +0000 (14:17 +0300)]
checkasm: Add tests for h264 idct

The tests are inspired by similar tests for vp9 by
Ronald Bultje.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomov: Support prores with multiple stsd
Vittorio Giovara [Thu, 9 Jun 2016 22:55:19 +0000 (18:55 -0400)]
mov: Support prores with multiple stsd

This function needs to return false, or data in the additional tables
will be skipped, and the decoder will not be able to decode frames
associated with them.

3 years agomov: Implement support for multiple sample description tables
Vittorio Giovara [Wed, 15 Jun 2016 19:24:30 +0000 (15:24 -0400)]
mov: Implement support for multiple sample description tables

Store data from each stsd in a separate extradata buffer, keep track of
the stsc index for read and seek operations, switch buffers when the
index differs. Decoder is notified with an AV_PKT_DATA_NEW_EXTRADATA
packet side data.

Since H264 supports this notification, and can be reset midstream, enable
this feature only for multiple avcC's. All other stsd types (such as
hvc1 and hev1) need decoder-side changes, so they are left disabled for
now.

This is implemented only in non-fragmented MOVs.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoh264: Support AV_PKT_DATA_NEW_EXTRADATA
Vittorio Giovara [Thu, 9 Jun 2016 22:55:17 +0000 (18:55 -0400)]
h264: Support AV_PKT_DATA_NEW_EXTRADATA

3 years agolavc: Document AV_PKT_DATA_NEW_EXTRADATA
Vittorio Giovara [Thu, 9 Jun 2016 22:55:16 +0000 (18:55 -0400)]
lavc: Document AV_PKT_DATA_NEW_EXTRADATA

3 years agox86: Add missing movsxd for the int stride parameter
Martin Storsjö [Sat, 11 Jun 2016 19:06:16 +0000 (22:06 +0300)]
x86: Add missing movsxd for the int stride parameter

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoavdevice: Ignore timefilter test program
Diego Biurrun [Mon, 13 Jun 2016 12:50:38 +0000 (12:50 +0000)]
avdevice: Ignore timefilter test program

3 years agoLICENSE: Fix silly typo
Diego Biurrun [Mon, 13 Jun 2016 16:11:49 +0000 (18:11 +0200)]
LICENSE: Fix silly typo

3 years agoh264: Drop unused function check_opcodes()
Diego Biurrun [Mon, 13 Jun 2016 16:14:41 +0000 (18:14 +0200)]
h264: Drop unused function check_opcodes()

3 years agoavpacket: Error out when creating 0-sized side data
Vittorio Giovara [Thu, 9 Jun 2016 22:35:03 +0000 (18:35 -0400)]
avpacket: Error out when creating 0-sized side data

This mimics the behaviour of other av_*_new_side_data().
This is not caught by the malloc check, since padding
is always added to the allocated size.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agopixdesc: Use C99 array to list color properties names
Vittorio Giovara [Wed, 1 Jun 2016 20:13:17 +0000 (16:13 -0400)]
pixdesc: Use C99 array to list color properties names

3 years agoh264: Fix decoding delay for Intra only streams
Anton Mitrofanov [Sun, 8 May 2016 11:28:00 +0000 (13:28 +0200)]
h264: Fix decoding delay for Intra only streams

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agolavc: add H.264 MVC profiles
Anton Khirnov [Sat, 14 May 2016 15:15:46 +0000 (17:15 +0200)]
lavc: add H.264 MVC profiles

3 years agoh264: factor out setting the parameter sets for a frame
Anton Khirnov [Thu, 12 May 2016 12:37:35 +0000 (14:37 +0200)]
h264: factor out setting the parameter sets for a frame

3 years agoh264: pass just the PPS to get_chroma_qp()
Anton Khirnov [Thu, 12 May 2016 12:25:52 +0000 (14:25 +0200)]
h264: pass just the PPS to get_chroma_qp()

It does not need the whole context. This will simplify the following
commit.

3 years agoh264: merge the two reinit blocks in slice_header_parse()
Anton Khirnov [Tue, 10 May 2016 11:34:59 +0000 (13:34 +0200)]
h264: merge the two reinit blocks in slice_header_parse()

The only difference is that the first of them contains a
ff_h264_flush_change() call. While that is not necessary in the second
block, it should cause no problems either.

Reduce the verbosity of the reinit log message from info to verbose,
since now it will be displayed during every decode session.

3 years agoh264: factor starting a new field out of parsing the slice header
Anton Khirnov [Mon, 9 May 2016 13:58:32 +0000 (15:58 +0200)]
h264: factor starting a new field out of parsing the slice header

3 years agoh264: postpone generating the implicit MMCOs
Anton Khirnov [Mon, 9 May 2016 12:25:56 +0000 (14:25 +0200)]
h264: postpone generating the implicit MMCOs

Do it right before the MMCOs are applied to the DPB. This will allow
moving the frame_start() call out of the slice header parsing, since
generating the implicit MMCOs needs to be done after frame_start().

3 years agoh264: decode the MMCOs into per-slice contexts
Anton Khirnov [Mon, 9 May 2016 11:48:01 +0000 (13:48 +0200)]
h264: decode the MMCOs into per-slice contexts

They are stored in the slice header, so technically they are per-slice
(though they must be the same in every slice). This will simplify the
following commits.

3 years agoh264: rename mmco_index to nb_mmco
Anton Khirnov [Mon, 9 May 2016 07:30:10 +0000 (09:30 +0200)]
h264: rename mmco_index to nb_mmco

The variable stores the number of mmco entries, so the current name is
misleading.

3 years agoh264: move initializing the slice start out of h264_slice_header_parse()
Anton Khirnov [Sat, 16 Apr 2016 01:20:37 +0000 (03:20 +0200)]
h264: move initializing the slice start out of h264_slice_header_parse()

3 years agoh264: move calculating the POC out of h264_slice_header_parse()
Anton Khirnov [Thu, 14 Apr 2016 18:53:59 +0000 (20:53 +0200)]
h264: move calculating the POC out of h264_slice_header_parse()

This function does not do any bitstream parsing and it depends on the
current frame being allocated, so this will allow the frame_start() to
be moved out eventually.

3 years agoh264: move building the reference list out of h264_slice_header_parse()
Anton Khirnov [Thu, 14 Apr 2016 18:53:59 +0000 (20:53 +0200)]
h264: move building the reference list out of h264_slice_header_parse()

This does not do any bitstream parsing and will allow moving out other
code in later commits.

3 years agoh264: move initing the implicit pred weight table out of h264_slice_header_parse()
Anton Khirnov [Thu, 14 Apr 2016 18:53:59 +0000 (20:53 +0200)]
h264: move initing the implicit pred weight table out of h264_slice_header_parse()

It depends on the reference list, so this will allow moving out the
reference list construction and consequently other code it depends on.

3 years agoh264: split reading the ref list modifications and actually building the ref list
Anton Khirnov [Fri, 15 Apr 2016 14:10:21 +0000 (16:10 +0200)]
h264: split reading the ref list modifications and actually building the ref list

This will allow postponing the reference list construction (and by
consequence some other functions, like frame_start) until the whole
slice header has been parsed.

3 years agoh264: move initialising the implicit pred weight table for MBAFF
Anton Khirnov [Fri, 15 Apr 2016 13:02:33 +0000 (15:02 +0200)]
h264: move initialising the implicit pred weight table for MBAFF

Do it where the normal implicit table is initialised.

3 years agoh264: call ff_h264_fill_mbaff_ref_list() when constructing the normal ref list
Anton Khirnov [Fri, 15 Apr 2016 13:00:29 +0000 (15:00 +0200)]
h264: call ff_h264_fill_mbaff_ref_list() when constructing the normal ref list

There is no real reason to call it separately.

3 years agoh264: move initialising the explicit pred weight table for MBAFF
Anton Khirnov [Fri, 15 Apr 2016 12:45:48 +0000 (14:45 +0200)]
h264: move initialising the explicit pred weight table for MBAFF

Currently it's done in the code that initialises the ref list for
MBAFF, which is not a logical place for it. Move it to the function that
parses the pred table from the bitstream, which is analogous to what is
done for the implicit weight table as well.

3 years agoh264: drop an outdated comment
Anton Khirnov [Thu, 14 Apr 2016 18:59:20 +0000 (20:59 +0200)]
h264: drop an outdated comment

3 years agoh264: move direct mode inits out of h264_slice_header_parse()
Anton Khirnov [Thu, 14 Apr 2016 18:53:59 +0000 (20:53 +0200)]
h264: move direct mode inits out of h264_slice_header_parse()

This code does not do any bitstream parsing, it just initializes some
internal state.

3 years agoh264: start splitting decode_slice_header()
Anton Khirnov [Wed, 13 Apr 2016 15:53:50 +0000 (17:53 +0200)]
h264: start splitting decode_slice_header()

That function is currently very long and entangles bitstream parsing and
decoder configuration. This makes the code much harder to read than
necessary.

Begin splitting the code that configures the decoder state based on the
slice header information from the parsing of the slice header.

3 years agovaapi_h265: cu_qp_delta should not be used in constant-QP mode
Mark Thompson [Tue, 31 May 2016 09:21:19 +0000 (10:21 +0100)]
vaapi_h265: cu_qp_delta should not be used in constant-QP mode

3 years agovaapi_h264: Add source version identifier as unregistered SEI
Mark Thompson [Wed, 18 May 2016 09:19:07 +0000 (10:19 +0100)]
vaapi_h264: Add source version identifier as unregistered SEI

Contains the libavcodec version, the VAAPI version and the libva
driver vendor string.

3 years agovaapi_h264: Add support for SEI messages
Mark Thompson [Tue, 17 May 2016 14:52:58 +0000 (15:52 +0100)]
vaapi_h264: Add support for SEI messages

Send buffering_period and pic_timing messages when in modes
targetting bitrate.  Also adds NAL HRD parameters to VUI.

3 years agovaapi_encode: Add support for writing arbitrary additional packed headers
Mark Thompson [Sat, 9 Apr 2016 15:48:27 +0000 (16:48 +0100)]
vaapi_encode: Add support for writing arbitrary additional packed headers

3 years agovaapi_h264: Add support for VUI parameters
Mark Thompson [Tue, 17 May 2016 14:14:57 +0000 (15:14 +0100)]
vaapi_h264: Add support for VUI parameters

Supports aspect ratio, colour format and timing information.

3 years agoh264: drop unused H264Context.gb
Anton Khirnov [Thu, 9 Jun 2016 08:29:55 +0000 (10:29 +0200)]
h264: drop unused H264Context.gb

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agoDrop unnecessary golomb.h #includes
Diego Biurrun [Tue, 7 Jun 2016 16:02:34 +0000 (18:02 +0200)]
Drop unnecessary golomb.h #includes

3 years agoDrop unnecessary unary.h #includes
Diego Biurrun [Tue, 7 Jun 2016 15:18:14 +0000 (17:18 +0200)]
Drop unnecessary unary.h #includes

3 years agodvbsub_parser: Add missing mem.h #include
Diego Biurrun [Tue, 7 Jun 2016 14:35:18 +0000 (16:35 +0200)]
dvbsub_parser: Add missing mem.h #include

3 years agogsm: Move requant_tab table to the gsm tables file
Diego Biurrun [Sat, 4 Jun 2016 14:53:54 +0000 (16:53 +0200)]
gsm: Move requant_tab table to the gsm tables file

This avoids duplicating the table in the gsm template file.
Also adjust the table type to uint8_t to save space.

3 years agompc: Drop unused GetBitContext context member
Diego Biurrun [Sat, 4 Jun 2016 15:13:39 +0000 (17:13 +0200)]
mpc: Drop unused GetBitContext context member

3 years agosvq1enc: Drop unused GetBitContext context member
Diego Biurrun [Sat, 4 Jun 2016 15:12:41 +0000 (17:12 +0200)]
svq1enc: Drop unused GetBitContext context member

3 years agovorbis: Kill some pointless debug code
Diego Biurrun [Sat, 4 Jun 2016 06:41:15 +0000 (08:41 +0200)]
vorbis: Kill some pointless debug code

3 years agomss2: Drop a silly assert
Diego Biurrun [Sat, 4 Jun 2016 10:58:11 +0000 (12:58 +0200)]
mss2: Drop a silly assert

3 years agoget_bits: Move BITSTREAM_READER_LE definition before all relevant #includes
Diego Biurrun [Sat, 4 Jun 2016 13:07:30 +0000 (15:07 +0200)]
get_bits: Move BITSTREAM_READER_LE definition before all relevant #includes

This avoids the danger that get_bits.h might get indirectly #included before
BITSTREAM_READER_LE is defined.

Also sort headers into canonical order where appropriate.

3 years agoindeo2: Drop disabled big-endian ir2_codes table
Diego Biurrun [Sat, 4 Jun 2016 15:04:45 +0000 (17:04 +0200)]
indeo2: Drop disabled big-endian ir2_codes table

Only the little-endian variant of the table is ever used.

3 years agoRemove unnecessary get_bits.h #includes
Diego Biurrun [Sat, 4 Jun 2016 09:45:16 +0000 (11:45 +0200)]
Remove unnecessary get_bits.h #includes

3 years agosgirledec: simplify, no need to use reget buffer
Paul B Mahol [Wed, 1 Jun 2016 19:10:42 +0000 (15:10 -0400)]
sgirledec: simplify, no need to use reget buffer

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoaic: add frame threading support
Paul B Mahol [Wed, 1 Jun 2016 19:46:49 +0000 (15:46 -0400)]
aic: add frame threading support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agofate: Move Canopus decoder tests to a separate file
Vittorio Giovara [Fri, 3 Jun 2016 18:09:18 +0000 (14:09 -0400)]
fate: Move Canopus decoder tests to a separate file

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoavconv: Do not copy extradata if source buffer is empty
Vittorio Giovara [Fri, 3 Jun 2016 16:14:50 +0000 (12:14 -0400)]
avconv: Do not copy extradata if source buffer is empty

Fixes clang-usan runtime error "null pointer passed as argument 2,
which is declared to never be null" while streamcopying.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agovp9: Return the correct size when decoding a superframe
Denis Charmet [Sat, 4 Jun 2016 11:22:42 +0000 (13:22 +0200)]
vp9: Return the correct size when decoding a superframe

According to avcodec.h, avcodec_decode_video2 should return the number of
bytes used if a frame was decoded.

The current implementation returns size - used size of all the subframes.
This fixes the VLC's bug https://trac.videolan.org/vlc/ticket/16836.

The superframe is always fully consumed.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agobuild: Only enable symbol reduction if the compiler does proper DCE
Diego Biurrun [Fri, 27 May 2016 18:14:21 +0000 (20:14 +0200)]
build: Only enable symbol reduction if the compiler does proper DCE

With compilers that do not support proper dead code elimination, like
Sun C 5.12, linking fails due to missing references to unavailable,
but also unused, symbols.

Bug-Id: 895

3 years agobuild: Simplify postprocessing of linker version script files
Diego Biurrun [Fri, 27 May 2016 09:38:38 +0000 (11:38 +0200)]
build: Simplify postprocessing of linker version script files

Generate the files in a single postprocessing step w/o intermediate files.

3 years agobuild: Change structure of the linker version script templates
Diego Biurrun [Tue, 24 May 2016 00:18:40 +0000 (02:18 +0200)]
build: Change structure of the linker version script templates

Split version files into one line per symbol/directive to allow compatibility
with the Solaris linker without preprocessing and eliminate $ from version file
templates to simplify the postprocessing shell command.

3 years agobuild: Print a message when generating version scripts
Diego Biurrun [Tue, 24 May 2016 10:39:54 +0000 (12:39 +0200)]
build: Print a message when generating version scripts

3 years agoasm: FF_-prefix internal macros used in inline assembly
Diego Biurrun [Wed, 25 May 2016 11:34:12 +0000 (13:34 +0200)]
asm: FF_-prefix internal macros used in inline assembly

These warnings conflict with system macros on Solaris, producing
truckloads of warnings about macro redefinition.

3 years agoDrop unnecessary libavutil/x86/asm.h #includes
Diego Biurrun [Tue, 24 May 2016 18:06:03 +0000 (20:06 +0200)]
Drop unnecessary libavutil/x86/asm.h #includes

3 years agoac3: Check the array bound before dereferencing
Luca Barbato [Thu, 26 May 2016 00:41:25 +0000 (02:41 +0200)]
ac3: Check the array bound before dereferencing

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>