OSDN Git Service
Anton Khirnov [Sun, 18 Oct 2015 18:58:24 +0000 (20:58 +0200)]
vocdec: put the code not shared with other demuxers under appropriate ifdef
Anton Khirnov [Sun, 11 Oct 2015 09:08:24 +0000 (11:08 +0200)]
flvdec: do not create any streams in read_header()
The current muxer behaviour is to create streams in read_header() based
on the audio/video presence flags, but fill in the stream parameters
later when we actually get some packets for them. This is rather shady,
since other demuxers set the stream parameters immediately when the
stream is created and do not touch the stream codec context after that.
Change the flv demuxer to behave in the same way as other similar
demuxers -- create the streams only when we get a packet for them.
Anton Khirnov [Fri, 2 Jan 2015 18:16:21 +0000 (19:16 +0100)]
lavc: make avpriv_mpa_decode_header private on next bump
It's not used by anything outside of lavc anymore.
Anton Khirnov [Fri, 2 Jan 2015 08:49:20 +0000 (09:49 +0100)]
mp3dec: replace avpriv_mpa_decode_header with avpriv_mpegaudio_decode_header
The latter does not require a full AVCodecContext and still provides all
the functionality needed here.
Anton Khirnov [Fri, 9 Oct 2015 13:16:46 +0000 (15:16 +0200)]
mpegaudiodecheader: check the header in avpriv_mpegaudio_decode_header
Almost all the places from which this function is called already check
the header manually and in the two that don't (the mp3 muxer) the check
should not cause any problems.
Anton Khirnov [Thu, 1 Jan 2015 13:58:05 +0000 (14:58 +0100)]
lavc: get the profile name through the codec descriptor in avcodec_string()
Anton Khirnov [Wed, 31 Dec 2014 06:57:59 +0000 (07:57 +0100)]
lavc: add profiles to AVCodecDescriptor
The profiles are a property of the codec, so it makes sense to export
them through AVCodecDescriptors, not just the codec implementations.
Anton Khirnov [Tue, 30 Dec 2014 11:44:02 +0000 (12:44 +0100)]
lavc: print the name of the codec, not its implementation, in avcodec_string
Anton Khirnov [Wed, 21 Oct 2015 09:22:13 +0000 (11:22 +0200)]
r3d: do not create the audio stream until we know the sample rate
Anton Khirnov [Tue, 30 Dec 2014 06:51:04 +0000 (07:51 +0100)]
ff_parse_specific_params: do not use AVCodecContext.frame_size
It will not be set unless the muxing codec context is also the encoding
context, which is discouraged. When the frame size is not known from
av_get_audio_frame_duration(), the fallback should still be good enough.
Anton Khirnov [Sat, 15 Nov 2014 15:48:59 +0000 (16:48 +0100)]
rmenc: do not use AVCodecContext.frame_size
It will not be set if the stream codec context is not the encoding
context. Use av_get_audio_frame_duration() instead, it should work for
all audio codecs supported by the muxer.
Anton Khirnov [Thu, 10 Dec 2015 21:16:13 +0000 (22:16 +0100)]
mpegvideo_enc: actually add the side data with vbv_delay to the packet
Fixes
2507b5dd674834be7261772996f47ae3b95cca69
Dave Yeo [Wed, 9 Dec 2015 15:53:51 +0000 (07:53 -0800)]
hevcdsp: use a macro for .rodata section
fixes assembling on OS/2
Signed-off-by: Dave Yeo <dave.r.yeo@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Tue, 8 Dec 2015 17:12:33 +0000 (18:12 +0100)]
openh264: Directly include the deprecation guards header
Make easier to avoid compile failure when reworking the internal
headers.
Luca Barbato [Sat, 5 Dec 2015 12:45:01 +0000 (13:45 +0100)]
log: Use a do {} while (0) for tlog
Avoid the warning `-Wempty-body`.
Aaron Colwell [Wed, 2 Dec 2015 23:13:18 +0000 (18:13 -0500)]
matroskadec: Fix sample_aspect_ratio for stereo matroska content
matroskaenc applies divisors to the display width/height when generating
stereo content. This patch adds the corresponding multipliers to matroskadec
so that the original sample aspect ratio can be recovered.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Thu, 3 Dec 2015 00:10:02 +0000 (19:10 -0500)]
sgienc: Make sure to initialize skipped header portions
Fix fate tests with asan. Introduced during bytestream2 porting
(in revision
62cc8f4d79dad119e8efeaae080a58a8dcb1e89d).
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Mon, 30 Nov 2015 17:19:36 +0000 (12:19 -0500)]
lavc: Drop exporting 2-pass encoding stats
These variables are coming from mpegvideoenc where are supposedly used
as bit counters on various frame properties. However their use is
unclear as they lack documentation, are available only from a very small
subset of encoders, and they are hardly used in the wild. Also frame_bits
in aacenc is employed in a similar way.
Remove this functionality from AVCodecContex, these variable are mostly
frame properties, and too few encoders support setting them with anything
useful.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Mon, 30 Nov 2015 17:17:31 +0000 (12:17 -0500)]
lavc: Deprecate coder_type and its symbols
Most option values are simply unused or ignored and in practice the
majory of codecs only need to check whether to enable rle or not.
Add appropriate codec private options which better expose the allowed
features.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Anton Khirnov [Mon, 30 Nov 2015 09:44:39 +0000 (10:44 +0100)]
h264: do not call frame_start() for missing frames
We do not need to do a full setup like for a real frame, just allocate a
buffer and set cur_pic(_ptr).
Anton Khirnov [Sun, 6 Dec 2015 10:02:17 +0000 (11:02 +0100)]
aacdec: fix aac_static_table_init() prototype
Anton Khirnov [Sun, 6 Dec 2015 09:59:51 +0000 (10:59 +0100)]
avpacket: use ERANGE instead of EOVERFLOW
EOVERFLOW seems to be unavailable on certain platforms.
Ganesh Ajjanagadde [Fri, 4 Dec 2015 06:11:10 +0000 (01:11 -0500)]
rtsp: free opts dictionary on failure of getnameinfo
Signed-off-by: Martin Storsjö <martin@martin.st>
Ganesh Ajjanagadde [Fri, 4 Dec 2015 06:03:26 +0000 (01:03 -0500)]
movenc-test: add a missing va_end call
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sat, 15 Nov 2014 09:41:02 +0000 (10:41 +0100)]
mxfenc: always assume long gop
Checking the codec context parameters to find out this information is
far too unreliable to be useful, so it is safer to assume B-frames are
always present.
Anton Khirnov [Sat, 5 Jul 2014 09:09:15 +0000 (09:09 +0000)]
lavc: export Dirac parsing API used by the ogg demuxer as public
Also, stop using AVCodecContext for storing the stream parameters.
Anton Khirnov [Sun, 4 Oct 2015 10:27:10 +0000 (12:27 +0200)]
mpegenc: use the CPB props side data
Do not access the encoder options, since it makes no sense when the
AVStream codec context is not the encoding context.
Anton Khirnov [Sun, 4 Oct 2015 10:27:10 +0000 (12:27 +0200)]
movenc: use the CPB props side data
Do not access the encoder options, since it makes no sense when the
AVStream codec context is not the encoding context.
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
qsvenc: export CPB props side data
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
nvenc: export CPB props side data
Anton Khirnov [Sun, 4 Oct 2015 10:19:26 +0000 (12:19 +0200)]
mpegvideo_enc: export vbv_delay in side data
Deprecate AVCodecContext.vbv_delay
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
mpegvideo_enc: export CPB props side data
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
libx264: export CPB props side data
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
libvpxenc: export CPB props side data
Anton Khirnov [Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)]
libopenh264enc: export CPB props side data
Anton Khirnov [Wed, 22 Jul 2015 12:04:20 +0000 (14:04 +0200)]
lavc: add a packet side data type for VBV-like parameters
Anton Khirnov [Sun, 4 Oct 2015 11:17:41 +0000 (13:17 +0200)]
avconv: pass the global codec side data to the muxer
Anton Khirnov [Wed, 22 Jul 2015 12:39:30 +0000 (14:39 +0200)]
lavc: add stream-global packet side data
This is similar to what is done for AVStream.
Anton Khirnov [Sun, 4 Oct 2015 10:08:20 +0000 (12:08 +0200)]
avpacket: add a function for wrapping existing data as side data
Anton Khirnov [Tue, 20 Oct 2015 17:04:57 +0000 (19:04 +0200)]
h264: derive the delay from the level when it's not present
Fall back to maximum DPB size if the level is unknown.
This should be more spec-compliant and does not depend on the caller
setting has_b_frames before opening the decoder.
The old behaviour, when the delay is supplied by the caller setting
has_b_frames, can still be obtained by setting strict_std_compliance
below normal.
Anton Khirnov [Mon, 30 Nov 2015 21:52:36 +0000 (22:52 +0100)]
h264: set frame_num in start_frame(), not decode_slice_header()
That is a more appropriate place for it, since it is not allowed to
change between slices.
Anton Khirnov [Mon, 30 Nov 2015 16:51:48 +0000 (17:51 +0100)]
h264: eliminate default_ref_list
According to the spec, the reference list for a slice should be
constructed by first generating an initial (what we now call "default")
reference list and then optionally applying modifications to it.
Our code has an optimization where the initial reference list is
constructed for the first inter slice and then rebuilt for other slices
if needed. This, however, adds complexity to the code, requires an extra
2.5kB array in the codec context and there is no reason to think that it
has any positive effect on performance. Therefore, simplify the code by
generating the reference list from scratch for each slice.
Anton Khirnov [Fri, 24 Jul 2015 16:42:08 +0000 (18:42 +0200)]
hevcdsp: add x86 SIMD for MC
Anton Khirnov [Fri, 31 Jul 2015 10:37:14 +0000 (12:37 +0200)]
checkasm: add HEVC MC tests
Anton Khirnov [Fri, 14 Aug 2015 17:40:21 +0000 (19:40 +0200)]
hevc: change the stride of the MC buffer to be in bytes instead of elements
Currently, the frame stride is passed in bytes, while the MC buffer size
is in int16_t elements, This can be confusing, so pass both strides in
bytes.
Anton Khirnov [Fri, 24 Jul 2015 16:56:54 +0000 (18:56 +0200)]
hevcdsp: split the pred functions by width
This should allow for more efficient SIMD.
Anton Khirnov [Fri, 24 Jul 2015 06:24:21 +0000 (08:24 +0200)]
hevcdsp: split the epel functions by width
This should allow for more efficient SIMD.
Anton Khirnov [Fri, 24 Jul 2015 06:24:21 +0000 (08:24 +0200)]
hevcdsp: split the qpel functions by width instead of by the subpixel fraction
This should allow for more efficient SIMD.
Keep the C versions as they are now, to allow the compiler to inline the
interpolation coefficients.
Luca Barbato [Sat, 5 Dec 2015 12:45:01 +0000 (13:45 +0100)]
log: Use a do {} while (0) for dlog
Avoid the warning `-Wempty-body`.
Luca Barbato [Sat, 5 Dec 2015 12:31:38 +0000 (13:31 +0100)]
imgconvert: Re-enable the deprecation warnings
The end-marked was typoed in
f7edcac040f73635fc1127489c9bb29ca8b43532
Luca Barbato [Thu, 26 Nov 2015 15:10:54 +0000 (16:10 +0100)]
avpicture: Suppress warning from deprecated code
Luca Barbato [Sat, 28 Nov 2015 11:28:21 +0000 (12:28 +0100)]
aac: Provide more information on the failure message
Bug-Id: 761
Luca Barbato [Wed, 2 Dec 2015 23:31:30 +0000 (00:31 +0100)]
g723: Add missing header
Unbreak make check.
Martin Storsjö [Tue, 1 Dec 2015 08:14:00 +0000 (10:14 +0200)]
configure: Add -framework CoreVideo when building the avfoundation indev
This fixes builds with --disable-vda, which previously failed with
undefined references to CVImageBuffer* and CVPixelBuffer* functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kylie McClain [Mon, 23 Nov 2015 19:06:50 +0000 (14:06 -0500)]
configure: Replace `pr` since it is not provided by busybox
While pr is a valid POSIX.1 command, its usage in configure
is a little borderline and is possible to replace it with
printf.
Bug-Id: 913
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Sat, 28 Nov 2015 20:06:11 +0000 (21:06 +0100)]
avi: Spin out the logic to position to the next non-interleaved stream
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Thu, 26 Nov 2015 16:15:09 +0000 (17:15 +0100)]
build: Move -Wcast-qual to the extra_warnings
It amounts to about 1/2 of the warnings generated and does not help
spotting anything useful.
Michael Niedermayer [Sat, 28 Nov 2015 20:06:45 +0000 (21:06 +0100)]
avi: Validate the stream-id for DV as well
Avoid false positives while syncing.
Bug-Id: ffmpeg/4086
Bug-Id: 879
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Sat, 28 Nov 2015 13:43:17 +0000 (14:43 +0100)]
avi: Use the correct data type
avio_tell returns an int64_t.
Vittorio Giovara [Tue, 24 Nov 2015 19:43:01 +0000 (14:43 -0500)]
vsrc_color: Drop unneeded variable
Bug-Id: CID
1339818
Mohamed Naufal [Thu, 12 Nov 2015 13:53:26 +0000 (14:53 +0100)]
lavf: G.723.1 muxer
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Mohamed Naufal [Mon, 23 Nov 2015 22:10:54 +0000 (17:10 -0500)]
lavc: G.723.1 encoder
Additional improvements by Michael Niedermayer <michaelni@gmx.at>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Mon, 23 Nov 2015 22:10:53 +0000 (17:10 -0500)]
g723_1: Move sharable functions to a separate file
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Mon, 23 Nov 2015 22:10:52 +0000 (17:10 -0500)]
g723_1: Rename files to better reflect their purpose
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Michael Niedermayer [Mon, 23 Nov 2015 22:10:51 +0000 (17:10 -0500)]
g723_1: Handle values at the ends of the table in lsp2lpc()
Fixes out of array reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Luca Barbato [Sat, 31 Oct 2015 18:45:27 +0000 (19:45 +0100)]
matroska: Warn when metadata references a non-existent element
Avoid some confusion when the information is not present.
Bug-Id: 902
Luca Barbato [Sun, 18 Oct 2015 21:44:25 +0000 (23:44 +0200)]
dvenc: Validate the frame size before copying it
Petri Hintukainen [Thu, 26 Nov 2015 08:33:42 +0000 (10:33 +0200)]
pgssubdec: fix API compability layer
Copy pointers to AVPicture after memory has been allocated.
Fixes NULL pointers in AVPicture after
a17a7661906ba295d67afd80ac0770422e1b02b3.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Tue, 24 Nov 2015 01:19:42 +0000 (02:19 +0100)]
doc: Amend the MSYS2 Documentation
Explain better which environment is discouraged and mention the
shortcuts names.
Alexandre Lision [Mon, 23 Nov 2015 22:08:50 +0000 (17:08 -0500)]
avfoundation: Simple capture
Originally based on the capture written by
Thilo Borgmann <thilo.borgmann@mail.de>.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Mon, 23 Nov 2015 22:08:49 +0000 (17:08 -0500)]
configure: ObjC support
Assume that the default C compiler and the default ObjC compiler match
(default for OSX).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Tue, 24 Nov 2015 00:25:04 +0000 (01:25 +0100)]
nut: Mark non-fatal errors as warnings
And make one more informative.
Luca Barbato [Tue, 24 Nov 2015 00:24:47 +0000 (01:24 +0100)]
nut: Provide more information on failure
Luca Barbato [Tue, 24 Nov 2015 00:13:00 +0000 (01:13 +0100)]
rtsp: Log getaddrinfo failures
And forward the logging contexts when needed.
Luca Barbato [Tue, 24 Nov 2015 00:11:56 +0000 (01:11 +0100)]
udp: Provide additional information on getaddrinfo failure
Luca Barbato [Tue, 24 Nov 2015 00:09:33 +0000 (01:09 +0100)]
udp: Use the logging context
Luca Barbato [Mon, 23 Nov 2015 22:57:47 +0000 (23:57 +0100)]
rtsp: Do not assume getnameinfo cannot fail
And properly report the error when it happens.
Michael Niedermayer [Mon, 23 Nov 2015 13:25:41 +0000 (14:25 +0100)]
movenc-test: Fix integer overflows
Signed-off-by: Martin Storsjö <martin@martin.st>
Vittorio Giovara [Mon, 23 Nov 2015 22:02:19 +0000 (17:02 -0500)]
texturedsp: Explicitly cast RGBA parameters to unsigned
Silences warnings when using -Wshift-overflow (GCC 6+).
Found-by: James Almer <jamrial@gmail.com>
Vittorio Giovara [Mon, 23 Nov 2015 22:02:18 +0000 (17:02 -0500)]
texturedspenc: Avoid using separate variables
Use the result directly, removing an unneeded cast.
Vittorio Giovara [Mon, 23 Nov 2015 22:02:17 +0000 (17:02 -0500)]
textureencdsp: cosmetics: Use normal static const for tables
Vittorio Giovara [Mon, 23 Nov 2015 23:56:09 +0000 (18:56 -0500)]
sgi: Correctly propagate meaningful error values
Vittorio Giovara [Fri, 20 Nov 2015 01:17:35 +0000 (02:17 +0100)]
fate: Rework sgi tests into a suite and add the missing ones
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Fri, 20 Nov 2015 01:17:34 +0000 (02:17 +0100)]
sgienc: Support encoding high bit depth images with RLE
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Fri, 20 Nov 2015 01:17:33 +0000 (02:17 +0100)]
sgienc: Use a local RLE encoding function
SGI RLE encoding is slighlty different than the one provided by rle
module (especially at high bit depth). The pixel count function however
does not change, so it is simply made library-public.
Vittorio Giovara [Fri, 20 Nov 2015 01:17:32 +0000 (02:17 +0100)]
sgienc: Port to bytestream2
Vittorio Giovara [Fri, 20 Nov 2015 01:17:31 +0000 (02:17 +0100)]
sgienc: Do not end RLE lines with 0s
This is never mentioned in the specifications, and decoders work
just as fine without it. Update the fate references since the compressed
file is smaller.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
James Zern [Tue, 20 Oct 2015 05:44:11 +0000 (22:44 -0700)]
libvpxenc: remove some unused ctrl id mappings
VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE were removed
from libvpx and the remaining values were never used here
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Zern <jzern@google.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Mon, 23 Nov 2015 12:05:09 +0000 (13:05 +0100)]
doc: Document better how to use MSYS2
Alexandra Hájková [Thu, 19 Nov 2015 13:25:41 +0000 (14:25 +0100)]
asfdec: handle the case when the stream index has an invalid value better
The demuxer returned INVALIDDATA and failed to demux the remaining data
when an invalid stream index was read, now it just skips the asf packet
for the stream with an invalid stream index and continues demuxing.
Reported-By: Hendrik Leppkes
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Tim Walker [Sat, 21 Nov 2015 23:02:37 +0000 (00:02 +0100)]
dcadec: Do not check for overreads in auxiliary data
The auxiliary data length field is not reliable,
and incorrect overread errors could be returned
for valid, real-world bitstreams.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Derek Buitenhuis [Sun, 22 Nov 2015 18:12:09 +0000 (18:12 +0000)]
oggparsespeex: Fix unchecked malloc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Sat, 21 Nov 2015 17:51:11 +0000 (18:51 +0100)]
configure: Clearly state that MSYS native builds are discouraged
MSYS, as per cygwin, by default uses a custom posix abstraction
in the form of a "msys2.dll". Programs build that way are harder to
distribute and use.
MSYS2 provides alternate launcher scripts that provide a MINGW
environment nearly out of box.
Vittorio Giovara [Thu, 19 Nov 2015 08:45:01 +0000 (09:45 +0100)]
lavc: Deprecate avctx.rtp_callback field
This function returns the encoded data of a frame, one slice at a time
directly when that slice is encoded, instead of waiting for the full
frame to be done. However this field has a debatable usefulness, since
it looks like it is just a convoluted way to get data at lowest
possible latency, or a somewhat hacky way to store h263 in RFC-2190
rtp encapsulation.
Moreover when multi-threading is enabled (which is by default) the order
of returned slices is not deterministic at all, making the use of this
function not reliable at all (or at the very least, more complicated
than it should be).
So, for the reasons stated above, and being used by only a single encoder
family (mpegvideo), this field is deemed unnecessary, overcomplicated,
and not really belonging to libavcodec. Libavformat features a complete
implementation of RFC-2190, for any other case.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Anton Khirnov [Sun, 8 Nov 2015 14:24:42 +0000 (15:24 +0100)]
doc/encoders: document the QSV option mappings
Anton Khirnov [Sun, 8 Nov 2015 06:58:49 +0000 (07:58 +0100)]
qsvenc: expose additional encoding options
Anton Khirnov [Sun, 8 Nov 2015 05:44:17 +0000 (06:44 +0100)]
qsvenc: support more RC methods
Anton Khirnov [Sat, 7 Nov 2015 19:50:41 +0000 (20:50 +0100)]
qsvenc: factor out common options
Anton Khirnov [Fri, 6 Nov 2015 12:29:34 +0000 (13:29 +0100)]
qsvenc: fix setting maxrate for VBR
Anton Khirnov [Fri, 6 Nov 2015 12:18:56 +0000 (13:18 +0100)]
qsvenc: print the actual video parameters used by MSDK