Alexandre Janniaux
8b55b111ce
meson: codec: fix extra lib prefix
The meson target was named 'libvlc_vtutils' but meson automatically
adds a 'lib' prefix, producing 'liblibvlc_vtutils.a'. Rename the target
to 'vlc_vtutils' so the output match the intended name.
1 month ago
Alexandre Janniaux
aca398cbec
avcodec: fourcc: map ATRAC audio codecs
This allows playing .oma files (SONY OpenMG files) with audio.
2 months ago
François Cartegnie
e42c6f4da0
codec: rawvideo: compute visible size from offset
3 months ago
François Cartegnie
61c5a923b0
codec: hxxx_helper: use MAX_NUM instead of ID_MAX
7 months ago
François Cartegnie
0e3eb4cb85
packetizer: hevc: use MAX_NUM defines
7 months ago
François Cartegnie
896ba38980
packetizer: h264: use MAX_NUM defines
7 months ago
François Cartegnie
b53be5388c
packetizer: h264: allow empty SPS/PPS in DCR
7 months ago
François Cartegnie
36e3056262
packetizer: hevc: allow empty SPS/PPS in DCR
7 months ago
Marvin Scholz
874f9463fa
modules: avcodec: remove avcodec-workaround-bugs option
This is an incredibly advanced per-media option that is probably more
confusing for users than it does any good. The values are not even
exposed properly, just some of them written in the help text.
If someone really needs this, it can already be set by
--avcodec-options "{bug=...}", so having a dedicated VLC option
that doesn't add any convenience to it is redundant.
2 months ago
Steve Lhomme
f431ac1b58
faad: simplify PCA patch decision
The FAAD2_VIDEOLAN_PATCHED define doesn't exist anymore in our repository.
We only need to know about any version that's older than 2.10.1.
2 months ago
Steve Lhomme
34c7c3de39
faad: don't patch channels with newer libraries
The 7.1 PCE mapping patch has been applied and is available since 2.10.1 [^1].
We can detect whether we build with 2.10.1 or newer by checking the presence of
the FAAD2_VERSION define in faad.h [^2]. Unfortunately it's a string so we can't
use the value.
[^1]: b9bd2eba31
[^2]: bc533c9043
2 months ago
Steve Lhomme
5368f9f9e9
qsv: disable load of software implementation when only hardware ones are requested
2 months ago
Steve Lhomme
feb764bd6b
qsv: use non-deprecated API's when compiling with libvpl
MFXInit is replaced by MFXLoad/filter implementations/MFXCreateSession.
2 months ago
Steve Lhomme
eea0bacf62
gstreamer: remove unneeded includes
We don't use anything specific to these headers that is not include by gstvlcpictureplaneallocator.h.
Fixes #29604
2 months ago
Thomas Guillem
0aadefe758
mediacodec: plug to AImageReader
There are 2 now paths, the legacy path (before API 30) and the AImage
path (after API 31).
The new AImage path:
- No more inflight pictures: picture can outlive the decoder and be
displayed more than one time (the AImageReader need to outlive all
pictures but it's handled naturally from the video context).
- Can be rendered by OpenGL or directly (ASurfaceControl), without
hardcoding it before creating MediaCodec (contrary to the legacy path)
3 months ago
Thomas Guillem
fa42f2ae69
mediacodec: forward color info to fmt_out if needed
fmt_out color should already be set by the demuxer or the packetizer.
I don't know if there is a possibility that the hdr metadata is found by
the decoder and not by our demuxer or packetizer.
3 months ago
Thomas Guillem
f81ecd700a
mediacodec: add and use vlc_to_mc_color_*()
Non functional changes.
3 months ago
Thomas Guillem
f924965c05
mediacodec: add mc_video_color_info
Non functional changes.
3 months ago
Thomas Guillem
2d49f20489
mediacodec: create picture only on required paths
No functional changes, as all paths create a picture for now.
3 months ago
Thomas Guillem
19f621bd59
mediacodec: add NewPicture()
This will be called asynchronously, so it need to handle timestamp_FifoGet
3 months ago
Thomas Guillem
ba91526d04
mediacodec: rename android_picture_ctx to asurface_picture_ctx
Non functional changes.
3 months ago
Thomas Guillem
4a7a8f16f7
mediacodec: clean video only if video
3 months ago
Thomas Guillem
6a763bf53f
mediacodec: init android_video_context_t from CreateSurface()
Non functional changes.
3 months ago
Thomas Guillem
6618d1c89c
mediacodec: return early
Non functional changes.
3 months ago
Thomas Guillem
cfc2424de7
mediacodec: refactor, split CreateVideoContext()
Non functional changes.
3 months ago
Steve Lhomme
ec1111d07a
avcodec/chroma: map AV_PIX_FMT_NV24/42 to VLC_CODEC_NV24/42
Added in 5de4f1d871d60886b9630531fa8c34cad13cc9dd, aka libavutil 56.27.100.
We require libavutil 56.31.100.
1 year ago
Nicolas Chauvet
f98fd8fd6d
codec: remove schroedinger
The libschroediner library is unmaintainted and project vanished.
VLC can use libavcodec for dirac instead.
6 months ago
Steve Lhomme
3d960bca5d
directx_va: remove support for mingw-w64 older than v8
3 months ago
Steve Lhomme
5dd32a7e17
mediacodec: remove empty symbol loading
All the NDK API we use can be called directly from since API 21.
3 months ago
Steve Lhomme
ef7f67ad1d
mediacodec: call all AMediaCodec_xxx() API's directly
They are all available in API 21, which is our minimum.
- https://developer.android.com/ndk/reference/group/media#amediacodec_createcodecbyname
- https://developer.android.com/ndk/reference/group/media#amediacodec_configure
- https://developer.android.com/ndk/reference/group/media#amediacodec_start
- https://developer.android.com/ndk/reference/group/media#amediacodec_stop
- https://developer.android.com/ndk/reference/group/media#amediacodec_flush
- https://developer.android.com/ndk/reference/group/media#amediacodec_delete
- https://developer.android.com/ndk/reference/group/media#amediacodec_getoutputformat
- https://developer.android.com/ndk/reference/group/media#amediacodec_dequeueinputbuffer
- https://developer.android.com/ndk/reference/group/media#amediacodec_getinputbuffer
- https://developer.android.com/ndk/reference/group/media#amediacodec_queueinputbuffer
- https://developer.android.com/ndk/reference/group/media#amediacodec_dequeueoutputbuffer
- https://developer.android.com/ndk/reference/group/media#amediacodec_getoutputbuffer
- https://developer.android.com/ndk/reference/group/media#amediacodec_releaseoutputbuffer
- https://developer.android.com/ndk/reference/group/media#amediacodec_releaseoutputbufferattime
3 months ago
Steve Lhomme
114172996a
mediacodec: call all AMediaFormat_xxx() API' directly
They are all available in API 21, which is our minimum.
- https://developer.android.com/ndk/reference/group/media#amediaformat_new
- https://developer.android.com/ndk/reference/group/media#amediaformat_delete
- https://developer.android.com/ndk/reference/group/media#amediaformat_setstring
- https://developer.android.com/ndk/reference/group/media#amediaformat_setint32
- https://developer.android.com/ndk/reference/group/media#amediaformat_getint32
3 months ago
Steve Lhomme
c721c121ea
mediacodec: remove stray undef
Each OFF define is matched with an undef
3 months ago
Steve Lhomme
bae5c5e703
mediacodec: remove write-only set_output_surface callback
We don't call it anymore even in VLC 3.
3 months ago
François Cartegnie
f2f449a2ed
codec: webvtt: handle invalid values as specific type
refs #29533
This reverts commit 7f16b5681f .
3 months ago
François Cartegnie
6c4bd72d37
codec: webvtt: catch CSS lexer alloc failures
3 months ago
Steve Lhomme
65204f6101
mft: don't end a stream that was not started
It may happen when destroying an MFT that failed to initialize.
We know when we are started or not, so we can make use of that.
We keep the assert in startStream() as we don't want to start streaming twice.
3 months ago
Steve Lhomme
ae3946397c
codec: ttml: don't validate namespace if it's NULL
Similar to d16c61873f .
Fixes #29501
3 months ago
Steve Lhomme
7f16b5681f
codec: webvtt: fix potential crash
The CSSGrammar.y does set a TYPE_HEXCOLOR with a NULL string, so we handle
the error here.
Fixes #29309
3 months ago
Thomas Guillem
75958a20b5
mediacodec: remove jsurface handling
It was only used from JNI.
3 months ago
Thomas Guillem
8b3ad48913
mediacodec: remove JNI mc_api
Keep mediacodec_jni.c for MediaCodec_GetName() (no NDK equivalent).
We always prefer the mc_api NDK implementation. All NDK MediaCodec symbols
are present since API 21, that is the minimum API for VLC 4.0.
The JNI implementation was never used by default.
3 months ago
François Cartegnie
ace499bad0
codec: webvtt: update CSS parser grammar
Fixes unwanted reduction of IDENT as operator
ex: el3{color:red !important fail;}
due to operator grammar and declaration error propagation.
| /* empty */ { $$ = 0; }
and declaration error propagation
property ':' maybe_space error expr prio
Error handling then leaks the mis-reduced IDENT token.
5 months ago
François Cartegnie
01f7fc0ad1
test: webvtt: add CSS parser error recovery test
5 months ago
François Cartegnie
949502c545
test: webvtt: add ::cue pseudo element test
5 months ago
François Cartegnie
61ca5329a9
test: webvtt: split CSS tests
5 months ago
François Cartegnie
842511f02e
codec: webvtt: fix grammar error handling and cleanups
5 months ago
François Cartegnie
a1267c8617
codec: webvtt: fix useless check before assignment
5 months ago
François Cartegnie
3c6279e1a5
codec: webvtt: add YYNOMEM fallback
3 months ago
François Cartegnie
924b4285bf
codec: webvtt: fix selector leak on error
refs #29451
5 months ago
François Cartegnie
43801e41a3
codec: webvtt: fix potential double free
5 months ago
François Cartegnie
96f5580b84
codec: webvtt: check function strings
5 months ago