| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
|
|
| |
And simplify and explain the expression.
Fault introduced in f3fdef108eb06b1e71b29152bf6822519e787efe
|
|
|
|
| |
It is always equal to nb_slice_ctx.
|
|
|
|
|
| |
This is more correct and avoids wasting space when frame threading is
used.
|
|
|
|
|
| |
This limit is now unnecessary, we can easily support an arbitrary number
of threads.
|
|
|
|
| |
Those should already be set to the correct values.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
It is not used for anything internally, just exported in the output
frames. So remove the indirection and set it directly in frame_start().
|
| |
|
| |
|
|
|
|
| |
It is no longer called from outside the h264 decoder.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This comment used to apply to code that was removed.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It is very fragile against fields being moved and hides what is actually
being copied. Copy all the fields explicitly instead.
|
| |
|
|
|
|
| |
This will allow decoupling the parser from the decoder.
|
|
|
|
|
| |
Make the SEI parsing independent of the H264Context, to allow
decoupling the parser from the decoder.
|
|
|
|
| |
This will allow decoupling the parser from the 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.
|
|
|
|
| |
It is no longer needed for anything.
|
| |
|
|
|
|
| |
This will allow decoupling the parser from the decoder.
|
|
|
|
| |
It is no longer necessary after 741b494fa8cd28a7d096349bac183893c236e3f9
|
|
|
|
|
| |
It has nothing to do with the reference count and so does not belong in
this function.
|
|
|
|
| |
Remove now unused ff_h264_decode_nal().
|
|
|
|
|
| |
Just pass through the bitstream as is. This is the same as what is done
for HEVC already.
|
| |
|
| |
|
|
|
|
|
|
| |
Avoid the clang warning
"warning: shifting a negative signed value is undefined"
|
|
|
|
|
|
| |
Avoid the clang warning
"warning: shifting a negative signed value is undefined"
|
|
|
|
|
|
|
|
|
|
|
| |
Modifying global header extradata in encode_frame is an API violation
and only happens to work currently because mov writes its header
at the end of the file.
Heavily based off of a patch from 2012 by Nicolas George.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
| |
|
|
|
|
|
|
|
| |
Right now they are the first encoders for those codecs in the list, so
they are selected when the caller requests a codec by id.
Since they require special treatment, they should not be selected by
default if there are other encoders (e.g. libx264/5) available.
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
| |
Only supported on VAAPI 0.36 and higher.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
|
|
|
|
|
|
|
| |
This can only be used if the input data happens to be laid out
exactly correctly.
This might not be supported on all encoders, so only enable it
with an option, but enable it automatically on raspberry pi,
where it is known to be supported.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The raspberry pi uses the alternative API/ABI for OMX; this makes
such builds incompatible with all the normal OpenMAX implementations.
Since this can't easily be detected at configure time (one can
build for raspberry pi's OMX just fine using the generic, pristine
Khronos OpenMAX IL headers, no need for their own extensions),
require a separate configure switch for it instead.
The broadcom host library can't be unloaded once loaded and started;
the deinit function that it provides is a no-op, and after started,
it has got background threads running, so dlclosing it makes it
crash.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
| |
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
| |
Signed-off-by: Martin Storsjö <martin@martin.st>
|