14:48
lavu/hwcontext_vaapi: drop a redundant check vaapi_get_image_format() will be called in vaapi_map_frame(). So it's a double check, drop it to avoid redundancy. Signed-off-by: nyanmisaka <nst799610810ⓐgmail.com> [DH] libavutil/hwcontext_vaapi.c
14:32
lavu/hwcontext_vaapi: fix a race mapping to allow CSC to YUV420P There's a race condition for YUV420P when mapping from pix_fmt to VA fourcc, both I420 and YV12 could be found by pix_fmt. Currently, vaapi_get_image_format() iterates over the query results of pix_fmt and returns the first matching result in the order declared in the driver. This may result in an incorrect image_format. Now use fourcc to find the image_format. Fixes: ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -i INPUT \\ -vf scale_vaapi=format=yuv420p,hwmap,format=yuv420p \\ -vframes 1 -f rawvideo -y yuv420p.yuv (...)
19:51
avfilter/vf_libplacebo: skip empty inputs It is possible for pl_queue_update() to return PL_QUEUE_OK, but to generate an empty frame mix. This happens if the first frame of that input is in the future. In this case, we should skip an input as not active, similar to inputs that have already reached EOF. [DH] libavfilter/vf_libplacebo.c
19:21
avfilter/vf_libplacebo: simplify unnecessary indirection in->idx is equal to the array index by definition, so just use the loop index directly. [DH] libavfilter/vf_libplacebo.c
19:18
avfilter/vf_libplacebo: whitelist properties on linear blend tex Instead of copying over the entire target and changing a few fields, set the entire struct to a whitelist of safe properties that we want to persist on the intermediate texture. In particular, this avoids leaking irrelevant state related to the acquire/release callbacks, e.g., which can otherwise cause deadlocks when the same vulkan frame is attempted to be acquired twice. [DH] libavfilter/vf_libplacebo.c
20:25
avfilter/vf_libplacebo: use the first visible input for metadata Instead of undconditionally using the first input. This covers the case of one layer fully obscuring another layer, in which case that should become the new "base" layer. [DH] libavfilter/vf_libplacebo.c
20:07
avfilter/vf_libplacebo: flush render cache when input is invisible This prevents leaking stale metadata from previous frames, for example if an overlay temporarily obscures this input and then un-obscures it again. It is worth pointing out that this does change the semantics subtly, because of the smoothing period on detected HDR metadata, but I argue that the new behavior is an improvement, as it will avoid leaking past metadata that is definitely no longer relevant after an image is unobscured. [DH] (...)
20:04
avfilter/vf_libplacebo: skip rendering fully invisible planes Sometimes, one input fully obscures another. In this case, we can skip actually rendering any input below the obscuring one. The reason I don't simply start the main render loop at `idx_start` will become apparent in the following commit. We can't use pl_frame_is_cropped() on this dummy frame, but we need to determine the reference frame before we can map the real output, so to resolve this conflict, we just reimplement the crop detection logic using the output link dimensions. [DH] (...)
13:47
configure: Fix build with MSVC The copyright message of cl.exe doesn't always begin with Microsoft, e.g., when local is Chinese. Fix regression since 53da090ab7b. [DH] configure
18:00
CODEOWNERS: add myself for libavcodec,avutil,swscale/ppc/ [DH] .forgejo/CODEOWNERS
15:57
lavc: bump minor version and add APIChanges entry for ProRes RAW [DH] doc/APIchanges [DH] libavcodec/version.h
09:49
CODEOWNERS: Add myself for VVC [DH] .forgejo/CODEOWNERS