Lynne
3bc866159c
hevc_ps: expose pps_id
2 years ago
Lynne
fc429d785e
hevc_ps: expose SPS and VPS headers
2 years ago
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.
2 years ago
Lynne
d13b1c42f6
h264_ps: expose bit rate and CPB size fields
2 years ago
Lynne
de6fce727c
h264_ps: expose max_dec_frame_buffering
2 years ago
Lynne
1f66e3347d
h264_ps: comment pic_order_present better
...
The official name which CBS uses is bottom_field_pic_order_in_frame_present_flag.
2 years ago
Lynne
6718b37e5d
h264_ps: set pic_scaling_matrix_present_flag
2 years ago
Lynne
02f38af2dd
h264_ps: expose pps_id
2 years ago
Lynne
317fa3bd1d
h2645_vui: expose aspect_ratio_info_present_flag
2 years ago
Lynne
dc2694557d
h2645_vui: expose aspect_ratio_idc
2 years ago
Lynne
b6a6e2b19d
lavc/decode: allow to allocate hwaccel_priv_data early
2 years ago
Anton Khirnov
8b23644408
lavc/pthread_frame: add support for thread-safe hwaccels
2 years ago
Anton Khirnov
3d2e1aa324
lavc/decode: stop duplicating code from hwaccel_uninit()
2 years ago
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.
2 years ago
Paul B Mahol
62d4110a64
avfilter/af_silenceremove: add timestamp option
2 years ago
Paul B Mahol
b95d123097
avfilter/silenceremove_template: revert wrong change
2 years ago
Paul B Mahol
e53260c1f4
avfilter/af_silenceremove: add ptp detector
2 years ago
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
2 years ago
Anton Khirnov
e9a868e9ee
fftools/sync_queue: add debug logging
2 years ago
Anton Khirnov
4e96a71626
fftools/ffmpeg_demux: log discontinuity warnings to stream context
...
Allows simplifying the log message.
2 years ago
Anton Khirnov
6abb4a28ef
fftools/ffmpeg: add InputStream.index
...
This allows to avoid access to the underlying AVStream in many places.
2 years ago
Anton Khirnov
cad59cccaf
fftools/ffmpeg_dec: move timestamp estimation state to Decoder
...
It is purely internal to decoding.
2 years ago
Anton Khirnov
5b05e9e32a
fftools/ffmpeg_dec: move InputStream.pkt to Decoder
...
It is purely internal to decoding.
2 years ago
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.
2 years ago
Anton Khirnov
335688a3d3
fftools/ffmpeg_demux: skip unused/attachment streams in final stats
...
No useful information can be printed for them.
2 years ago
Anton Khirnov
d43ae45de0
fftools/ffmpeg_demux: initialize nb_streams_warn
...
Fixes spurious new-stream warnings for unused streams after
9429624a76
2 years ago
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.
2 years ago
Anton Khirnov
d9bcbf9200
fftools/ffmpeg: drop outdated comments
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
Paul B Mahol
965f99f904
avfilter/af_silenceremove: add timeline support
2 years ago
Paul B Mahol
7927a96e2b
avfilter/af_silenceremove: add commands support
2 years ago
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>
2 years ago
Paul B Mahol
5a13b133f8
avfilter/af_silenceremove: add median silence detector
2 years ago
Paul B Mahol
68d0b881de
avfilter/silenceremove_template: fix peak detector
...
The implementation was not working correctly.
2 years ago
Paul B Mahol
29710dd7f2
avfilter/af_silenceremove: speed-up start-only trimming once trim is over
2 years ago
Paul B Mahol
f59d9514da
avfilter/silenceremove_template: skip silence start detection after start-only trimming is over
2 years ago
Paul B Mahol
2b5166addf
avfilter/af_silenceremove: add real peak detector
...
Rename old peak detector to more correct name one.
2 years ago
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.
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
Hao Chen
7845b5ecd6
avcodec/la: Add LSX optimization for loop filter.
...
Replaced function(LSX is sufficient for these functions):
ff_h264_v_lpf_chroma_8_lasx
ff_h264_h_lpf_chroma_8_lasx
ff_h264_v_lpf_chroma_intra_8_lasx
ff_h264_h_lpf_chroma_intra_8_lasx
ff_weight_h264_pixels4_8_lasx
ff_biweight_h264_pixels4_8_lasx
./configure --disable-lasx
ffmpeg -i 1_h264_1080p_30fps_3Mbps.mp4 -f rawvideo -y /dev/null -an
before: 161fps
after: 199fps
Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years ago
Shiyou Yin
e1b6ecd20a
avcodec/la: add LSX optimization for h264 idct.
...
loongson_asm.S is LoongArch asm optimization helper.
Add functions:
ff_h264_idct_add_8_lsx
ff_h264_idct8_add_8_lsx
ff_h264_idct_dc_add_8_lsx
ff_h264_idct8_dc_add_8_lsx
ff_h264_idct_add16_8_lsx
ff_h264_idct8_add4_8_lsx
ff_h264_idct_add8_8_lsx
ff_h264_idct_add8_422_8_lsx
ff_h264_idct_add16_intra_8_lsx
ff_h264_luma_dc_dequant_idct_8_lsx
Replaced function(LSX is sufficient for these functions):
ff_h264_idct_add_lasx
ff_h264_idct4x4_addblk_dc_lasx
ff_h264_idct_add16_lasx
ff_h264_idct8_add4_lasx
ff_h264_idct_add8_lasx
ff_h264_idct_add8_422_lasx
ff_h264_idct_add16_intra_lasx
ff_h264_deq_idct_luma_dc_lasx
Renamed functions:
ff_h264_idct8_addblk_lasx ==> ff_h264_idct8_add_8_lasx
ff_h264_idct8_dc_addblk_lasx ==> ff_h264_idct8_dc_add_8_lasx
./configure --disable-lasx
ffmpeg -i 1_h264_1080p_30fps_3Mbps.mp4 -f rawvideo -y /dev/null -an
before: 155fps
after: 161fps
Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years ago