- 02 Oct, 2016 1 commit
-
-
Anton Khirnov authored
Bug-Id: 966
-
- 03 Aug, 2016 1 commit
-
-
Anton Khirnov authored
Fixes hwaccel decoding of files with multiple slices. Found-By: Mark Thompson <sw@jkqxz.net>
-
- 20 Jul, 2016 3 commits
-
-
Anton Khirnov authored
Found-By: Jan Ruge <jan.s.ruge@gmail.com> Bug-Id: 952
-
Anton Khirnov authored
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
-
Anton Khirnov authored
It does not break anything currently, but should not be done anyway.
-
- 15 Jul, 2016 2 commits
-
-
Anton Khirnov authored
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.
-
Anton Khirnov authored
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().
-
- 21 Jun, 2016 12 commits
-
-
Anton Khirnov authored
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.
-
Anton Khirnov authored
Going through the whole decoder initialization process for a slice we are not going to decode is unnecessary and potentially dangerous.
-
Anton Khirnov authored
This is a more appropriate place for it.
-
Anton Khirnov authored
-
Anton Khirnov authored
Those are unused remnants of the old SVQ3 code.
-
Anton Khirnov authored
This will prevent conflicts e.g. in code that deals with both h264 and hevc.
-
Anton Khirnov authored
The PS parsing code is independent from the decoder, so it makes more sense for it to have its own separate header.
-
Anton Khirnov authored
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.
-
Anton Khirnov authored
This is more consistent with the naming of other decoders.
-
Anton Khirnov authored
Right now this code is mixed with selecting the next output frame. Move it to a separate function called from h264_field_start(), which is a more appropriate place for this.
-
Anton Khirnov authored
-
Anton Khirnov authored
Replace the decoder-global nal_unit_type/nal_ref_idc variables with the per-NAL ones. The decoder-global ones still cannot be removed because they are used by hwaccels.
-
- 17 Jun, 2016 1 commit
-
-
Vittorio Giovara authored
-
- 04 May, 2016 1 commit
-
-
Vittorio Giovara authored
Signed-off-by: Diego Biurrun <diego@biurrun.de>
-
- 03 May, 2016 1 commit
-
-
Diego Biurrun authored
-
- 24 Apr, 2016 18 commits
-
-
Anton Khirnov authored
It is always equal to nb_slice_ctx.
-
Anton Khirnov authored
This is more correct and avoids wasting space when frame threading is used.
-
Anton Khirnov authored
This limit is now unnecessary, we can easily support an arbitrary number of threads.
-
Anton Khirnov authored
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.
-
Anton Khirnov authored
It is not used for anything internally, just exported in the output frames. So remove the indirection and set it directly in frame_start().
-
Anton Khirnov authored
-
Anton Khirnov authored
It is no longer called from outside the h264 decoder.
-
Anton Khirnov authored
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.
-
Anton Khirnov authored
This comment used to apply to code that was removed.
-
Anton Khirnov authored
-
Anton Khirnov authored
This will allow decoupling the parser from the decoder.
-
Anton Khirnov authored
Make the SEI parsing independent of the H264Context, to allow decoupling the parser from the decoder.
-
Anton Khirnov authored
This will allow decoupling the parser from the decoder.
-
Anton Khirnov authored
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.
-
Anton Khirnov authored
This will allow decoupling the parser from the decoder.
-
Anton Khirnov authored
It is no longer necessary after 741b494f
-
Anton Khirnov authored
It has nothing to do with the reference count and so does not belong in this function.
-
Anton Khirnov authored
Remove now unused ff_h264_decode_nal().
-