Lynne
46a77c6496
hwcontext_vulkan: support threadsafe queue and frame operations
2023-05-29 00:41:37 +02:00
Lynne
2a1fd2814f
hwcontext_vulkan: use portability subset if available
2023-05-29 00:41:37 +02:00
Lynne
74b202b839
hwcontext_vulkan: enable VK_KHR_synchronization2 if supported
2023-05-29 00:41:36 +02:00
Lynne
fddfb0ebf8
hwcontext_vulkan: enable support for YCbCr samplers
2023-05-29 00:41:36 +02:00
Lynne
59707cc485
hwcontext_vulkan: initialize and require instance version 1.3
...
This just bumps the required loader library version (libvulkan).
All device-related features, such as video decoding, atomics, etc.
are still optional and the code deals with their loss on a local level
(e.g. the decoder or filter checks for the features it needs, not
the hwcontext).
Bumping the required version essentially packs all maintenance
extensions which correct the spec rather than requiring to enable
them individually.
2023-05-29 00:41:36 +02:00
Lynne
934525eae0
lsws: add in/out support for the new 12-bit 2-plane 422 and 444 pixfmts
2023-05-29 00:41:35 +02:00
Lynne
0bda3340a3
lavu: add 12-bit 2-plane 422 and 444 pixel formats
2023-05-29 00:41:35 +02:00
Lynne
21719c29a2
hevc_ps: expose sps_extension_present_flag
2023-05-29 00:41:35 +02:00
Lynne
8b2d46ee3d
hevc_ps: expose conformance_window_flag
2023-05-29 00:41:34 +02:00
Lynne
cc5fab5c48
hevc_ps: expose sublayer_ordering_info_flag
2023-05-29 00:41:34 +02:00
Lynne
32fcb17e42
hevc_ps: expose vui_present flag
2023-05-29 00:41:33 +02:00
Lynne
f58db8e534
hevc_ps: expose rps fields
2023-05-29 00:41:33 +02:00
Lynne
abdd87d44e
hevc_ps: expose log2_diff_max_min_transform_block_size
2023-05-29 00:41:33 +02:00
Lynne
6eaca2abd8
hevcdec: expose bits_used_for_short_term_rps
2023-05-29 00:41:32 +02:00
Lynne
4e1f3ab184
hevc_ps: expose pps_extension_present_flag
2023-05-29 00:41:32 +02:00
Lynne
d0b02c3aff
hevc_ps: expose vps_id
2023-05-29 00:41:31 +02:00
Lynne
3bc866159c
hevc_ps: expose pps_id
2023-05-29 00:41:31 +02:00
Lynne
fc429d785e
hevc_ps: expose SPS and VPS headers
2023-05-29 00:41:31 +02:00
Lynne
20de09a6de
h264_ps: expose scaling_matrix_present_mask
...
Vulkan requires it.
It technically also requires use_default_scaling_matrix_mask,
but we can just be explicit and give it the matrix we fill in as-non
default.
2023-05-29 00:41:30 +02:00
Lynne
d13b1c42f6
h264_ps: expose bit rate and CPB size fields
2023-05-29 00:41:30 +02:00
Lynne
de6fce727c
h264_ps: expose max_dec_frame_buffering
2023-05-29 00:41:30 +02:00
Lynne
1f66e3347d
h264_ps: comment pic_order_present better
...
The official name which CBS uses is bottom_field_pic_order_in_frame_present_flag.
2023-05-29 00:41:29 +02:00
Lynne
6718b37e5d
h264_ps: set pic_scaling_matrix_present_flag
2023-05-29 00:41:29 +02:00
Lynne
02f38af2dd
h264_ps: expose pps_id
2023-05-29 00:41:29 +02:00
Lynne
317fa3bd1d
h2645_vui: expose aspect_ratio_info_present_flag
2023-05-29 00:41:28 +02:00
Lynne
dc2694557d
h2645_vui: expose aspect_ratio_idc
2023-05-29 00:41:28 +02:00
Lynne
b6a6e2b19d
lavc/decode: allow to allocate hwaccel_priv_data early
2023-05-29 00:41:27 +02:00
Anton Khirnov
8b23644408
lavc/pthread_frame: add support for thread-safe hwaccels
2023-05-29 00:41:27 +02:00
Anton Khirnov
3d2e1aa324
lavc/decode: stop duplicating code from hwaccel_uninit()
2023-05-29 00:41:27 +02:00
Anton Khirnov
a4611e3170
lavc/decode: pass AVHWAccel instead of AVCodecHWConfigInternal to hwaccel_init()
...
The only thing besides the hwaccel that this function uses from
AVCodecHWConfigInternal is the pixel format, which should always match
the hwaccel one.
Will be useful in following commits.
2023-05-29 00:41:25 +02:00
Paul B Mahol
62d4110a64
avfilter/af_silenceremove: add timestamp option
2023-05-28 12:23:14 +02:00
Paul B Mahol
b95d123097
avfilter/silenceremove_template: revert wrong change
2023-05-28 12:23:13 +02:00
Paul B Mahol
e53260c1f4
avfilter/af_silenceremove: add ptp detector
2023-05-28 12:23:11 +02:00
Anton Khirnov
163e3a299e
fftools/sync_queue: make sure non-limiting streams are not used as queue head
...
A non-limiting stream could mistakenly end up being the queue head,
which would then produce incorrect synchronization, seen e.g. in
fate-matroska-flac-extradata-update for certain number of frame threads
(e.g. 5).
Found-By: James Almer
2023-05-28 10:47:59 +02:00
Anton Khirnov
e9a868e9ee
fftools/sync_queue: add debug logging
2023-05-28 10:47:59 +02:00
Anton Khirnov
4e96a71626
fftools/ffmpeg_demux: log discontinuity warnings to stream context
...
Allows simplifying the log message.
2023-05-28 10:47:59 +02:00
Anton Khirnov
6abb4a28ef
fftools/ffmpeg: add InputStream.index
...
This allows to avoid access to the underlying AVStream in many places.
2023-05-28 10:47:59 +02:00
Anton Khirnov
cad59cccaf
fftools/ffmpeg_dec: move timestamp estimation state to Decoder
...
It is purely internal to decoding.
2023-05-28 10:47:59 +02:00
Anton Khirnov
5b05e9e32a
fftools/ffmpeg_dec: move InputStream.pkt to Decoder
...
It is purely internal to decoding.
2023-05-28 10:47:59 +02:00
Anton Khirnov
dadeb28e25
fftools/ffmpeg_dec: add decoder private data
...
Move InputStream.decoded_frame to it.
Analogous to what has been previously done for all the other major
components.
2023-05-28 10:47:59 +02:00
Anton Khirnov
335688a3d3
fftools/ffmpeg_demux: skip unused/attachment streams in final stats
...
No useful information can be printed for them.
2023-05-28 10:47:59 +02:00
Anton Khirnov
d43ae45de0
fftools/ffmpeg_demux: initialize nb_streams_warn
...
Fixes spurious new-stream warnings for unused streams after
9429624a76
2023-05-28 10:47:59 +02:00
Anton Khirnov
6ee57fd2b6
fftools/ffmpeg_demux: only print demuxing stats if demuxing actually started
...
If the transcoding process never got to reading any packets from this
input then printing stats is just pointless noise.
2023-05-28 10:47:59 +02:00
Anton Khirnov
d9bcbf9200
fftools/ffmpeg: drop outdated comments
2023-05-28 10:47:59 +02:00
Anton Khirnov
ec75b79fe1
fftools/ffmpeg: fail earlier on text/bitmap subtitles mismatch
...
Checking whether the user requested an unsupported conversion between
text and bitmap subtitles can be done immediately when creating the
output stream.
2023-05-28 10:47:59 +02:00
Anton Khirnov
2b3905254e
fftools/ffmpeg_enc: use AVFrame.hw_frames_ctx for encoder hw setup
...
It should be the same as the one that can be extracted from the filter
and does not require access to outside data.
2023-05-28 10:47:59 +02:00
Anton Khirnov
f15b206286
fftools/ffmpeg_hw: move hw_device_setup_for_encode() to ffmpeg_enc
...
This function is entangled with encoder setup, so it is more encoding
code rather than ffmpeg_hw code. This will allow making more encoder
state private in the future.
2023-05-28 10:47:59 +02:00
Anton Khirnov
760a9bd306
fftools/ffmpeg_hw: move hw_device_setup_for_decode() to ffmpeg_dec
...
This function is entangled with decoder setup, so it is more decoding
code rather than ffmpeg_hw code. This will allow making more decoder
state private in the future.
2023-05-28 10:47:59 +02:00
Paul B Mahol
e8e4863325
avfilter/af_silenceremove: fix the any/all confusion and change default
...
'any' stop mode is now correctly implemented for end trimming and is of limited usage.
Extend examples and other documentation of this filter.
2023-05-27 16:04:00 +02:00
Paul B Mahol
8d662adcc9
avfilter/af_silenceremove: speed-up filtering once start-trim is over
...
No point to call filter_start on samples that will pass them unchanged
once initial trimming stopped.
2023-05-27 11:18:02 +02:00