ffmpeg.git
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>
3 years agovaapi_h264: Add trivial support for low-power encoding
Mark Thompson [Tue, 17 May 2016 22:08:57 +0000 (23:08 +0100)]
vaapi_h264: Add trivial support for low-power encoding

Experimental; requires Skylake and VAAPI 0.39.1 (not yet released).
Also increases the allowed range of the quality option - in low-power
mode, the Intel driver supports levels 1-8 (and 0 meaning default).

3 years agovaapi_h264: Fix frame_num after non-reference frames
Mark Thompson [Mon, 16 May 2016 13:01:31 +0000 (14:01 +0100)]
vaapi_h264: Fix frame_num after non-reference frames

Non-reference frames (nal_ref_idc == 0) should be discardable, so
frame_num does not advance after them.  Before this change, a stream
containing unreferenced B-frames would be rejected by the reference
decoder.

3 years agovaapi_encode: Check config attributes before creating config
Mark Thompson [Wed, 18 May 2016 09:58:56 +0000 (10:58 +0100)]
vaapi_encode: Check config attributes before creating config

This prevents attempts to use unsupported modes, such as low-power
H.264 mode on non-Skylake targets.  Also fixes a crash on invalid
configuration, when trying to destroy an invalid VA config/context.

3 years agobuild: Ignore generated mapfile and remove it on distclean
Diego Biurrun [Tue, 24 May 2016 10:16:52 +0000 (12:16 +0200)]
build: Ignore generated mapfile and remove it on distclean

3 years agoFATE: drop the audio stream from the dxtory test
Anton Khirnov [Tue, 24 May 2016 20:20:45 +0000 (22:20 +0200)]
FATE: drop the audio stream from the dxtory test

This is a video test and there are no audio packets in the sample
anyway.

3 years agoavconv: fix parsing bitstream filters
Anton Khirnov [Tue, 24 May 2016 14:49:19 +0000 (16:49 +0200)]
avconv: fix parsing bitstream filters

The current code modifies the user-supplied string, which is shared for
the whole output file. So a bitstream filter specification applied to
multiple streams would not work correctly.

3 years agoavconv: fix a check for av_bsf_get_by_name() return value
Anton Khirnov [Tue, 24 May 2016 14:36:16 +0000 (16:36 +0200)]
avconv: fix a check for av_bsf_get_by_name() return value

3 years agoavconv_vaapi: use the hwcontext device creation API
Anton Khirnov [Thu, 19 May 2016 17:08:06 +0000 (19:08 +0200)]
avconv_vaapi: use the hwcontext device creation API

3 years agoavconv_dxva2: use the hwcontext device creation API
Anton Khirnov [Thu, 19 May 2016 17:08:06 +0000 (19:08 +0200)]
avconv_dxva2: use the hwcontext device creation API

3 years agoavconv_vdpau: use the hwcontext device creation API
Anton Khirnov [Thu, 19 May 2016 17:08:06 +0000 (19:08 +0200)]
avconv_vdpau: use the hwcontext device creation API

3 years agohwcontext_vaapi: implement device creation
Anton Khirnov [Thu, 19 May 2016 17:19:20 +0000 (19:19 +0200)]
hwcontext_vaapi: implement device creation

3 years agohwcontext_dxva2: implement device creation
Anton Khirnov [Thu, 19 May 2016 17:19:20 +0000 (19:19 +0200)]
hwcontext_dxva2: implement device creation

3 years agohwcontext_cuda: implement device creation
Anton Khirnov [Thu, 19 May 2016 17:19:20 +0000 (19:19 +0200)]
hwcontext_cuda: implement device creation

3 years agohwcontext_vdpau: implement device creation
Anton Khirnov [Thu, 19 May 2016 14:33:15 +0000 (16:33 +0200)]
hwcontext_vdpau: implement device creation

3 years agohwcontext: add a function for opening devices
Anton Khirnov [Thu, 19 May 2016 13:59:25 +0000 (15:59 +0200)]
hwcontext: add a function for opening devices

3 years agolavc: handle hw_frames_ctx where necessary
Andrey Turkin [Wed, 25 May 2016 11:16:14 +0000 (14:16 +0300)]
lavc: handle hw_frames_ctx where necessary

avcodec_copy_context() didn't handle hw_frames_ctx references correctly
which could cause crashes.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agogolomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better names
Diego Biurrun [Mon, 23 May 2016 23:20:34 +0000 (01:20 +0200)]
golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better names

3 years agofate: More fine-grained dependencies for demuxer tests
Diego Biurrun [Mon, 23 May 2016 20:15:43 +0000 (22:15 +0200)]
fate: More fine-grained dependencies for demuxer tests

3 years agofate: More fine-grained dependencies for voice codec tests
Diego Biurrun [Mon, 23 May 2016 20:15:10 +0000 (22:15 +0200)]
fate: More fine-grained dependencies for voice codec tests

3 years agortsp: Use avcodec_descriptor_get instead of avcodec_find_decoder
Martin Storsjö [Tue, 24 May 2016 08:20:28 +0000 (11:20 +0300)]
rtsp: Use avcodec_descriptor_get instead of avcodec_find_decoder

This is only used for logging a human readable codec name for
debugging.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoavcodec: Bump micro version after changing public JPEG 2000 defines
Diego Biurrun [Tue, 24 May 2016 10:32:01 +0000 (12:32 +0200)]
avcodec: Bump micro version after changing public JPEG 2000 defines

3 years agojpeg2000: Fix profile define values
Francois Cartegnie [Mon, 23 May 2016 12:12:15 +0000 (14:12 +0200)]
jpeg2000: Fix profile define values

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agoavfiltergraph: check the query_formats() return value
Anton Khirnov [Sun, 22 May 2016 08:46:19 +0000 (10:46 +0200)]
avfiltergraph: check the query_formats() return value

3 years agolavc: document that avcodec_close() should not be used
Anton Khirnov [Sat, 21 May 2016 10:05:38 +0000 (12:05 +0200)]
lavc: document that avcodec_close() should not be used

We cannot deprecate it until the new parser API is in place, because of
the way libavformat works. But the majority of the users can already
simply replace it with avcodec_free_context(), which will simplify the
transition once it is finally deprecated.

3 years agolavc: deprecate avcodec_get_context_defaults3()
Anton Khirnov [Sat, 21 May 2016 09:57:28 +0000 (11:57 +0200)]
lavc: deprecate avcodec_get_context_defaults3()

This function is supposed to "reset" a codec context to a clean state so
that it can be opened again. The only reason it exists is to allow using
AVStream.codec as a decoding context (after it was already
opened/used/closed by avformat_find_stream_info()). Since that behaviour
is now deprecated, there is no reason for this function to exist
anymore.

3 years agolavc: deprecate avcodec_copy_context()
Anton Khirnov [Sat, 21 May 2016 09:46:44 +0000 (11:46 +0200)]
lavc: deprecate avcodec_copy_context()

Since AVCodecContext contains a lot of complex state, copying a codec
context is not a well-defined operation. The purpose for which it is
typically used (which is well-defined) is copying the stream parameters
from one codec context to another. That is now possible with through the
AVCodecParameters API. Therefore, there is no reason for
avcodec_copy_context() to exist.

3 years agolavf: update muxing doxy
Anton Khirnov [Sat, 21 May 2016 09:41:37 +0000 (11:41 +0200)]
lavf: update muxing doxy

Describe the new AVCodecParameters API.

3 years agomp3: Make the extrasize explicit
Luca Barbato [Tue, 19 Apr 2016 04:35:53 +0000 (06:35 +0200)]
mp3: Make the extrasize explicit

Initialize the bit buffer with the correct size (amount of bits that will
be read) instead of relying on the bitstream reader overreading the
correct values.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agoget_bits: Drop some TRACE-level debug code
Diego Biurrun [Sat, 21 May 2016 11:31:24 +0000 (13:31 +0200)]
get_bits: Drop some TRACE-level debug code

It will not be provided by the new bit reader anyway.

3 years agodump: Drop unused variable
Diego Biurrun [Sat, 21 May 2016 11:41:19 +0000 (13:41 +0200)]
dump: Drop unused variable

3 years agoavconv: Use more precise deprecation ifdefs
Diego Biurrun [Sat, 21 May 2016 11:49:46 +0000 (13:49 +0200)]
avconv: Use more precise deprecation ifdefs

This fixes compilation with the libavcodec version bumped to 58.

3 years agoavconv: stop using AVStream.codec
Anton Khirnov [Sat, 21 May 2016 09:37:33 +0000 (11:37 +0200)]
avconv: stop using AVStream.codec

It is now only used by the av_parser_change() call during streamcopy, so
allocate a special AVCodecContext instance for this case. This instance
should go away when the new parser API is finished.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agonvenc: allow setting the number of slices
Anton Khirnov [Sat, 14 May 2016 14:47:55 +0000 (16:47 +0200)]
nvenc: allow setting the number of slices

Based on a patch by Agatha Hu <ahu@nvidia.com>

3 years agonvenc: De-compensate aspect ratio compensation of DVD-like content.
Philip Langdale [Wed, 28 Jan 2015 17:05:53 +0000 (09:05 -0800)]
nvenc: De-compensate aspect ratio compensation of DVD-like content.

For reasons we are not privy to, nvidia decided that the nvenc encoder
should apply aspect ratio compensation to 'DVD like' content, assuming that
the content is not BT.601 compliant, but needs to be BT.601 compliant. In
this context, that means that they make the following, questionable,
assumptions:

1) If the input dimensions are 720x480 or 720x576, assume the content has
an active area of 704x480 or 704x576.

2) Assume that whatever the input sample aspect ratio is, it does not account
for the difference between 'physical' and 'active' dimensions.

From these assumptions, they then conclude that they can 'help', by adjusting
the sample aspect ratio by a factor of 45/44. And indeed, if you wanted to
display only the 704 wide active area with the same aspect ratio as the full
720 wide image - this would be the correct adjustment factor, but what if you
don't? And more importantly, what if you're used to lavc not making this kind
of adjustment at encode time - because none of the other encoders do this!

And, what if you had already accounted for BT.601 and your input had the
correct attributes? Well, it's going to apply the compensation anyway!
So, if you take some content, and feed it through nvenc repeatedly, it
will keep scaling the aspect ratio every time, stretching your video out
more and more and more.

So, clearly, regardless of whether you want to apply bt.601 aspect ratio
adjustments or not, this is not the way to do it. With any other lavc
encoder, you would do it as part of defining your input parameters or do
the adjustment at playback time, and there's no reason by nvenc should
be any different.

This change adds some logic to undo the compensation that nvenc would
otherwise do.

nvidia engineers have told us that they will work to make this
compensation mechanism optional in a future release of the nvenc
SDK. At that point, we can adapt accordingly.

Signed-off-by: Philip Langdale <philipl@overt.org>
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agonvenc: list the major contributors in the copyright header
Anton Khirnov [Fri, 13 May 2016 07:43:51 +0000 (09:43 +0200)]
nvenc: list the major contributors in the copyright header

3 years agoconfigure: Don't require nonfree for nvenc
Timo Rothenpieler [Sat, 23 Apr 2016 16:55:51 +0000 (18:55 +0200)]
configure: Don't require nonfree for nvenc

As the nvEncodeApi.h header is now MIT licensed, this can be dropped.
The loaded CUDA and NVENC libraries are part of the nvidia driver, and
thus count as system libraries.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agonvenc: drop the hard dependency on CUDA
Anton Khirnov [Fri, 13 May 2016 07:13:47 +0000 (09:13 +0200)]
nvenc: drop the hard dependency on CUDA

The code needs only a few definitions from cuda.h, so define them
directly when CUDA is not enabled. CUDA is still required for accepting
HW frames as input.

Based on the code by Timo Rothenpieler <timo@rothenpieler.org>.

3 years agonvenc: only support HW frames when CUDA is enabled
Anton Khirnov [Fri, 13 May 2016 07:05:25 +0000 (09:05 +0200)]
nvenc: only support HW frames when CUDA is enabled

hwcontext_cuda.h includes cuda.h, so this will allow building nvenc
without depending on cuda.h

3 years agonvenc: write the VUI signal properties for HEVC
Anton Khirnov [Thu, 12 May 2016 07:22:29 +0000 (09:22 +0200)]
nvenc: write the VUI signal properties for HEVC

Bump the API version requirement to 6.

Based on a patch by Agatha Hu <ahu@nvidia.com>.

3 years agonvenc: only write the VUI signal type fields if they are set
Anton Khirnov [Thu, 12 May 2016 07:20:19 +0000 (09:20 +0200)]
nvenc: only write the VUI signal type fields if they are set

Based on a patch by Agatha Hu <ahu@nvidia.com>.

3 years agonvenc: Generate bufferingPeriod/pictureTiming SEI
Timo Rothenpieler [Wed, 11 May 2016 08:34:31 +0000 (10:34 +0200)]
nvenc: Generate bufferingPeriod/pictureTiming SEI

For some unknown reason enabling these causes proper CBR padding,
so as there are no known downsides just always enable them in CBR mode.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agonvenc: Delay frame output to increase encoding speed
Timo Rothenpieler [Sat, 25 Jul 2015 21:20:28 +0000 (23:20 +0200)]
nvenc: Delay frame output to increase encoding speed

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agonvenc: add support for lossless encoding
Anton Khirnov [Wed, 11 May 2016 13:38:35 +0000 (15:38 +0200)]
nvenc: add support for lossless encoding

Based on a patch by Philip Langdale <philipl@overt.org>

3 years agonvenc: Generate AUD NAL units for better compatiblity
Timo Rothenpieler [Wed, 30 Mar 2016 10:03:59 +0000 (12:03 +0200)]
nvenc: Generate AUD NAL units for better compatiblity

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agonvenc: fix the rc option definitions
Anton Khirnov [Thu, 12 May 2016 06:23:06 +0000 (08:23 +0200)]
nvenc: fix the rc option definitions

3 years agoAdd release notes for 12.
Anton Khirnov [Mon, 16 May 2016 13:52:37 +0000 (15:52 +0200)]
Add release notes for 12.

3 years agomjpegdec: Properly fail on malloc failure
Derek Buitenhuis [Mon, 9 May 2016 12:59:51 +0000 (13:59 +0100)]
mjpegdec: Properly fail on malloc failure

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agoconfigure: move the hardware accel libs' entries in the configure output
Anton Khirnov [Tue, 3 May 2016 06:06:15 +0000 (08:06 +0200)]
configure: move the hardware accel libs' entries in the configure output

Print them as a subsection of the external library section, in line with
what is done for the help text in the previous commit.

3 years agoconfigure: move the hardware accel libs' entries in the help text
Anton Khirnov [Tue, 3 May 2016 05:55:38 +0000 (07:55 +0200)]
configure: move the hardware accel libs' entries in the help text

Group them in a subsection of the external library section. That should
make them easier to find and understand how they fit in the scheme of
things.

Also, rewrite the description text in a similar way as in the previous
commit.

3 years agoconfigure: improve the help text for external libraries
Anton Khirnov [Tue, 3 May 2016 04:38:22 +0000 (06:38 +0200)]
configure: improve the help text for external libraries

Add a more accurate description of what the switches actually do (i.e.
allow using the given library, not enabling the corresponding
codecs etc.).

Replace the library descriptions, in many cases boilerplate text without
useful information, with a short summary of what the library does.

3 years agolavc: revert the Makefile part of 330177b
Anton Khirnov [Mon, 2 May 2016 17:39:14 +0000 (19:39 +0200)]
lavc: revert the Makefile part of 330177b

There is no real advantage to listing some codecs or subsystems
separately simply because they are somehow "hw-accelerated", on the
contrary it makes them harder to find than in a plain alphabetically
ordered list.

3 years agoxtea-test: Use struct allocation functions from the API
Diego Biurrun [Tue, 17 May 2016 13:16:53 +0000 (15:16 +0200)]
xtea-test: Use struct allocation functions from the API

3 years agoblowfish-test: Use struct allocation functions from the API
Diego Biurrun [Wed, 11 May 2016 10:47:55 +0000 (12:47 +0200)]
blowfish-test: Use struct allocation functions from the API

3 years agoblowfish-test: Return different values for different errors
Diego Biurrun [Tue, 17 May 2016 18:44:04 +0000 (20:44 +0200)]
blowfish-test: Return different values for different errors

3 years agomovenc: Write 'loci' geotag metadata for 3gp and mp4
Martin Storsjö [Wed, 18 May 2016 10:54:11 +0000 (13:54 +0300)]
movenc: Write 'loci' geotag metadata for 3gp and mp4

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomovenc: Factorize a function for finding a metadata entry and the associated language
Martin Storsjö [Wed, 18 May 2016 10:18:32 +0000 (13:18 +0300)]
movenc: Factorize a function for finding a metadata entry and the associated language

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomovenc: Write ?xyz geotag metadata for mov files
Michael Niedermayer [Sat, 30 May 2015 13:32:40 +0000 (15:32 +0200)]
movenc: Write ?xyz geotag metadata for mov files

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomov: Also export loci altitude
Michael Niedermayer [Sat, 30 May 2015 13:28:31 +0000 (15:28 +0200)]
mov: Also export loci altitude

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomov: Append place name instead of overwriting for loci
Michael Niedermayer [Sat, 30 May 2015 13:23:19 +0000 (15:23 +0200)]
mov: Append place name instead of overwriting for loci

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomov: Fix parsing short loci
Michael Niedermayer [Sat, 16 May 2015 11:51:18 +0000 (13:51 +0200)]
mov: Fix parsing short loci

Previously, we required the minimum number of bytes required for
the full box. Don't strictly require the astronomical body and additional
notes fields, but do require an altitude field (which currently isn't
parsed). This matches the initial length check at the start of the function
(which doesn't know about the variable length place field).

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomov: Print reason of loci parsing failure
Michael Niedermayer [Sat, 16 May 2015 11:50:38 +0000 (13:50 +0200)]
mov: Print reason of loci parsing failure

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomov: Add a comment referring to the standard that defines the loci box
Martin Storsjö [Wed, 18 May 2016 10:33:55 +0000 (13:33 +0300)]
mov: Add a comment referring to the standard that defines the loci box

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomovenc: Add a missed const
Martin Storsjö [Wed, 18 May 2016 10:49:57 +0000 (13:49 +0300)]
movenc: Add a missed const

This was missed in e1eb0fc9601, when ff_interleaved_peek was
changed to include const during the evolution of the patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomovenc: Add a test for VFR with b-frames, with a duration change at a fragment end
Martin Storsjö [Mon, 9 May 2016 10:48:58 +0000 (13:48 +0300)]
movenc: Add a test for VFR with b-frames, with a duration change at a fragment end

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomovenc: Use packets in interleaving queues for the duration at the end of fragments
Martin Storsjö [Wed, 20 Apr 2016 20:10:37 +0000 (23:10 +0300)]
movenc: Use packets in interleaving queues for the duration at the end of fragments

As long as caller only writes packets using av_interleaved_write_frame
with no manual flushing, this should allow us to always have accurate
durations at the end of fragments, since there should be at least
one queued packet in each stream (except for the stream where the
current packet is being written, but if the muxer itself does the
cutting of fragments, it also has info about the next packet for that
stream).

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomovenc-test: Test write_data_type
Martin Storsjö [Wed, 4 May 2016 19:44:35 +0000 (22:44 +0300)]
movenc-test: Test write_data_type

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomatroskaenc: Provide output bytestream markers
Martin Storsjö [Wed, 4 May 2016 19:31:28 +0000 (22:31 +0300)]
matroskaenc: Provide output bytestream markers

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agomovenc: Provide output bytestream markers for fragmented content
Martin Storsjö [Wed, 4 May 2016 19:18:18 +0000 (22:18 +0300)]
movenc: Provide output bytestream markers for fragmented content

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoflvenc: Provide output bytestream markers
Martin Storsjö [Wed, 4 May 2016 19:06:43 +0000 (22:06 +0300)]
flvenc: Provide output bytestream markers

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoavio: Allow custom IO users to get labels for the output bytestream
Martin Storsjö [Wed, 4 May 2016 14:18:35 +0000 (17:18 +0300)]
avio: Allow custom IO users to get labels for the output bytestream

This allows callers with avio write callbacks to get the bytestream
positions that correspond to keyframes, suitable for live streaming.

In the simplest form, a caller could expect that a header is written
to the bytestream during the avformat_write_header, and the data
output to the avio context during e.g. av_write_frame corresponds
exactly to the current packet passed in.

When combined with av_interleaved_write_frame, and with muxers that
do buffering (most muxers that do some sort of fragmenting or
clustering), the mapping from input data to bytestream positions
is nontrivial.

This allows callers to get directly information about what part
of the bytestream is what, without having to resort to assumptions
about the muxer behaviour.

One keyframe/fragment/block can still be split into multiple (if
they are larger than the aviocontext buffer), which would call
the callback with e.g. AVIO_DATA_MARKER_SYNC_POINT, followed by
AVIO_DATA_MARKER_UNKNOWN for the second time it is called with
the following data.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoavprobe: Print stereo3d information
Vittorio Giovara [Thu, 21 Apr 2016 21:24:08 +0000 (17:24 -0400)]
avprobe: Print stereo3d information

3 years agostereo3d: Add API to get name from value or value from name
Vittorio Giovara [Thu, 21 Apr 2016 21:24:07 +0000 (17:24 -0400)]
stereo3d: Add API to get name from value or value from name

Use it in av_dump_format() instead of a huge switch case.

3 years agolavf: Raw G.729 demuxer
Vladimir Voroshilov [Sat, 19 Mar 2016 21:48:39 +0000 (17:48 -0400)]
lavf: Raw G.729 demuxer

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agofate: Update fate-lavf-ts after commit 393596f9d5
Martin Storsjö [Tue, 17 May 2016 09:15:46 +0000 (12:15 +0300)]
fate: Update fate-lavf-ts after commit 393596f9d5

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agotools: Port to codec parameters API
Diego Biurrun [Wed, 11 May 2016 13:26:02 +0000 (15:26 +0200)]
tools: Port to codec parameters API

3 years agompegtsenc: stop impersonating ses in sdt
Francois Cartegnie [Tue, 17 May 2016 07:54:30 +0000 (09:54 +0200)]
mpegtsenc: stop impersonating ses in sdt

Unless specified, users must use non registered
range for network id

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoMove VLC and RL_VLC_ELEM structure definitions to a separate header
Alexandra Hájková [Sat, 14 May 2016 09:45:01 +0000 (11:45 +0200)]
Move VLC and RL_VLC_ELEM structure definitions to a separate header

Use the newly created vlc.h directly instead of including get_bits when needed.
The VLC and RL_VLC_ELEM structures are independent from the bitreader.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoavconv_dxva2: use the hwcontext API
Anton Khirnov [Sun, 1 May 2016 17:19:17 +0000 (19:19 +0200)]
avconv_dxva2: use the hwcontext API

3 years agohwcontext: add a dxva2 implementation
Anton Khirnov [Thu, 31 Mar 2016 11:12:41 +0000 (13:12 +0200)]
hwcontext: add a dxva2 implementation

3 years agompeg4videodec: Call av_log() in check_marker() with AVCodecContext instead of NULL
Alexandra Hájková [Sat, 14 May 2016 09:28:19 +0000 (11:28 +0200)]
mpeg4videodec: Call av_log() in check_marker() with AVCodecContext instead of NULL

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agoMove check_marker() from get_bits to mpeg4videodec
Alexandra Hájková [Sat, 14 May 2016 09:28:18 +0000 (11:28 +0200)]
Move check_marker() from get_bits to mpeg4videodec

MPEG-4 is the only decoder which uses check_marker().

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agolavc: mark the old audio/video encoding API as deprecated
Anton Khirnov [Sat, 14 May 2016 11:45:05 +0000 (13:45 +0200)]
lavc: mark the old audio/video encoding API as deprecated

3 years agox86inc: Enable AVX emulation in additional cases
Anton Mitrofanov [Wed, 20 Apr 2016 17:35:34 +0000 (19:35 +0200)]
x86inc: Enable AVX emulation in additional cases

Allows emulation to work when dst is equal to src2 as long as the
instruction is commutative, e.g. `addps m0, m1, m0`.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Improve handling of %ifid with multi-token parameters
Anton Mitrofanov [Wed, 20 Apr 2016 17:35:33 +0000 (19:35 +0200)]
x86inc: Improve handling of %ifid with multi-token parameters

The yasm/nasm preprocessor only checks the first token, which means that
parameters such as `dword [rax]` are treated as identifiers, which is
generally not what we want.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Fix AVX emulation of some instructions
Anton Mitrofanov [Wed, 20 Apr 2016 17:35:32 +0000 (19:35 +0200)]
x86inc: Fix AVX emulation of some instructions

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Fix AVX emulation of scalar float instructions
Henrik Gramner [Wed, 20 Apr 2016 17:35:31 +0000 (19:35 +0200)]
x86inc: Fix AVX emulation of scalar float instructions

Those instructions are not commutative since they only change the first
element in the vector and leave the rest unmodified.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agoavpacket: fix setting AVPacket.data in av_packet_ref()
Anton Khirnov [Thu, 12 May 2016 13:34:58 +0000 (15:34 +0200)]
avpacket: fix setting AVPacket.data in av_packet_ref()

The data field does not necessarily point to the beginning of the
underlying AVBuffer.

CC: libav-stable@libav.org
3 years agolavc: make avcodec_open2() fail when the timebase is not set for encoding
Anton Khirnov [Mon, 2 May 2016 16:38:41 +0000 (18:38 +0200)]
lavc: make avcodec_open2() fail when the timebase is not set for encoding

Many encoders use it. There is also a divide by the timebase lower in
this function, which would crash when it is not set.

3 years agoCombine deprecation guards where appropriate
Diego Biurrun [Tue, 3 May 2016 22:32:26 +0000 (00:32 +0200)]
Combine deprecation guards where appropriate

Some code blocks use multiple bits of deprecated API.

3 years agotests: Move all test programs to a subdirectory
Diego Biurrun [Wed, 20 Apr 2016 09:40:40 +0000 (11:40 +0200)]
tests: Move all test programs to a subdirectory

3 years agoSplit global .gitignore file into per-directory files
Diego Biurrun [Wed, 11 May 2016 10:03:34 +0000 (12:03 +0200)]
Split global .gitignore file into per-directory files

3 years agoAdd some more deprecation guards
Diego Biurrun [Tue, 3 May 2016 22:27:19 +0000 (00:27 +0200)]
Add some more deprecation guards

Avoids unused function/label/variable warnings after the next version bump.

3 years agoReduce the scope of some variables
Diego Biurrun [Tue, 3 May 2016 22:15:41 +0000 (00:15 +0200)]
Reduce the scope of some variables

This avoids unused variable warnings after the next version bump.
Also drop a trace level av_log() call that is in the way.

3 years agortsp: Parse SSRC attributes in the SDP
Martin Storsjö [Tue, 4 Dec 2012 13:28:29 +0000 (15:28 +0200)]
rtsp: Parse SSRC attributes in the SDP

When feeding input RTP packets to the depacketizer via custom IO,
it needs to pick the right stream using the payload type for
RTP packets, and using the SSRC for RTCP packets. If the first
packet is an RTCP packet, we don't (currently) know the SSRC
yet and thus can't pick the right RTP depacketizer to handle it.

By parsing the SSRC attribute in the SDP, we can map initial
RTCP packets to the right stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agortpdec: Always check if we have the next packet queued
Martin Storsjö [Mon, 14 Jan 2013 15:48:26 +0000 (17:48 +0200)]
rtpdec: Always check if we have the next packet queued

It doesn't matter what the actual reason for not returning
an AVPacket was - if we didn't return any packet and we have
the next one queued, parse it immediately. (rtp_parse_queued_packet
always consumes a queued packet if one exists, so there's no risk
for infinite loops.)

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agoavconv_vaapi: fix double-free with some unsupported streams
Mark Thompson [Mon, 9 May 2016 17:53:48 +0000 (18:53 +0100)]
avconv_vaapi: fix double-free with some unsupported streams

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