mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-04-19 00:50:23 +00:00
This is essentially a re-implementation of
https://patchwork.ffmpeg.org/project/ffmpeg/patch/20241005223955.54158-1-post@frankplowman.com/
That patch was not applied last time. Instead we opted to identify
issues which could be caused by invalid subpicture layouts and remedy
those issues where they manifest, either through error detection or code
hardening. This was primarily implemented in the set
https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=13381.
This has worked to some degree, however issues with subpicture layouts
continue to crop up from the fuzzer and I've fixed a number of bugs
related to subpicture layouts since then. I think it's best to return
to the initial plan and simply check if the subpicture layout is valid
initially.
This implementation is also lighter than the first time -- by doing a
bit more logic in pps_subpic_less_than_one_tile_slice, we are able to
store a tile_in_subpic map rather than a ctu_in_subpic map. This
reduces the size of the map to the point it becomes possible to allocate
it on the stack. Similar to
|
||
|---|---|---|
| .. | ||
| cabac.c | ||
| cabac.h | ||
| ctu.c | ||
| ctu.h | ||
| data.c | ||
| data.h | ||
| dec.c | ||
| dec.h | ||
| dsp.c | ||
| dsp.h | ||
| dsp_template.c | ||
| filter.c | ||
| filter.h | ||
| filter_template.c | ||
| inter.c | ||
| inter.h | ||
| inter_template.c | ||
| intra.c | ||
| intra.h | ||
| intra_template.c | ||
| intra_utils.c | ||
| itx_1d.c | ||
| itx_1d.h | ||
| Makefile | ||
| mvs.c | ||
| mvs.h | ||
| ps.c | ||
| ps.h | ||
| refs.c | ||
| refs.h | ||
| thread.c | ||
| thread.h | ||