mpv/video
Niklas Haas 7f67a553f6 vo_gpu_next: don't allocate dr_buf as part of the AVBufferRef
Some decoders, notably hevcdec, will unconditionally memset() the entire
AVBufferRef based on the AVBufferRef size. This is bad news for us,
since it also overwrites our `struct dr_buf`.

Rewrite this code to make it more robust - keep track of the DR buf
metadata in a separate allocation instead. Has the unfortunate downside
of technically being undefined behavior if `opaque` is not at least 64
bits in size, though, but avoids this issue.

Maybe there's a better way for us to unconditionally keep track of DR
allocation metadata. I could try adding it into the `mp_image` itself.
Maybe on a rainy day. For now, this works.

Fixes #9949
Might fix #9526
2022-03-06 15:53:47 +01:00
..
decode vo_gpu: hwdec: load hwdec interops on-demand by default 2022-02-17 20:02:32 -08:00
filter vo_gpu: hwdec: load hwdec interops on-demand by default 2022-02-17 20:02:32 -08:00
out vo_gpu_next: don't allocate dr_buf as part of the AVBufferRef 2022-03-06 15:53:47 +01:00
csputils.c csputils: add mappings for DCI-P3 (ST.431-2) and P3-D65 (ST.432-1) 2020-12-30 20:03:54 +02:00
csputils.h csputils: add MP_CHROMA_TOPLEFT 2020-12-02 01:36:29 +01:00
cuda.c
d3d.c
d3d.h
fmt-conversion.c
fmt-conversion.h
hwdec.c vo_gpu: hwdec: load hwdec interops on-demand by default 2022-02-17 20:02:32 -08:00
hwdec.h vo_gpu: hwdec: load hwdec interops on-demand by default 2022-02-17 20:02:32 -08:00
image_loader.c
image_loader.h
image_writer.c image_writer: replace deprecated av_init_packet() 2022-01-10 22:56:52 +01:00
image_writer.h
img_format.c video: some concessions to big endian hosts 2020-06-17 19:44:45 +02:00
img_format.h
mp_image.c mp_image: fix mp_image_plane_w/h 2022-02-24 18:36:28 +01:00
mp_image.h mp_image: add dolbyvision metadata 2022-01-09 13:06:27 +01:00
mp_image_pool.c
mp_image_pool.h
repack.c osdep: rename MP_UNREACHABLE 2021-11-03 15:15:20 +01:00
repack.h
sws_utils.c sws_utils: work around libswscale corrupting memory yet again 2020-09-17 15:24:27 +02:00
sws_utils.h sws_utils: work around libswscale corrupting memory yet again 2020-09-17 15:24:27 +02:00
vaapi.c
vaapi.h
vdpau.c
vdpau.h
vdpau_functions.inc
vdpau_mixer.c
vdpau_mixer.h
zimg.c csputils: add MP_CHROMA_TOPLEFT 2020-12-02 01:36:29 +01:00
zimg.h zimg: add slice threading and use it by default 2020-07-15 22:59:17 +02:00