| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This includes a pointer to the associated hwaccel for decoders using
hwaccels - these will be used later to implement the hwaccel setup
without needing a global list.
Also added is a new file listing all hwaccels as external declarations -
this will be used later to generate the hwaccel list at configure time.
|
|
|
|
|
|
|
|
|
|
| |
Do not use the one in the SEI directly as that is reset at certain
points.
Inspired by patches from Michael Niedermayer <michaelni@gmx.at> and
Anton Mitrofanov <BugMaster@narod.ru>.
CC: libav-stable@libav.org
|
|
|
|
|
|
|
|
| |
It might be incorrectly set to 1 if the previous call exited with an
error.
Bug-Id: 1019
CC: libav-stable@libav.org
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current condition can trigger in cases where it shouldn't, with
unexpected results.
Make sure that:
- container cropping is really based on the original dimensions from the
caller
- those dimenions are discarded on size change
The code is still quite hacky and eventually should be deprecated and
removed, with the decision about which cropping is used delegated to the
caller.
|
|
|
|
| |
It is not called from outside h264dec.c anymore.
|
|
|
|
|
|
|
|
| |
Calling ff_h264_field_end() when the per-field state is not properly
initialized leads to all kinds of undefined behaviour.
CC: libav-stable@libav.org
Bug-Id: 977 978 992
|
| |
|
|
|
|
| |
Bug-Id: 966
|
|
|
|
|
|
| |
Fixes hwaccel decoding of files with multiple slices.
Found-By: Mark Thompson <sw@jkqxz.net>
|
|
|
|
|
| |
Found-By: Jan Ruge <jan.s.ruge@gmail.com>
Bug-Id: 952
|
|
|
|
|
|
|
|
| |
The current code will ignore the init_get_bits() failure and do an
invalid read from the uninitialized GetBitContext.
Found-By: Jan Ruge <jan.s.ruge@gmail.com>
Bug-Id: 952
|
|
|
|
| |
It does not break anything currently, but should not be done anyway.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we only know whether a NAL unit corresponds to a new field after
parsing the slice header, this requires reorganizing the calls to slice
parsing, per-slice/field/frame init and actual decoding.
In the previous code, the function for slice header decoding also
immediately started a new field/frame as necessary, so any slices
already queued for decoding would no longer be decodable.
After this patch, we first parse the slice header, and if we determine
that a new field needs to be started we decode all the queued slices.
|
|
|
|
|
|
|
|
| |
This function's purpose is not very well defined. Currently it does two
(only marginally related) things: selecting the next output frame and
calling ff_thread_finish_setup() for frame threading. The first of those
more properly belongs under field_start(), while the second can be
called directly from decode_nal_units().
|
|
|
|
|
|
| |
This is a more appropriate place for this. H264Context.recovery_frame is
shared between frame threads, so modifying it where it is right now is
invalid.
|
|
|
|
|
| |
Going through the whole decoder initialization process for a slice we
are not going to decode is unnecessary and potentially dangerous.
|
|
|
|
| |
This is a more appropriate place for it.
|
| |
|
|
|
|
| |
Those are unused remnants of the old SVQ3 code.
|
|
|
|
|
| |
This will prevent conflicts e.g. in code that deals with both h264 and
hevc.
|
|
|
|
|
| |
The PS parsing code is independent from the decoder, so it makes more
sense for it to have its own separate header.
|
|
|
|
|
|
| |
Move the NAL unit types into it. This will allow to stop including the
whole decoder-specific h264dec.h in some code that is unrelated to the
decoder and only needs some enum values.
|
|
This is more consistent with the naming of other decoders.
|