Commits on Source (4)
-
The video context must not be destroyed while the interop is alive.
0095945c -
The vout is created first, based on the input format. Then filters (filter_t) could be added, possibly producing pictures in a different format. input ---> filters ---> MISMATCH [I420] vout I420 RGBA To avoid a mismatch between the output of the last filter and the expected format of the vout input, a converter was added when necessary to compensate: input ---> filters ---> converter ---> [I420] vout I420 RGBA I420 But this was often a waste, and it caused problems for opaque formats. Instead, request the vout to adapt itself to the actual format produced by the last filter. If it can, we can avoid an additional converter. input ---> filters ---> MISMATCH [I420] vout I420 RGBA input ---> filters ------------------> [RGBA] vout I420 RGBA If the vout does not support the new format (or does not accept to update its format), a converter is still added like before. Co-authored-by:
Alexandre Janniaux <ajanni@videolabs.io>
e831af37 -
The core is not ready to support size changes via the "update format" mechanism. Attempt to update the vout format only when the only difference between the old and new format is the chroma. Refs #1021
4da11af9 -
If the core requests to change the vout format (because it added filters having a different format), recreate the interop and the filters to accept the new format without an additional converter.
adcec0ed
Showing
- include/vlc_vout_display.h 12 additions, 0 deletionsinclude/vlc_vout_display.h
- modules/video_output/caopengllayer.m 1 addition, 1 deletionmodules/video_output/caopengllayer.m
- modules/video_output/macosx.m 1 addition, 1 deletionmodules/video_output/macosx.m
- modules/video_output/opengl/display.c 36 additions, 1 deletionmodules/video_output/opengl/display.c
- modules/video_output/opengl/interop.c 5 additions, 1 deletionmodules/video_output/opengl/interop.c
- modules/video_output/opengl/vout_helper.c 49 additions, 0 deletionsmodules/video_output/opengl/vout_helper.c
- modules/video_output/opengl/vout_helper.h 4 additions, 0 deletionsmodules/video_output/opengl/vout_helper.h
- src/video_output/display.c 29 additions, 0 deletionssrc/video_output/display.c
- src/video_output/video_output.c 31 additions, 7 deletionssrc/video_output/video_output.c
- src/video_output/vout_wrapper.h 2 additions, 0 deletionssrc/video_output/vout_wrapper.h