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.
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>
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>
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>
Anton Khirnov [Fri, 13 May 2016 07:43:51 +0000 (09:43 +0200)]
nvenc: list the major contributors in the copyright header
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>
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>.
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
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>.
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>.
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>
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>
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>
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>
Anton Khirnov [Thu, 12 May 2016 06:23:06 +0000 (08:23 +0200)]
nvenc: fix the rc option definitions
Anton Khirnov [Mon, 16 May 2016 13:52:37 +0000 (15:52 +0200)]
Add release notes for 12.
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>
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.
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.
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.
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.
Diego Biurrun [Tue, 17 May 2016 13:16:53 +0000 (15:16 +0200)]
xtea-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
Diego Biurrun [Tue, 17 May 2016 18:44:04 +0000 (20:44 +0200)]
blowfish-test: Return different values for different errors
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Vittorio Giovara [Thu, 21 Apr 2016 21:24:08 +0000 (17:24 -0400)]
avprobe: Print stereo3d information
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.
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>
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>
Diego Biurrun [Wed, 11 May 2016 13:26:02 +0000 (15:26 +0200)]
tools: Port to codec parameters API
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>
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>
Anton Khirnov [Sun, 1 May 2016 17:19:17 +0000 (19:19 +0200)]
avconv_dxva2: use the hwcontext API
Anton Khirnov [Thu, 31 Mar 2016 11:12:41 +0000 (13:12 +0200)]
hwcontext: add a dxva2 implementation
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>
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>
Anton Khirnov [Sat, 14 May 2016 11:45:05 +0000 (13:45 +0200)]
lavc: mark the old audio/video encoding API as deprecated
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>
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>
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>
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>
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
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.
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.
Diego Biurrun [Wed, 20 Apr 2016 09:40:40 +0000 (11:40 +0200)]
tests: Move all test programs to a subdirectory
Diego Biurrun [Wed, 11 May 2016 10:03:34 +0000 (12:03 +0200)]
Split global .gitignore file into per-directory files
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.
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.
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>
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>
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>
Jan Ekström [Sun, 24 Apr 2016 18:33:45 +0000 (20:33 +0200)]
pgssub: Fix subpicture colorspace and range
Widen the values from limited to full range and use BT.709 where it
should be used according to the video resolution:
SD is BT.601, HD is BT.709
Default to BT.709 due to most observed HDMV content being HD.
Jan Ekström [Sun, 24 Apr 2016 18:30:06 +0000 (20:30 +0200)]
colorspace: Add support for BT709
BT.709 coefficients were gathered from the first two parts of BT.709
to BT.2020 conversion guide in ARIB STD-B62 (Pt. 1, Chapter 6.2.2).
They were additionally confirmed by manually calculating values.
Michael Niedermayer [Sun, 8 May 2016 18:55:40 +0000 (21:55 +0300)]
simple_idct_template: Fix strict aliasing violation
This fixes fate-wmv8-intrax8 in certain configurations, e.g.
gcc 4.4.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 4 May 2016 14:00:52 +0000 (17:00 +0300)]
avio: Remove a leftover comment
The declarations that this comment referred to were removed
in
2439f2ca8 - there is no unbuffered IO in this header now.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 11 Nov 2015 16:38:43 +0000 (17:38 +0100)]
Mark read-only tables as static
Diego Biurrun [Mon, 2 May 2016 05:34:35 +0000 (07:34 +0200)]
configure: Document --enable-libfontconfig
Diego Biurrun [Tue, 3 May 2016 13:24:17 +0000 (15:24 +0200)]
vf_frei0r: Drop overly verbose and broken debug output
Vittorio Giovara [Wed, 27 Apr 2016 17:45:23 +0000 (13:45 -0400)]
cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Alexandra Hájková [Sat, 23 Apr 2016 14:44:11 +0000 (16:44 +0200)]
Remove unnecessary get_bits.h #includes and add missing headers where needed.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Tue, 3 May 2016 12:32:08 +0000 (14:32 +0200)]
h264: Drop broken trace debug output
Diego Biurrun [Thu, 14 Apr 2016 16:25:35 +0000 (18:25 +0200)]
vaapi: Drop pointless debug output
Diego Biurrun [Thu, 14 Apr 2016 16:25:16 +0000 (18:25 +0200)]
libopencore-amr: Fix ff_dlog()/av_log() invocations
Diego Biurrun [Thu, 14 Apr 2016 16:24:51 +0000 (18:24 +0200)]
Drop pointless assert.h #includes
Luca Barbato [Wed, 17 Feb 2016 01:16:42 +0000 (02:16 +0100)]
mpegts: Validate the SL Packet Header Configuration
timeStampLength, OCRLength and AU_Length have well specified upper
boundaries.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diego Biurrun [Fri, 22 Apr 2016 16:59:43 +0000 (18:59 +0200)]
fate: Add test for MTS2/MSS4
Martin Storsjö [Wed, 27 Apr 2016 11:36:57 +0000 (14:36 +0300)]
rtpdec_vp9: Support parsing the scalability structure
We still only support one single layer though, but this allows
receiving streams that have this structure present even for
single layer streams.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 29 Apr 2016 19:19:33 +0000 (22:19 +0300)]
rtpdec_h264: Use avpriv_report_missing_feature instead of a manual av_log
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 29 Apr 2016 17:37:24 +0000 (20:37 +0300)]
rtpdec: Use AVERROR_PATCHWELCOME instead of AVERROR(ENOSYS) for unimplemented features
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 27 Apr 2016 11:36:24 +0000 (14:36 +0300)]
rtpdec_vp9: Update header parsing to spec draft 02
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 27 Apr 2016 11:03:18 +0000 (14:03 +0300)]
rtpdec_vp9: Make sure to free the temp buffer on close
Signed-off-by: Martin Storsjö <martin@martin.st>
Janne Grunau [Sat, 30 Apr 2016 14:05:32 +0000 (16:05 +0200)]
Revert "mmaldec: autodetect by default" since it breaks linking on systems without mmal libraries
This reverts commit
33ac77e850efdfd0e8835950c3d947baffd4df45.
wm4 [Thu, 14 Apr 2016 10:21:27 +0000 (12:21 +0200)]
mmaldec: autodetect by default
It qualifies as a system library.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Thu, 14 Apr 2016 10:21:26 +0000 (12:21 +0200)]
mmaldec: limit internal buffering
This uses a new MMAL feature, which limits the number of extra frames
that can be buffered within the decoder. VIDEO_MAX_NUM_CALLBACKS can
be defined as positive or negative number. Positive numbers are
absolute, and can lead to deadlocks if the user underestimates the
number of required buffers. Negative numbers specify the number of extra
buffers, e.g. -1 means no extra buffer, (-1-N) means N extra buffers.
Set a gratuitous default of -11 (N=10). This is much lower than the
firmware default, which appears to be 96.
This is backwards compatible, but needs a symbol only present in newer
firmware headers. (It's an enum item, so it requires a check in
configure.)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Thu, 14 Apr 2016 10:21:24 +0000 (12:21 +0200)]
mmaldec: print the MMAL format FourCC automatically
Slight simplification. The result is the same. Also, change the
wording of the message as requested in patch review.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Thu, 14 Apr 2016 10:21:23 +0000 (12:21 +0200)]
configure: fix mmal build dependencies
The mmal decoders do not depend on the software decoders.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Thu, 14 Apr 2016 10:21:22 +0000 (12:21 +0200)]
mmaldec: send only a single EOS packet on flushing
Fixes apparent mmal_port_disable() freezes in ffmmal_stop_decoder() when
calling ffmmal_decode() with flush semantics a large number of times in
a row.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Thu, 14 Apr 2016 10:21:21 +0000 (12:21 +0200)]
mmaldec: correct package buffering accounting
The assert in ffmmal_stop_decoder() could trigger sometimes. The
packets_buffered counter was indeed not correctly maintained, and
packets were not subtracted from it if they were still in the waiting
queue.
For some reason, this happened especially with VC-1.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Thu, 14 Apr 2016 10:21:20 +0000 (12:21 +0200)]
mmaldec: add vc1 decoding support
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Julian Scheel [Thu, 14 Apr 2016 10:21:19 +0000 (12:21 +0200)]
mmaldec: Add mpeg2 decoding support
Register mmaldec as mpeg2 decoder. Supporting mpeg2 in mmaldec is just a
matter of setting the correct MMAL_ENCODING on the input port. To ease the
addition of further supported mmal codecs a macro is introduced to generate
the decoder and decoder class structs.
Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Julian Scheel [Thu, 14 Apr 2016 10:21:18 +0000 (12:21 +0200)]
mmaldec: Fix avpriv_atomic_get usage
There is no avpriv_atomic_get, instead avpriv_atomic_int_get is to be used for
integers. This fixes building mmaldec.
Signed-off-by: Julian Scheel <julian@jusst.de>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Michael Niedermayer [Thu, 14 Apr 2016 10:21:17 +0000 (12:21 +0200)]
mmaldec: Use av_assert0() instead of assert()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Thu, 7 Apr 2016 16:52:10 +0000 (18:52 +0200)]
testprogs: Mark some tables as static const
Diego Biurrun [Sat, 16 Apr 2016 16:06:16 +0000 (18:06 +0200)]
fate: Add test for MSS1
Vittorio Giovara [Fri, 22 Apr 2016 21:28:04 +0000 (17:28 -0400)]
dds: Add support for monochrome images