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
Paul B Mahol
965f99f904
avfilter/af_silenceremove: add timeline support
2023-05-27 11:18:00 +02:00
Paul B Mahol
7927a96e2b
avfilter/af_silenceremove: add commands support
2023-05-27 11:17:58 +02:00
James Almer
e86e2d5921
fftools/ffmpeg_dec: abort if avcodec_send_packet() returns EAGAIN
...
As the comment in the code mentions, EAGAIN is not an expected value here
because we call avcodec_receive_frame() until all frames have been returned.
avcodec_send_packet() returning EAGAIN means a packet is still buffered, which
hints that the underlying decoder is buggy and not fetching packets as it
should.
An example of this behavior was in the libdav1d wrapper before f209614290
,
where feeding it split frames (or individual OBUs) would result in the CLI
eventually printing the confusing "Error submitting packet to decoder: Resource
temporarily unavailable" error message, and just keep going until EOF without
returning new frames.
Signed-off-by: James Almer <jamrial@gmail.com>
2023-05-26 19:47:54 -03:00
Paul B Mahol
5a13b133f8
avfilter/af_silenceremove: add median silence detector
2023-05-27 00:34:37 +02:00
Paul B Mahol
68d0b881de
avfilter/silenceremove_template: fix peak detector
...
The implementation was not working correctly.
2023-05-27 00:34:35 +02:00
Paul B Mahol
29710dd7f2
avfilter/af_silenceremove: speed-up start-only trimming once trim is over
2023-05-26 10:13:37 +02:00
Paul B Mahol
f59d9514da
avfilter/silenceremove_template: skip silence start detection after start-only trimming is over
2023-05-26 10:13:37 +02:00
Paul B Mahol
2b5166addf
avfilter/af_silenceremove: add real peak detector
...
Rename old peak detector to more correct name one.
2023-05-26 10:13:37 +02:00
Paul B Mahol
3235de4883
avfilter/af_silenceremove: switch to activate
...
Do full rewrite, new code is much faster for typical filter usages.
Also previous code was hard to follow and basically very-hard to maintain.
2023-05-26 10:13:37 +02:00
yuanhecai
82278e8749
avutil/la: Add function performance testing
...
This patch supports the use of the "checkasm --bench" testing feature
on loongarch platform.
Change-Id: I42790388d057c9ade0dfa38a19d9c1fd44ca0bc3
Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-25 21:05:21 +02:00
Jin Bo
cb4ae8baee
swscale/la: Add following builtin optimized functions
...
yuv420_rgb24_lsx
yuv420_bgr24_lsx
yuv420_rgba32_lsx
yuv420_argb32_lsx
yuv420_bgra32_lsx
yuv420_abgr32_lsx
./configure --disable-lasx
ffmpeg -i ~/media/1_h264_1080p_30fps_3Mbps.mp4 -f rawvideo
-pix_fmt rgb24 -y /dev/null -an
before: 184fps
after: 207fps
Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-25 21:05:15 +02:00
Lu Wang
4501b1dfd7
swscale/la: Optimize the functions of the swscale series with lsx.
...
./configure --disable-lasx
ffmpeg -i ~/media/1_h264_1080p_30fps_3Mbps.mp4 -f rawvideo -s 640x480
-pix_fmt bgra -y /dev/null -an
before: 91fps
after: 160fps
Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-25 21:05:08 +02:00
yuanhecai
f6077cc666
avcodec/la: Add LSX optimization for h264 qpel.
...
./configure --disable-lasx
ffmpeg -i 1_h264_1080p_30fps_3Mbps.mp4 -f rawvideo -y /dev/null -an
before: 214fps
after: 274fps
Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-25 21:05:01 +02:00
Lu Wang
8815a7719e
avcodec/la: Add LSX optimization for h264 chroma and intrapred.
...
./configure --disable-lasx
ffmpeg -i 1_h264_1080p_30fps_3Mbps.mp4 -f rawvideo -y /dev/null -an
before: 199fps
after: 214fps
Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-05-25 21:04:56 +02:00