Thomas Guillem
a70e0b30f4
mediacodec: enable direct rendering without a subtitle surface
The most important check is `AWindowHandler_canSetVideoLayout()` that
assure that the LibVLC user set up callbacks to handle crop/scale.
3 years ago
Steve Lhomme
e2d4c69d79
avcodec: map VLC_CODEC_RGBA10 to AV_PIX_FMT_X2BGR10
This is a RGB format with 10 bits per color.
3 years ago
Francois Cartegnie
aa5690bcd9
codec: libass: fix leak on unmatched config string
introduced by 11d7708b1a
3 years ago
Francois Cartegnie
43907dd96e
vlc_es: move ancillaries to their own header
Ancillaries are opaque to es and tied to data
structures. It has nothing to do with ES as it
does not exists on fmt.
3 years ago
Dmitriy Matveichev
7efd8ab523
ttml: process correct tss:extent values in percents
3 years ago
Dmitriy Matveichev
9b9483abb7
ttml: process correct tss:extent values in pixels only
3 years ago
Dmitriy Matveichev
52c6ec46d6
ttml: scale png subtitles according to tss:extent
3 years ago
Steve Lhomme
91402fdde0
modules: include vlc_configuration.h when using config_ChainParse()
3 years ago
Steve Lhomme
098daebfa0
modules: include vlc_configuration.h when using config_GetUserDir()
3 years ago
Steve Lhomme
cd4d32f71b
avcodec: add a hardware-only lavc AV1 video decoder with higher priority
The priority is higher than dav1d so it can handle hardware decoding even if
dav1d is present.
This version of lavc should only allow decoding if the decoder has a profile
that can be decoded by the hardware, otherwise it should let other decoders try
to do the decoding (dav1d, lavc with current priority, etc).
5 years ago
Steve Lhomme
faec6b060d
avcodec: va: document which fields of the AVCodecContext are used by the VA's
5 years ago
Steve Lhomme
1effe16f9f
avcodec: add a flag to only allow hardware decoding for the decoder
Only use 1 decoder thread when allowing only hardware decoders.
Restarting the decoder silently is not allowed. Either we can reuse the va or
we need to reload the decoder outside of lavc.
4 years ago
Steve Lhomme
4416251e1b
avcodec: move the code to open a VA in a function
Now the (un)locking is optional.
4 years ago
Steve Lhomme
aad2bdfd9e
avcodec: split the InitVideoDec function in 2 parts
No functional changes.
Also move the profile initialization with the p_sys init.
4 years ago
Steve Lhomme
a73786021e
modules: include vlc_arrays.h when using TAB_xxx API
3 years ago
Steve Lhomme
8707c5939a
modules: include vlc_arrays.h when using vlc_dictionary_t
3 years ago
Steve Lhomme
5d0620f3e2
modules: include vlc_arrays.h when using vlc_array_t
3 years ago
Steve Lhomme
c4f77d9631
modules: include vlc_threads.h when using vlc_once_t
3 years ago
Steve Lhomme
cd48d706ed
modules: include vlc_threads.h when vlc_mutex_t is used
3 years ago
Johannes Kauffmann
8dc0ae1205
Remove extra semicolons around vlc_module macro's
3 years ago
Johannes Kauffmann
c054c47644
modules: remove semicolons outside functions
Mostly found with -Wextra-semi
3 years ago
Johannes Kauffmann
35209fff7c
Remove double trailing semicolons
Only matching ";;\n", replaced with:
grep -lIR --include=*.{c,h,cpp,hpp} ";;\$" | xargs sed -i 's/;;\{1,\}$/;/'
3 years ago
Steve Lhomme
84c4012ce3
modules: include vlc_tick.h when using vlc_tick_t
3 years ago
Steve Lhomme
a3917a6ba3
dav1d: fix compilation with older dav1d versions
This is a regression from 47486d9992
3 years ago
Steve Lhomme
5477d56f0d
dav1d: add extra buffers for super resolution with older dav1d
3 years ago
Steve Lhomme
4c99f1a44a
include cassert instead of assert.h
cassert is the preferred way in C++. It doesn't contain static_assert
which is otherwise a keyword.
https://stackoverflow.com/a/43011752/1266123
https://en.cppreference.com/w/cpp/header/cassert
https://en.cppreference.com/w/cpp/language/static_assert
3 years ago
Steve Lhomme
47486d9992
dav1d: update the extra picture buffers needed on each picture
If the AV1 extra data in the container don't match the bitstream (invalid file)
we end up missing some pictures when using extra resolution.
This can be triggered by this bug in Handbrake with SVT-AV1:
https://github.com/HandBrake/HandBrake/issues/5081
Ref. #28002
3 years ago
Steve Lhomme
213ba82e51
dav1d: buffer more pictures when super resolution is used
When decoding AV1 bitstreams using super resolution, we end up deadlocking
in the decoder pool because we don't have engouh pictures.
We need to add more pictures to the pool so that the decoder works properly.
It seems to need only one extra when using a single thread and 2 when using
more that one thread.
Ref. #28002
3 years ago
Steve Lhomme
7e9333f0ca
dav1d: always use buffers with the max resolution
When the super resolution of AV1 is used, some frames may be encoded smaller
than the max resolution, but they are actually decoded at the max resolution
by dav1d. So we need to provide a buffer large enough.
Ref. #28002
3 years ago
Steve Lhomme
77ddfcd3e2
mft: don't try to use the DXVA decoder is the D3D device has no decoder support
3 years ago
Maxime Chapelet
c39295bebd
decoder: videotoolbox: fix yuv matrix enum values
Color Primaries values were used instead of YCbCr Matrix values
3 years ago
Tristan Matthews
9ac09bf586
codec: avcodec: fourcc: add PNM->PPM mapping
This fixes playback of ppm files.
3 years ago
Thomas Guillem
4b8cc4971d
omxil: handle mpeg2 in convert_omx_to_profile_idc()
Fixes #20873
3 years ago
Thomas Guillem
eb0e5fb4f1
mediacodec: use convert_omx_to_profile_idc() for all codecs
Refs #20873
3 years ago
Thomas Guillem
275a1bcb2c
omxil: handle hevc in convert_omx_to_profile_idc()
Refs #20873
3 years ago
Thomas Guillem
5bec0a0d47
mediacodec: also pass vlc_foucc_t to MediaCodec_GetName()
Alongside the codec mimetype.
Refs #20873
3 years ago
Thomas Guillem
19bdb73319
omxil: prepare convert_omx_to_profile_idc() to handle more codecs
Refs #20873
3 years ago
Thomas Guillem
0d4830504f
omxil: remove unused function
3 years ago
Francois Cartegnie
11d7708b1a
codec: libass: patch info for compatibility
refs #27771
3 years ago
Thomas Guillem
3f3b98b651
mediacodec: set low-latency in case of "low-delay"
Available since API level 30.
This won't have any effects before API level 30.
3 years ago
Johannes Kauffmann
34e98057dd
gstreamer: remove extra semicolons
3 years ago
Johannes Kauffmann
7f5485d66c
gstreamer: fix -Wformat warnings
3 years ago
Steve Lhomme
f1f5e27006
meson: fix MFT linking with external libraries
The module needs to use 'dependencies' for such dependencies.
3 years ago
Tristan Matthews
cd2f48d4ba
avcodec: fourcc: map QOI image format
3 years ago
Steve Lhomme
8618e521d8
avcodec: only set the i_codec when the i_chroma is valid
If it's not set yet, it will be set later. We only need to know the value
before we call decoder_UpdateVideoOutput().
3 years ago
Steve Lhomme
1b02bcdade
d3d11: use D3D11_RenderFormat to get render d3d_formats
3 years ago
Johannes Kauffmann
d02a131e03
gstdecode: fix FTBFS with braces inside case
Fixes #27980
3 years ago
Steve Lhomme
7334ebb807
d3d11va: lock the device when creating resources
3 years ago
Steve Lhomme
181e91d001
mft: use the official AV1/L8 GUID definitions
We only define them when they are missing from the mingw-w64 headers.
3 years ago
Steve Lhomme
46f1d6f29f
mft: use ORIENT_VFLIPPED for D3DFMT output
This is more readable considering the comment.
3 years ago