summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avformat/apvdec: Use ffio_read_size()Andreas Rheinhardt2025-04-301-1/+1
| | | | | | | Fixes potential use of uninitialized data. Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]>
* avformat/hls: Fix Youtube AACMichael Niedermayer2025-04-301-1/+2
| | | | | | | Fixes: Ticket11435 Fixes: yt-dlp -f 234+270 https://www.youtube.com/live/l8PMl7tUDIE Signed-off-by: Michael Niedermayer <[email protected]>
* tests: Add stream dump test API util, use it to dump stream data for chained ↵Romain Beauxis2025-04-309-1/+276
| | | | | | ogg/{vorbis, opus, flac} streams. Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/hls: add fmp4 to allowed_extensionsMichael Niedermayer2025-04-291-0/+1
| | | | | | Fixes: yt-dlp/issues/12700 Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/hls: Add ec3 to allowed_extensionsMichael Niedermayer2025-04-291-0/+1
| | | | | | | Fixes part of Ticket11435 Fixes: Elisa Viihde (Finnish online recording service) Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/hls: Point user to how to easily contribute a fix for missing ↵Michael Niedermayer2025-04-291-1/+1
| | | | | | extensions Signed-off-by: Michael Niedermayer <[email protected]>
* avformat/hls: Add cmfv and cmfa to allowed_extensionsMichael Niedermayer2025-04-291-1/+3
| | | | | | Fixes: www.nicovideo.jp Fixes: Ticket11526 Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec: Fix fate-checkasm-hevc_pel failed on LA.Shiyou Yin2025-04-295-583/+276
| | | | | | | | Some loop counters were initialized incorrectly. This patch enhances the handling of loop iterations and residual parts. Reviewed-by: 陈昊 <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* doc/ffprobe: remove entry for show_format_entryGyan Doshi2025-04-291-7/+0
| | | | The option was removed in 1dd6363581.
* avformat/http: Ensure same protocol in ff_http_do_new_request2Zhao Zhili2025-04-291-1/+6
| | | | | | | | | | | This can happen for HLS with AES-128 at the middle of m3u8, so old protocol is https while new protocol is crypt+https. And change the log level from ERROR to INFO when protocol/host/port don't match. User should prepared for this function to fail and retry with new connection. Signed-off-by: Zhao Zhili <[email protected]>
* avformat/hls: Fix get key file errorZhao Zhili2025-04-291-1/+1
| | | | | | The offset and end_offset options are meant for segment, not for key. Signed-off-by: Zhao Zhili <[email protected]>
* avcodec/bsf/h264_mp4toannexb: Fix mixed bitstream formatZhao Zhili2025-04-292-12/+14
| | | | | | | | | | | | | | | | | | | | This bsf converts AV_PKT_DATA_NEW_EXTRADATA side data in avcc format to in-band annexb format. However, the side data wasn't been removed and copied from input packet to output packet. So the output packet has mixed bitstream format. We don't support mixed bitstream format. For example, h264_metadata report error in the following case: ffmpeg -i foo.flv \ -bsf:v "h264_mp4toannexb,h264_metadata" \ -c copy -f null This patch removed NEW_EXTRADATA side data after process. This patch also add a check so only NEW_EXTRADATA in avcc format is processed. NEW_EXTRADATA in annexb format is copied to output as is. Reported-by: jiangjie <[email protected]> Signed-off-by: Zhao Zhili <[email protected]>
* aarch64/h26x: Add put_hevc_pel_bi_w_pixelsZhao Zhili2025-04-293-0/+391
| | | | | | | | | | | | | | | | | | | | | | | | | | On rpi5 (A76): put_hevc_pel_bi_w_pixels4_8_c: 90.0 ( 1.00x) put_hevc_pel_bi_w_pixels4_8_neon: 34.1 ( 2.64x) put_hevc_pel_bi_w_pixels6_8_c: 188.3 ( 1.00x) put_hevc_pel_bi_w_pixels6_8_neon: 73.5 ( 2.56x) put_hevc_pel_bi_w_pixels8_8_c: 327.1 ( 1.00x) put_hevc_pel_bi_w_pixels8_8_neon: 75.8 ( 4.32x) put_hevc_pel_bi_w_pixels12_8_c: 728.8 ( 1.00x) put_hevc_pel_bi_w_pixels12_8_neon: 186.1 ( 3.92x) put_hevc_pel_bi_w_pixels16_8_c: 1288.1 ( 1.00x) put_hevc_pel_bi_w_pixels16_8_neon: 268.5 ( 4.80x) put_hevc_pel_bi_w_pixels24_8_c: 2855.5 ( 1.00x) put_hevc_pel_bi_w_pixels24_8_neon: 723.8 ( 3.95x) put_hevc_pel_bi_w_pixels32_8_c: 5095.3 ( 1.00x) put_hevc_pel_bi_w_pixels32_8_neon: 1165.0 ( 4.37x) put_hevc_pel_bi_w_pixels48_8_c: 11521.5 ( 1.00x) put_hevc_pel_bi_w_pixels48_8_neon: 2856.0 ( 4.03x) put_hevc_pel_bi_w_pixels64_8_c: 21020.5 ( 1.00x) put_hevc_pel_bi_w_pixels64_8_neon: 4699.1 ( 4.47x) Reviewed-by: Martin Storsjö <[email protected]> Signed-off-by: Zhao Zhili <[email protected]>
* aarch64/h26x: optimize sao_band_filterZhao Zhili2025-04-294-41/+65
| | | | | | | | | | | | | | | | | | | | int8_t[] is enough for offset_table of 8 bit streams. On rpi5: Before After hevc_sao_band_8_8_c: 252.3 ( 1.00x) 252.3 ( 1.00x) hevc_sao_band_8_8_neon: 95.8 ( 2.63x) 61.0 ( 4.57x) hevc_sao_band_16_8_c: 875.2 ( 1.00x) 864.9 ( 1.00x) hevc_sao_band_16_8_neon: 317.5 ( 2.76x) 150.0 ( 6.26x) hevc_sao_band_32_8_c: 3853.5 ( 1.00x) 3871.6 ( 1.00x) hevc_sao_band_32_8_neon: 1222.3 ( 3.15x) 550.6 ( 7.39) hevc_sao_band_48_8_c: 8203.6 ( 1.00x) 8182.6 ( 1.00x) hevc_sao_band_48_8_neon: 2685.7 ( 3.05x) 1185.8 ( 7.36x) hevc_sao_band_64_8_c: 14023.0 ( 1.00x) 14038.9 ( 1.00x) hevc_sao_band_64_8_neon: 4783.2 ( 2.93x) 2078.4 ( 7.15x) Reviewed-by: Martin Storsjö <[email protected]> Signed-off-by: Zhao Zhili <[email protected]>
* avformat/mov: Reduce seek when interleaved_read is disabledZhao Zhili2025-04-291-1/+1
| | | | | | Don't select sample with small dts when interleaved_read is disabled. Signed-off-by: Zhao Zhili <[email protected]>
* postproc/tests: Add test tools to .gitignoreAndreas Rheinhardt2025-04-281-0/+2
| | | | | Reviewed-by: Marvin Scholz <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/apv_decode: Remove redundant log messageAndreas Rheinhardt2025-04-271-3/+1
| | | | | | | ff_thread_get_buffer() already emits its own logmessage. Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/apv_decode: Fix shadowingAndreas Rheinhardt2025-04-271-5/+5
| | | | | Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]>
* avformat/apvenc: Add AVFMT_NOTIMESTAMPS flagAndreas Rheinhardt2025-04-271-0/+1
| | | | | | | This is a raw format. Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]>
* avformat/apvenc: Remove unused headerAndreas Rheinhardt2025-04-271-2/+0
| | | | | Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]>
* avformat/apvenc: Only allow APVAndreas Rheinhardt2025-04-271-1/+1
| | | | | Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]>
* Changelog, doc: Add entries for new APV featuresMark Thompson2025-04-272-0/+4
|
* lavf: APV muxerMark Thompson2025-04-274-1/+43
|
* lavc: APV metadata bitstream filterMark Thompson2025-04-274-1/+137
|
* lavc/apv: AVX2 transquant for x86-64Mark Thompson2025-04-2710-0/+475
| | | | | | | | | Typical checkasm result on Alder Lake: decode_transquant_8_c: 464.2 ( 1.00x) decode_transquant_8_avx2: 86.2 ( 5.38x) decode_transquant_10_c: 481.6 ( 1.00x) decode_transquant_10_avx2: 83.5 ( 5.77x)
* lavc: APV decoderMark Thompson2025-04-279-1/+890
|
* lavf: APV demuxerMark Thompson2025-04-274-1/+251
| | | | Demuxes raw streams as defined in draft spec section 10.2.
* lavc/cbs: APV supportMark Thompson2025-04-279-0/+1363
|
* lavc: APV codec ID and descriptorMark Thompson2025-04-273-2/+10
|
* avcodec/ffv1enc: Eliminate fabs()Michael Niedermayer2025-04-271-1/+1
| | | | | | | | | Fixes: warning: using floating point absolute value function 'fabs' when argument is of integer type No change in output Changing variables to float worsens compression significantly Found-by: ePirat Signed-off-by: Michael Niedermayer <[email protected]>
* fate: add stripetestMichael Niedermayer2025-04-274-1/+495
| | | | | Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer <[email protected]>
* tests: Add libpostproc blocktestMichael Niedermayer2025-04-275-0/+421
| | | | | Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer <[email protected]>
* postproc/postprocess_template: fix handling of first row of dering_CMichael Niedermayer2025-04-272-6/+11
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* postproc/postprocess_template: Fix reading uninitialized pixels in dering_C()Michael Niedermayer2025-04-272-8/+8
| | | | | | This issue was found through the new blocktest Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/x86/constants: add pd_64James Almer2025-04-255-6/+8
| | | | Signed-off-by: James Almer <[email protected]>
* avformat: Use ffio_read_size() where appropriateAndreas Rheinhardt2025-04-2514-69/+91
| | | | Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/magicyuv: Simplify check for RGBAndreas Rheinhardt2025-04-251-9/+2
| | | | Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/magicyuv: Set properties via AVPixFmtDescriptorAndreas Rheinhardt2025-04-251-37/+6
| | | | Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/webp: Avoid loopAndreas Rheinhardt2025-04-251-16/+9
| | | | Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/webp: Combine allocationsAndreas Rheinhardt2025-04-251-9/+8
| | | | | | Or avoid them altogether for the small stage-one VLC. Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/webp: Check before allocationsAndreas Rheinhardt2025-04-251-13/+12
| | | | | | Avoids freeing lateron. Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/webp: Switch to ff_vlc_init_from_lengths()Andreas Rheinhardt2025-04-251-53/+55
| | | | | | | | | | | The earlier code would traverse over the code lengths mutliple times (namely max_length + 1 times - once to get the maximum length and once for each max_length to assign codes) before calling ff_vlc_init_sparse() (which may traverse them twice and sort them). The new code only traverses them once (+ the one time in ff_vlc_init_from_lengths()). Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/webp: Check more directly for invalid codesAndreas Rheinhardt2025-04-251-2/+5
| | | | | | | | | | Don't rely on invalid codes leading to get_vlc2() returning -1, which then gets converted to an uint8_t, i.e. to 255 and runs afoul of a length check later. After all, get_vlc2() could be changed to return something else which may be valid when cast to uint8_t. Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/cbs: Use put_bits63()Andreas Rheinhardt2025-04-251-8/+2
| | | | | | | | | | It is better when BUF_BITS == 64 (i.e. on x64), because the underlying put_bits can then handle 0..63 bits naturally. It does not worsen the code when BUF_BITS != 64, because the compiler can optimize this to the same code as now (due to the assert). Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/vp6: Forward error codesAndreas Rheinhardt2025-04-251-14/+19
| | | | Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/vp6: Use fewer number of bits in run VLCsAndreas Rheinhardt2025-04-252-7/+12
| | | | | | | | | Given that these trees have only nine elements and are complete, their depth is <= eight. Also remove the now unused FF_HUFFMAN_BITS constant. Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/vp6: Don't reload unnecessarily often in get_vlc2()Andreas Rheinhardt2025-04-251-3/+3
| | | | | | | | | | | The VLC trees used here have very few different codes and are therefore guaranteed to not be very deep: The AC/DC VLCs have 12 elements and therefore a depth <= 11 whereas the run VLCs have only nine elements and therefore a depth <= 8. This allows to reduce the worst-case number of reloads for reading a VLC code. Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/vp6: Don't initialize unused VLC tablesAndreas Rheinhardt2025-04-252-7/+5
| | | | | | | There are only 2*3*4 VLC trees for decoding Huffman encoded AC coefficients; see section 13.3.2 of the spec. Signed-off-by: Andreas Rheinhardt <[email protected]>
* avcodec/huffman: Switch to ff_vlc_init_from_lengths()Andreas Rheinhardt2025-04-251-14/+10
| | | | | | Avoids having to create the codes ourselves. Signed-off-by: Andreas Rheinhardt <[email protected]>
* tools/target_dec_fuzzer: Assert on AVERROR_BUGAndreas Rheinhardt2025-04-251-2/+8
| | | | | | | This will bring these bugs to our attention. Reviewed-by: Kacper Michajlow <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]>