wm4
84bba36846
configure: fix mmal build dependencies
...
The mmal decoders do not depend on the software decoders.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-30 08:27:48 +02:00
wm4
ce589940c2
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>
2016-04-30 08:26:22 +02:00
wm4
46aaad78c3
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>
2016-04-30 08:19:58 +02:00
wm4
9a382f3639
mmaldec: add vc1 decoding support
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-30 08:19:53 +02:00
Julian Scheel
d52208e8d5
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>
2016-04-30 08:11:13 +02:00
Julian Scheel
2689bb115c
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>
2016-04-30 08:00:58 +02:00
Michael Niedermayer
366ba2dee1
mmaldec: Use av_assert0() instead of assert()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-30 08:00:02 +02:00
Diego Biurrun
f2422b5875
testprogs: Mark some tables as static const
2016-04-29 16:21:23 +02:00
Diego Biurrun
5b1409c755
fate: Add test for MSS1
2016-04-27 11:57:45 +02:00
Vittorio Giovara
4b2e69397b
dds: Add support for monochrome images
2016-04-26 16:30:18 -04:00
Vittorio Giovara
6eb2505855
dds: Drop gray-alpha swapping
...
The original sample was generated with invalid software.
2016-04-26 16:30:04 -04:00
Martin Storsjö
39cdbb12aa
dxva2_h264: Unbreak compilation after 3176217c6
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-25 22:44:59 +03:00
Luca Barbato
4012fe1ee8
ape: Unbreak adaptcoeffs computation
...
And simplify and explain the expression.
Fault introduced in f3fdef108e
2016-04-24 10:18:25 +02:00
Anton Khirnov
2e5bde9565
h264: eliminate max_contexts
...
It is always equal to nb_slice_ctx.
2016-04-24 10:06:25 +02:00
Anton Khirnov
e3c9041cfe
h264: allocate some tables per slice contexts, not threads
...
This is more correct and avoids wasting space when frame threading is
used.
2016-04-24 10:06:25 +02:00
Anton Khirnov
e065279529
h264: remove an artificial restriction on the number of slice threads
...
This limit is now unnecessary, we can easily support an arbitrary number
of threads.
2016-04-24 10:06:25 +02:00
Anton Khirnov
4fd34e639d
h264: remove pointless setting of some variables in loop_filter
...
Those should already be set to the correct values.
2016-04-24 10:06:25 +02:00
Anton Khirnov
9c858ce33f
h264: remove a pointless comment
2016-04-24 10:06:25 +02:00
Anton Khirnov
b77fffa127
h264: make slice threading work with deblocking_filter=1
...
In such a case, decode the MBs in parallel without the loop filter, then
execute the filter serially.
The ref2frm array was previously moved to H264SliceContext. That was
incorrect, since it applies to all the slices and should properly be in
H264Context (it did not actually break decoding, since this distinction
only becomes relevant with slice threading and deblocking_filter=1,
which was not implemented before this commit). The ref2frm array is thus
moved back to H264Context.
2016-04-24 10:06:25 +02:00
Anton Khirnov
370ddc7b38
h264: remove H264Context.pict_type
...
It is not used for anything internally, just exported in the output
frames. So remove the indirection and set it directly in frame_start().
2016-04-24 10:06:25 +02:00
Anton Khirnov
56087ec0a2
h264: drop a pointless indirection
2016-04-24 10:06:25 +02:00
Anton Khirnov
0e7772c5e4
h264: remove unused H264SliceContext.rbsp_buffer
2016-04-24 10:06:25 +02:00
Anton Khirnov
7f045c4429
h264: merge ff_h264_free_context() into h264_decode_end()
...
It is no longer called from outside the h264 decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
99c554efc8
h264: eliminate low_delay
...
It is always unconditionally initialized in decode_postinit() and then
immediately used in one place further below. All the other places where
it is accessed are just useless fluff.
2016-04-24 10:06:24 +02:00
Anton Khirnov
5b35b290dd
h264: remove a stale comment
...
This comment used to apply to code that was removed.
2016-04-24 10:06:24 +02:00
Anton Khirnov
89ae244e78
h264_refs: remove an unused parameter from ff_h264_fill_mbaff_ref_list()
2016-04-24 10:06:24 +02:00
Anton Khirnov
755f79f84c
h264_refs: make the H264Context const where possible
2016-04-24 10:06:24 +02:00
Anton Khirnov
a2fd547839
h264_refs: reorder functions to avoid forward declarations
2016-04-24 10:06:24 +02:00
Anton Khirnov
0ba471d7d8
h264: eliminate copy_fields
...
It is very fragile against fields being moved and hides what is actually
being copied. Copy all the fields explicitly instead.
2016-04-24 10:06:24 +02:00
Anton Khirnov
72da8d9bb2
h264_parser: remove the remaining dependencies on the h264 decoder
2016-04-24 10:06:24 +02:00
Anton Khirnov
98c97994c5
h264: decouple extradata parsing from the decoder
...
This will allow decoupling the parser from the decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
728d90a0c1
h264: decouple h264_sei from the h264 decoder
...
Make the SEI parsing independent of the H264Context, to allow
decoupling the parser from the decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
c8dcff0cdb
h264: factor out calculating the POC count into a separate file
...
This will allow decoupling the parser from the decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
113aeee6ae
h264_parser: move the H264DSPContext to the parser context
2016-04-24 10:06:24 +02:00
Anton Khirnov
3176217c60
h264: decouple h264_ps from the h264 decoder
...
Make the SPS/PPS parsing independent of the H264Context, to allow
decoupling the parser from the decoder. The change is modelled after the
one done earlier for HEVC.
Move the dequant buffers to the PPS to avoid complex checks whether they
changed and an expensive copy for frame threads.
2016-04-24 10:06:23 +02:00
Anton Khirnov
44d16df413
h264_parser: eliminate H264SliceContext usage
...
It is no longer needed for anything.
2016-04-24 10:06:23 +02:00
Anton Khirnov
71d3305c27
h264_parse: make sure the ref count is zeroed on all failure paths
2016-04-24 10:06:23 +02:00
Anton Khirnov
a6e27f7add
h264: factor out parsing the reference count into a separate file
...
This will allow decoupling the parser from the decoder.
2016-04-24 10:06:23 +02:00
Anton Khirnov
56b17a33f2
h264: stop testing whether the reference count changes in ff_set_ref_count()
...
It is no longer necessary after 741b494fa8
2016-04-24 10:06:23 +02:00
Anton Khirnov
e9f884416c
h264: move reading direct_spatial_mv_pred out of ff_set_ref_count()
...
It has nothing to do with the reference count and so does not belong in
this function.
2016-04-24 10:06:23 +02:00
Anton Khirnov
8d0cc8ca97
h264_parser: switch to h2645_parse for NAL unescaping
...
Remove now unused ff_h264_decode_nal().
2016-04-24 10:06:23 +02:00
Anton Khirnov
f3ed484953
h264_mp4toannexb_bsf: do not fail on annex B extradata
...
Just pass through the bitstream as is. This is the same as what is done
for HEVC already.
2016-04-24 10:06:23 +02:00
Vittorio Giovara
5fca95c8e5
libx264: Forbid inverted Stereo3D mode
2016-04-21 12:25:42 -04:00
Vittorio Giovara
9e2af0e907
libx264: Allow Stereo3D monoscopic value
2016-04-21 12:24:35 -04:00
Diego Biurrun
a08b5d7b57
build: Silence the lcov-reset target
2016-04-21 14:29:43 +02:00
Martin Storsjö
75b90ef722
libavformat: Update the comment about AVOutputFormat flags
...
Add a flag which applies here, which had been missed.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-21 11:20:46 +03:00
Martin Storsjö
74383def8f
movenc: Handle pts == NOPTS when autoflushing
...
This muxer generally handles pts == NOPTS by using dts instead;
do this for consistency here as well.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-21 11:20:39 +03:00
Martin Storsjö
0abb07bad7
movenc: Update a comment to reflect how the code actually behaves
...
This codepath isn't quite as bad as it used to sound, if fragments
are cut automatically at video packets.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-04-19 22:43:00 +03:00
Luca Barbato
79fdbfdb3e
img2enc: Refactor the atomic renaming code
...
And use it for the separate-plane side-feature as well.
Bug-Id: 935
2016-04-19 20:30:48 +02:00
Luca Barbato
f3fdef108e
ape: Avoid undefined behaviour
...
Avoid the clang warning
"warning: shifting a negative signed value is undefined"
2016-04-19 20:22:31 +02:00