Commit Graph

978 Commits

Author SHA1 Message Date
Steve Lhomme 91402fdde0 modules: include vlc_configuration.h when using config_ChainParse() 2023-05-06 06:56:32 +00:00
Steve Lhomme c4f77d9631 modules: include vlc_threads.h when using vlc_once_t 2023-04-27 19:44:35 +00:00
Johannes Kauffmann 8dc0ae1205 Remove extra semicolons around vlc_module macro's 2023-04-27 06:24:26 +00:00
Johannes Kauffmann db8bd87ed7 modules: add casts for pointer arguments to msg_* 2023-04-27 06:24:26 +00:00
Steve Lhomme 4620e69c08 d3d11_filters: only define D3D1_VIDEO_PROCESSOR enums for old mingw-w64 2023-04-08 06:30:16 +00:00
Steve Lhomme 1b02bcdade d3d11: use D3D11_RenderFormat to get render d3d_formats 2023-04-05 06:31:54 +00:00
Steve Lhomme e5d539491b d3d11_processor: allow usage from C++
The ID3D11VideoContext_VideoProcessorBlt define is only set with COBJMACROS.
We don't need it as the code should not be compiled if it's not available.
2023-04-04 11:31:52 +00:00
Steve Lhomme daac9a10cb d3d11_surface: add mapping VLC_CODEC_D3D11_OPAQUE_RGBA to VLC_CODEC_RGBA10
It reprensents both DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R10G10B10A2_UNORM.
The latter being mapped to VLC_CODEC_RGBA10.
2023-02-13 13:30:54 +00:00
Steve Lhomme ac59ee7bf3 d3d11_decoder: use proper OpenSharedResource depending on sharing mode 2023-02-13 13:30:54 +00:00
Steve Lhomme c4b6633a10 d3d11_decoder: use proper decoder return codes 2023-02-13 13:30:54 +00:00
Steve Lhomme 4acab97b21 filter: avoid casting void* to/from p_sys
The p_sys has been a void since 4c8b741e48
2023-02-11 13:19:46 +00:00
Steve Lhomme 0969742306 d3d11_surface: fix mismatching unmap call 2023-02-10 07:07:00 +00:00
Steve Lhomme 480884bea2 d3d11_decoder: add the RGB mask if needed
That's what the D3D11 video output expects.
2023-02-06 20:17:02 +00:00
Steve Lhomme 2a82ce9cfa clean empty initializers in C code
MSVC doesn't support it.
2023-01-27 15:06:50 +00:00
Tristan Matthews 8730a2452e vaapi: chroma: do not log error on ENOMEM 2023-01-24 00:30:38 +00:00
Steve Lhomme c207f78a13 d3d11: always initialize sharedHandle to INVALID_HANDLE_VALUE 2023-01-21 09:27:25 +00:00
Steve Lhomme 007e5d910c codec/packtizer: rename p_fmt_in to fmt_in
We don't need to know it's a pointer and can save 2 characters.

No functional changes. This is simply renaming "dec->p_fmt_in",
"decoder->p_fmt_in", "dec.p_fmt_in" and "packetizer->p_fmt_in"
2022-11-16 17:42:04 +00:00
Steve Lhomme 3bbe3ffe45 codec/packetizer: use read-only input format wherever possible
It's renaming :
"dec->fmt_in.", "dec.fmt_in.", "decoder->fmt_in.", "&dec->fmt_in",
"&p_dec->fmt_in" (except in decoder_Init), "&p_dec->fmt_in->",
"&decoder->fmt_in", "&p_dec->fmt_in,", "= p_dec->fmt_in;",
"&id->p_decoder->fmt_in" and "p_sys->p_decoder->fmt_in"
2022-11-16 17:42:04 +00:00
Steve Lhomme 1847d5d084 hw:d3d11: modify the visible format of the output
Don't touch the input format.
2022-11-16 17:42:04 +00:00
Maxim Romanov 244a76a900 avcodec: vaapi: enable I420 format
Use I420 format if VA-API driver support it.
2022-11-05 06:00:57 +00:00
Rémi Denis-Courmont aafc91c58c vdpau: remove display plugin
There were two purposes to this as a better alternative to XVideo:
 - video surfaces pass-through in GPU in case of hardware decoding,
 - scaled SPU blending in both software and hardware decoding cases.

Both functions are now supported with higher priority by the OpenGL
video output. Also the software case no longer works at all anyway.
2022-09-23 21:14:39 +03:00
Steve Lhomme be1baa8bee mmal: replace deprecated mtime_t with vlc_tick_t 2022-08-17 04:26:22 +00:00
Steve Lhomme 954b60ff45 direct3d11: remove the legacy (UWP) way of passing the swapchain/d3dcontext 2022-08-10 07:10:56 +00:00
Steve Lhomme bc115028db hw:mmal: don't initialize non static atomic with ATOMIC_VAR_INIT
ATOMIC_VAR_INIT is deprecated and might be removed in the future. We don't need
to use it.

[1] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2244.htm#dr_485
2022-06-12 15:41:42 +00:00
Rémi Denis-Courmont 24aa25bdee vdpau/display: add ABGR 2022-06-07 11:44:04 +00:00
Rémi Denis-Courmont 329bd3c8a3 vdpau/display: fix SPU blending offsets 2022-06-06 21:01:46 +00:00
Rémi Denis-Courmont 69d2e555a9 vdpau/display: test B8G8R8A8 SPU format
This also fixes a corner-case bug where whe format exposed on big
endian was not the one being tested.
2022-06-06 13:08:43 +00:00
Rémi Denis-Courmont 81603e36af vdpau/display: check SPU pixel format
Up to this point, only one format was exposed so this did not matter.
2022-06-06 13:08:43 +00:00
Rémi Denis-Courmont d15fb5554f vdpau/display: do not hard-code SPU formats
Allocate an array so that we can vary the content per instance.
2022-06-06 13:08:43 +00:00
Pierre Lamot 1d43024f9b avcodec: moves the cleanup of the AVCodecContext to the va module
If the va module succeed to open but is identified as unusable before the end of
FFmpeg getFormat callback, the module may have to do some cleanups in the
AVCodecContext.

the close callback will be called with a NULL AVCodecContext outside the
getFormat callback as the AVCodecContext ownership is transferred to FFmpeg
2022-06-04 10:57:27 +00:00
Steve Lhomme e1514c63d1 vout: mmal: don't use vd->fmt on Open
vd->fmt is the format the display is requesting to receive. On open it's set to
the same as vd->source for convenience. But it might as well not set be at all
before Open has finished.
2022-05-31 12:11:13 +00:00
Rémi Denis-Courmont 8e13708a85 display: add fitting modes
So far the video can only be fit within the window. This adds other
modes for fitting to the larger dimension, only to the width or only to
the height. These new modes in effect compute the scale/zoom
differently, potentially causing the video to be cropped.
2022-05-29 11:12:33 +00:00
Rémi Denis-Courmont aadbaeb440 vdpau: merge all video surface formats
This approach does not scale up very well to various bit depths.
2022-05-29 09:52:58 +00:00
Rémi Denis-Courmont bd32c12be4 vdpau/export: get chroma type from input context 2022-05-29 09:52:58 +00:00
Rémi Denis-Courmont 7075de4970 vdpau/mixer: get chroma type from input context 2022-05-29 09:52:58 +00:00
Rémi Denis-Courmont 448a6ba69c vdpau/avcodec: track chroma type in context
This stores the VDPAU video surface chroma type within the
corresponding VLC video context. This will be used in the following
changes.
2022-05-29 09:52:58 +00:00
Rémi Denis-Courmont ae8a7532b6 vdpau/mixer: do not clobber filter_t on error 2022-05-29 09:52:58 +00:00
Rémi Denis-Courmont c58018e41f display: update vout_display_PlacePicture() prototype
Take only a struct vout_display_size rather than a full
struct vout_display_cfg_t. No functional changes.
2022-05-17 19:14:06 +00:00
Rémi Denis-Courmont cc4456fd06 vout: gather video placement properties
This puts all the video size and placement properties back together as
vout_display_cfg_t originally was before other parameters were added.

No functional changes.
2022-05-17 19:14:06 +00:00
Rémi Denis-Courmont 4bd922622b window: rename <vlc_vout_window.h> to <vlc_window.h> 2022-05-16 16:51:03 +00:00
Rémi Denis-Courmont 84c253cdd1 window: rename vout_window* to vlc_window*
The baseline windowing code has not been specific to the video output
for a while.
2022-05-16 16:51:03 +00:00
Steve Lhomme a4c1cefdae nvdec: fix the decoder_UpdateVideoOutput() output value check
It returns 0 or -1, not a VLC_xxx error message.
2022-05-12 08:32:24 +00:00
Steve Lhomme 1186ad17ee hw:d3d11 fix the decoder_UpdateVideoOutput() output value check
It returns 0 or -1, not a VLC_xxx error message.
2022-05-12 08:32:24 +00:00
Steve Lhomme f7803af508 d3d11: pass a vlc_logger to D3D11_AllocateResourceView()
No need to force the caller to know about its object.
2022-05-04 07:04:47 +00:00
Rémi Denis-Courmont 5d53a00d24 vdpau/mixer: pass chroma type as parameter
...rather than as part of the private data.
2022-04-30 19:19:08 +00:00
Rémi Denis-Courmont ebe327bcab vdpau/mixer: remove write-only datum 2022-04-30 19:19:08 +00:00
Rémi Denis-Courmont 401d885a3b vdpau/mixer: remove useless code
If the input format is not some type of VDPAU YUV, then the output
format should not be VDPAU RGB, so this situation should never happen.

Nowadays the OpenGL or Vulkan display can handle YUV pictures nicely,
so there is anyway not much point left in using the VDPAU mixer without
the VDPAU decoder.
2022-04-30 19:19:08 +00:00
Rémi Denis-Courmont 7693ccfa1d vdpau/display: remove dead code
If the source format is not a VDPAU YUV format, then there will be no
VDPAU decoder device and we would bail out earlier.
2022-04-30 19:19:08 +00:00
Tristan Matthews 475148937d nvdec: guard against missing CUDA definition 2022-04-26 13:27:34 +00:00
Francois Cartegnie 54a136d93b vdpau: fix deinterlacing regression
refs #26832
reverts 0af664b0
2022-04-22 14:01:47 +00:00