- Jun 04, 2022
-
-
We can safely go down the code, it will return the same value as we did: - next is NULL - sys->displayed.date is VLC_TICK_INVALID since it's the first picture
-
They all return vlc_tick_now() + VOUT_REDISPLAY_DELAY eventually.
-
-
We can do the actual test directly
-
And keep the comment for now.
-
-
-
-
-
All other code pathes return before reaching this code.
-
And always return as render_now is always true here.
-
next cannot be NULL here.
-
It's in each section before.
-
To be removed next.
-
It's most likely wrong to display a forced picture right away. But for now the code is equivalent.
-
It's already true by default.
-
We return with VOUT_REDISPLAY_DELAY before that.
-
- We can't get in this code with next != NULL. - We can't get in this code with first, because next is NULL, we exited earlier
-
The code is logically equivalent. It will allow some simplifications later.
-
We can only reach this code with next = NULL, therefore first can only be false and refresh has its default value "false". So this test is always true.
-
date_refresh was always VLC_TICK_MAX
-
This will allow some simplifications
-
Fix a possible interrupt miss if vlc_credential_get() receive an interruption and if access don't check vlc_killed() before doing I/O. Refs #27027
-
Refs #27027
-
No functional changes. Refs #27027
-
- Jun 03, 2022
-
-
This refernces uint32_t without include, breaking this header if included before others.
-
Straightforward. Since pl_icc_profile_compute_signature is fast, we can call it on every frame without real worry. This is usually only relevant for still images anyways.
-
This is mainly designed to enable the use case brought forth by demux/image.c, which forwards this metadata to the decoded blocks, which in turn get forwarded through the rawvideo decoder.
-
It might be cleaner to somehow enumerate all ancillaries and forward them to the block. But for now, just do it for ICC profiles specifically.
-
Current libpng always has, and hopefully, always will return uncompressed ICC profiles, denoted with PNG_COMPRESSION_TYPE_BASE.
-
This implementation relies on the helper function jpeg_read_icc_profile which was introduced in libjpeg-turbo v1.5.90. Its absence from other versions of libjpeg means we may wish to copy this helper function into our own code in the future. But for now, keep it simple and avoid unnecessary bloat.
-
-
We store the ICC profile as part of the (ancillary) data allocation, using a trailing unsized array. This is because we need to copy it in and out of various libraries anyway, to avoid having to expose things like AVBufferRef. The (as of writing) current ICC specification can be found at https://www.color.org/specification/ICC.1-2022-05.pdf
-
Document that the function must be called with a context enabled. Even if most low-level implementation will allow getting an address without a context, so as to keep the same symbol across contexts, some other common implementations like glfw[^1] will require an active context. [^1]: https://www.glfw.org/docs/3.3/group__context.html#ga35f1837e6f666781842483937612f163
-
With OpenGL callback and glfw as a provider, it leads to a failure.
-
The Linux fbdev subsystem has been deprecated for more than a decade as there are better options available now.
-
Steve Lhomme authored
When we go in the `(next != NULL)` section, we have a new picture to render. We need to wait until its "refresh" date to start the rendering. It doesn't matter if there was a picture shown before that one. The code is almost the same as before where dropped_current_frame was almost always true. The only time it was false was: * first picture and next is not NULL (first pic & next NULL is impossible here) * not first picture and next is NULL So the new code only changes the case where it is the "first picture and next is not NULL". But in that case, first was true and therefore the test was not passing, just like now. It is logically equivalent to the code before. But now it's clear that when we don't have a next picture we request a redisplay (of displayed.current).
-
Steve Lhomme authored
We don't release the picture because there's dropped_current_frame. We have to release it because we're replacing the value and we were holding the picture in there.
-
- Jun 02, 2022
-
-
We don't need 14 different durations Values are aligned on Kirigami definitions
-
we don't need two levels of bindings for constant. if developers need to test different values, they can adjust them manually
-