michaelni changed the topic of #ffmpeg-devel to: Welcome to the FFmpeg development channel | Questions about using FFmpeg or developing with libav* libs should be asked in #ffmpeg | This channel is publicly logged | FFmpeg 6.1 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
rvalue has quit [Ping timeout: 246 seconds]
rvalue has joined #ffmpeg-devel
jamrial has quit [Read error: Connection reset by peer]
jamrial has joined #ffmpeg-devel
Traneptora has joined #ffmpeg-devel
mkver has quit [Ping timeout: 268 seconds]
kurosu has quit [Quit: Connection closed for inactivity]
Traneptora has quit [Remote host closed the connection]
<cone-441> ffmpeg Michael Niedermayer master:d344a4191c39: tools/target_dec_fuzzer: Adjust Threshold for VP6A
<cone-441> ffmpeg Michael Niedermayer master:c72a20f01a61: avcodec/jpeglsdec: Check Jpeg-LS LSE
<cone-441> ffmpeg Michael Niedermayer master:cfc0a68d4d31: avformat/mov: do not set sign bit for chunk_offsets
<cone-441> ffmpeg Michael Niedermayer master:f1dc7b92576d: tools/target_dec_fuzzer: Adjust threshold for QPEG
<cone-441> ffmpeg Michael Niedermayer master:5f88458bea69: avcodec/jpegxl_parser: Add padding to cs_buffer
<cone-441> ffmpeg Michael Niedermayer master:d909d8e5e0fb: avcodec/leaddec: Check remaining bits in decode_block()
<cone-441> ffmpeg Michael Niedermayer master:aec67d3d7d28: avfilter/af_stereowiden: Round length to nearest
<cone-441> ffmpeg Michael Niedermayer master:ab0fdaedd1e7: avfilter/avf_showspectrum: fix off by 1 error
<cone-441> ffmpeg Michael Niedermayer master:e4d2666bdc3d: avfilter/vf_gradfun: Do not overread last line
<cone-441> ffmpeg Paul B Mahol master:e6459abfadab: avfilter/af_stereotools: round-up max size of buffer
<cone-441> ffmpeg Michael Niedermayer master:c443658d26d2: avfilter/edge_template: Fix small inputs with gaussian_blur()
<cone-441> ffmpeg Michael Niedermayer master:0ecc1f0e4893: avfilter/vf_weave: Fix odd height handling
thilo has quit [Ping timeout: 256 seconds]
Traneptora has joined #ffmpeg-devel
thilo has joined #ffmpeg-devel
dellas has quit [Remote host closed the connection]
markh has quit [Remote host closed the connection]
lemourin has quit [Read error: Connection reset by peer]
lemourin has joined #ffmpeg-devel
navi has quit [Quit: WeeChat 4.0.4]
markh has joined #ffmpeg-devel
jamrial has quit []
derpydoo has quit [Ping timeout: 256 seconds]
cone-441 has quit [Quit: transmission timeout]
cone-071 has joined #ffmpeg-devel
<cone-071> ffmpeg Haihao Xiang release/6.1:d596225a57f1: lavc/qsvdec: return 0 if more data is required
feiw2 has quit [Remote host closed the connection]
feiw2 has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
cone-071 has quit [Quit: transmission timeout]
Krowl has quit [Read error: Connection reset by peer]
mkver has joined #ffmpeg-devel
Blackhex has joined #ffmpeg-devel
<Blackhex> Hello everyone. What is the inteded way for executing FATE tests on Windows target when the ffmpeg package was cross-build on Linux host?
Krowl has joined #ffmpeg-devel
<JEEB> some tests require compilation so you need the source and build roots in any case
<JEEB> the two types of windows testing we currently have in FATE automation are a) cross-compile and wine b) native build with MSVC and running the tests on windows
<JEEB> technically I think you could try to utilize the wrapper setup such that it would remotely call the windows host via ssh or something else
<JEEB> if it was just "run the cli over these commands" it'd be simpler, but there are tests that are compiled and then executed separately, so just having the ffmpeg cli is not enough
<JEEB> right, target-exec is the configure option for adding wrappers like wine etc
<Blackhex> @JEEB: Thank you for the info. So far I am building the package on the Linux host using `make` and GCC compiler, then downloading the tests data using `make fate-rsync SAMPLES=fate-suite/`, then packing the entire sources and build folder and transfering it to the Windows machine and then trying to execute `make fate SAMPLES=fate-suite/` there using bash.exe. This obviously fails as the Makefile contains lots of absolute paths rele
<Blackhex> vant to the build host filesystem.
<JEEB> yea
<JEEB> ah yes, the qemu using FATE instances are probably closer :D
<JEEB> where target-exec is utilized to literally run binaries within qemu
<JEEB> your use case is surprisingly similar to this :P
<Blackhex> Using ssh to execute the tests on the Windows machine is the least preferable option to me as I am building it as a Github Actions workflow so I'd rather prefer to modify the Makefile so it can be executed on the target out of the box.
<JEEB> yea, it's just that you will need to compile stuff during `make fate` :D
<JEEB> and even if you got those targets compiled
<JEEB> well, ok. at that point it would probably be pretty close?
<Blackhex> Thank you for the information about the QEMU option. I am actually testing our experimental aarch64 GCC compiler to build ffmpeg and although QEMU already supports aarch64 (https://www.linaro.org/blog/emulate-windows-on-arm/), I am little bit affraid I'll rather encounter issues with the emulation rather than real issue that our toolchain is producing invalid code (which I what I want to prove).
<JEEB> and yea, normalizing the paths between your windows and lunix setup is probably the least bad alternative, with something like msys2 or cygwin, which allows for unix-like paths within that shell (and then translates that more or less badly to the underlying binary)
<JEEB> yea a bunch of the runners on https://fate.ffmpeg.org/ are already aarch64 windows clang since wbs is nice enough to run that for us
<JEEB> so your use case sounds quite close to that
<Blackhex> @JEEB: Should I understand this that Clang bluild is also beeing cross-build for Windows Arm64 on Linux and the tests are executed on the Windows machine as well? Because in contrary to our toolchain wich is cross-compilation only, the Clang has also the native build option available.
<JEEB> they are cross-compiles and then either run with wine or qemu
<Blackhex> OK, thank you for the information.
<JEEB> so there is no attempt at running the makefiles from another system, but rather generally just target-exec being utilized to prefix built binary execution with something
<Blackhex> Understood, thank you.
AbleBacon has quit [Read error: Connection reset by peer]
tmm1_ has joined #ffmpeg-devel
tmm1 has quit [Ping timeout: 246 seconds]
dellas has joined #ffmpeg-devel
<wbs> Blackhex: for testing compilers, running ffmpeg in wine is quite adequate. it doesn't usually run into issues with emulation
<wbs> Blackhex: the emulation isn't exact; there are issues that it won't complain about though. e.g. if you're missing stack probing (__chkstk), wine won't usually notice but real windows will. and windows on arm64 refuses to load binaries that don't have the dynamicbase flag set, which doesn't hold for x86. but for regression testing and code generation issues, testing ffmpeg in wine is quite adequate. and
<wbs> if you want to, run "make checkasm", copy ...
<wbs> ... out the built tests/checkasm/checkasm.exe and run it manually on real windows for an extra check
jamrial has joined #ffmpeg-devel
<Blackhex> wbs: Thank you for this isnsight as well. We have implemented _chkstk for the aarch64-w64-mingw32 GCC target as well so it would be adequate to test it's working properly as well.
Teukka has quit [Read error: Connection reset by peer]
<wbs> Blackhex: ok, good. I hope you aligned with the existing aarch64-mingw ABI and call it "__chkstk"?
Teukka has joined #ffmpeg-devel
Teukka has quit [Changing host]
Teukka has joined #ffmpeg-devel
dellas has quit [Remote host closed the connection]
<Blackhex> wbs: We've just enabled the build-in implementation (https://github.com/Windows-on-ARM-Experiments/gcc-woarm64/pull/11/files) and it seems to be working OK.
jamrial has quit []
jamrial has joined #ffmpeg-devel
stevenliu has quit [Read error: Connection reset by peer]
stevenliu_ has joined #ffmpeg-devel
<Lynne> the tetra cracking talk on ccc was very interesting
<wbs> Blackhex: ok - what symbol name does that call, and does it match the calling conv of __chkstk, or does it do its own thing?
<wbs> Blackhex: can you show what code it generates for "void other(char* ptr); void func(void) { char buf[8192]; other(buf); }"
<thardin> tetra has been cracked for a while hasn't it? a local ham used to listen in on firefighters and bus drivers using it
<thardin> sweden's secret police uses encryption
<thardin> on tetra
<Lynne> they said they disclosed it today
<Lynne> it's not yet at the point where it can be cracked online though, so you can't listen in live
<thardin> I see
<thardin> nice, svq1 riscv asm
<wbs> also "nice" that the existing x86 asm doesn't quite match the C code
dellas has joined #ffmpeg-devel
<Blackhex> wbs: Answering that will take some time but we are on it...
cone-348 has joined #ffmpeg-devel
<cone-348> ffmpeg Michael Niedermayer release/6.1:f946c6c2f079: avformat/mov: Ignore duplicate ftyp
<cone-348> ffmpeg Michael Niedermayer release/6.1:d93b0009c449: avcodec/av1dec: Fix resolving zero divisor
<cone-348> ffmpeg Michael Niedermayer release/6.1:fde01699ebd9: tools/target_dec_fuzzer: Adjust threshold for VMIX
<cone-348> ffmpeg Dale Curtis release/6.1:ca5ebfb066b1: avformat/mov: Fix integer overflow in mov_read_packet().
<cone-348> ffmpeg Nuo Mi release/6.1:0ecd15b83931: avcodec/cbs_h266: more restrictive check on pps_tile_idx_delta_val
<cone-348> ffmpeg Pierre-Anthony Lemieux release/6.1:fb724ad64e2d: avcodec/jpeg2000htdec: check if block decoding will exceed internal precision
<cone-348> ffmpeg Brad Smith release/6.1:4f879d26e1e8: configure: Enable section_data_rel_ro for FreeBSD and NetBSD aarch64 / arm
<cone-348> ffmpeg Michael Niedermayer release/6.1:bb84cbfd0c0f: avcodec/osq: Implement flush()
<cone-348> ffmpeg Michael Niedermayer release/6.1:45cd69a27669: avcodec/jpeglsdec: Check Jpeg-LS LSE
<cone-348> ffmpeg Michael Niedermayer release/6.1:84f78ac3eac5: avformat/mov: do not set sign bit for chunk_offsets
<cone-348> ffmpeg Michael Niedermayer release/6.1:bf2d7b20ea1c: avcodec/jpegxl_parser: Add padding to cs_buffer
<cone-348> ffmpeg Michael Niedermayer release/6.1:3061bf668fef: avfilter/avf_showspectrum: fix off by 1 error
<cone-348> ffmpeg Michael Niedermayer release/6.1:e809c23786fe: avfilter/vf_gradfun: Do not overread last line
<cone-348> ffmpeg Michael Niedermayer release/6.1:162b4c60c8f7: avfilter/edge_template: Fix small inputs with gaussian_blur()
<cone-348> ffmpeg Michael Niedermayer release/6.1:8b8b4bdef311: avfilter/vf_weave: Fix odd height handling
<cone-348> ffmpeg Michael Niedermayer release/6.1:c02d56b3cf9d: Update for 6.1.1
ccawley2011 has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
<Blackhex> wbs: The answer from my colleage: "
<Blackhex> __chkstk is generated by MSVC compiler and provides an implementation for stack probing. Stack probing calculates how many pages are allocated on the stack and touches them one by one from bottom to top to map all pages to the memory. It is not exclusive to the Windows ABI; it is also supported by other operating systems. It can be enabled in GCC by using the "stack-check" with STATIC_BUILTIN_STACK_CHECK.
<Blackhex>
<Blackhex> The difference between GCC and MSVC generation is that MSVC generates the __chkstk function, while GCC uses an inline implementation. The GCC approach might provide better performance; however, it generates inline stack probing in the prolog for every function that allocates more than one page on the stack. Since it is not common for every function to allocate more than one page on the stack, in terms of size, it should also be fin
<Blackhex> e.
<Blackhex> The produced assembly is:
<Blackhex> 001C: D14007EA  sub         x10,sp,#1,lsl #0xC
<Blackhex> 0020: 9293FFEB  mov         x11,#-0xA000
<Blackhex> 0024: F2BFFF6B  movk        x11,#0xFFFB,lsl #0x10
<Blackhex> 0028: 8B2B63EB  add         x11,sp,x11
<Blackhex> LPSRL0:
<Blackhex> "
deus0ww has quit [Ping timeout: 246 seconds]
<wbs> Blackhex: oh, if GCC uses an inline expansion, that's fine - and for small stack increments that's even more efficient indeed.
<wbs> (although that assembly listing seems to have been cut short)
deus0ww has joined #ffmpeg-devel
kurosu has joined #ffmpeg-devel
<Blackhex> wbs: You are right, my bad https://nopaste.net/BtK6bzQimC
mkver has quit [Ping timeout: 252 seconds]
mkver has joined #ffmpeg-devel
tmm1_ has quit [Ping timeout: 245 seconds]
tmm1 has joined #ffmpeg-devel
Krowl has joined #ffmpeg-devel
mkver has quit [Ping timeout: 245 seconds]
<thardin> has there ever been a discussion of enabling -Werror?
<nevcairiel> I dont like Werror, compiler updates and your project doesnt build anymore from some new bogus warning
<j-b> Werror should only be used on CI and debug and never in prod and releases.
<j-b> Because you don't know all compilers, including future ones.
<JEEB> yea
<JEEB> CI Werror is not the worst idea, but means you have to deal with existing warnings first
<JEEB> (either by explicitly ignoring or fixing)
derpydoo has joined #ffmpeg-devel
<j-b> yes, it's tricky in CI
Kei_N has joined #ffmpeg-devel
Kei_N_ has quit [Ping timeout: 268 seconds]
navi has joined #ffmpeg-devel
<Lynne> werror is pure malice
<Lynne> sway and wlroots gets broken on every single gcc version
<Lynne> linux perf gets broken too
<Lynne> perf gets a bonus for having an awful build system which makes it hard to disable iirc
<Lynne> every single developer I've spoken to asking them to stop it has said "nah, you're wrong, werror is good, we're never going to stop using it and you cannot convice us otherwise"
<psykose> for sway/wlr it's at least the default meson option so -Dwerror=false is all you need
cosimone has joined #ffmpeg-devel
<Lynne> -Dyesiwanttocompile=true
<Lynne> ah, but it's meson, which means true != enabled, so it may be -Dyesiwanttocompile=enabled
ocrete is now known as ocrete1
ocrete4 has joined #ffmpeg-devel
ocrete4 is now known as ocrete
ocrete has quit [Client Quit]
ocrete has joined #ffmpeg-devel
ocrete1 has quit [Quit: The Lounge - https://thelounge.chat]
<Traneptora> well there's plenty of warnings generated by gcc in git master so werror makes no sense to even think about until we fix them
lexano has quit [Ping timeout: 252 seconds]
<thardin> does -f crc only hash the bits of the packets or other fields alsO?
<nevcairiel> data only
lexano has joined #ffmpeg-devel
beastd has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
<thardin> hum hum..
beastd has joined #ffmpeg-devel
<thardin> there we go
Krowl has quit [Read error: Connection reset by peer]
kurosu has quit [Quit: Connection closed for inactivity]
<thardin> looking pretty good. position is the only thing that differs in most refs
<thardin> will have to finish this up tomorrow. dinner time
cone-348 has quit [Quit: transmission timeout]
cosimone has quit [Ping timeout: 260 seconds]
Krowl has joined #ffmpeg-devel
feiw2 has quit [Ping timeout: 240 seconds]
feiw2 has joined #ffmpeg-devel
Krowl has quit [Quit: Krowl]
Krowl has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
lexano has quit [Ping timeout: 260 seconds]
lexano has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
anotherXmas is now known as anotherYearEnds
lexano has quit [Ping timeout: 256 seconds]
tmm1_ has joined #ffmpeg-devel
lexano has joined #ffmpeg-devel
tmm1 has quit [Ping timeout: 256 seconds]
rvalue has quit [Ping timeout: 255 seconds]
mkver has quit [Ping timeout: 276 seconds]
rvalue has joined #ffmpeg-devel
Marth64 has joined #ffmpeg-devel
<Marth64> I wrote a muxer for RCWT (simple but effective format for archiving closed captions, used by ccextractor)
<Marth64> Will submit soon
<Marth64> Can give some interop between ffmpeg and ccextractor when dealing with evil closed captions
thresh has joined #ffmpeg-devel
<anotherYearEnds> heh. lossless MJPEG encoding on a RP2040 for GameBoy https://streaming.media.ccc.de/37c3/relive/11928
derpydoo has quit [Quit: derpydoo]
Marth64 has quit [Read error: Connection reset by peer]
wyatt8740 has quit [Ping timeout: 245 seconds]
stevenliu_ has quit [Read error: Connection reset by peer]
jamrial_ has joined #ffmpeg-devel
stevenliu_ has joined #ffmpeg-devel
jamrial has quit [Read error: Connection reset by peer]
wyatt8740 has joined #ffmpeg-devel
cone-863 has joined #ffmpeg-devel
<cone-863> ffmpeg Thomas Guilbert master:ff451df94798: avformat/mov: Fix MSAN issue with stsd_id
<cone-863> ffmpeg Michael Niedermayer master:850ab8f6da58: avcodec/jpegxl_parser: Check get_vlc2()
<cone-863> ffmpeg Michael Niedermayer master:61e73851a33f: avfilter/f_reverse: Apply PTS compensation only when pts is available
<cone-863> ffmpeg Michael Niedermayer master:50f0f8c53c81: avfilter/af_stereowiden: Check length
<cone-863> ffmpeg Michael Niedermayer master:9d1ba698d2be: avfilter/vf_swaprect: assert that rectangles are within memory
<cone-863> ffmpeg Michael Niedermayer master:a88b06f9ee8c: avfilter/af_alimiter: Check nextpos before use
<cone-863> ffmpeg Michael Niedermayer master:9f4c5bd7d23e: avfilter/vf_swaprect: Use height for vertical variables
<cone-863> ffmpeg Michael Niedermayer master:7deaca71b32c: avfilter/vf_swaprect: round coordinates down
<cone-863> ffmpeg Michael Niedermayer master:bf1159774b94: avcodec/vaapi_encode: Avoid double AVERRORS
<cone-863> ffmpeg Michael Niedermayer master:bb04235d728a: avfilter/vf_vidstabdetect: Avoid double AVERRORS
<cone-863> ffmpeg Michael Niedermayer master:029294ff541c: avformat/flacdec: Avoid double AVERRORS
s55 has quit [Ping timeout: 268 seconds]
AbleBacon has joined #ffmpeg-devel
s55 has joined #ffmpeg-devel
ccawley2011 has quit [Read error: Connection reset by peer]
dellas has quit [Remote host closed the connection]
<cone-863> ffmpeg Michael Niedermayer release/6.1:2eb597816a96: avcodec/jpegxl_parser: Check get_vlc2()
<cone-863> ffmpeg Thomas Guilbert release/6.1:2bd36ef4c770: avformat/mov: Fix MSAN issue with stsd_id
<cone-863> ffmpeg Michael Niedermayer release/6.1:0c5254378120: avfilter/af_stereowiden: Check length
<cone-863> ffmpeg Michael Niedermayer release/6.1:e01a55c5283b: avfilter/f_reverse: Apply PTS compensation only when pts is available
<cone-863> ffmpeg Michael Niedermayer release/6.1:e43a3d8d304d: avfilter/af_alimiter: Check nextpos before use
<cone-863> ffmpeg Michael Niedermayer release/6.1:8e99388c1b64: avfilter/vf_swaprect: assert that rectangles are within memory
<cone-863> ffmpeg Michael Niedermayer release/6.1:301100ddfbec: avfilter/vf_swaprect: Use height for vertical variables
<cone-863> ffmpeg Michael Niedermayer release/6.1:2450e202c470: avfilter/vf_swaprect: round coordinates down
<cone-863> ffmpeg Michael Niedermayer release/6.1:2b403b88fcec: avcodec/vaapi_encode: Avoid double AVERRORS
<cone-863> ffmpeg Michael Niedermayer release/6.1:f2d836819da4: avfilter/vf_vidstabdetect: Avoid double AVERRORS
<cone-863> ffmpeg Michael Niedermayer release/6.1:ef879f02f2cf: avformat/flacdec: Avoid double AVERRORS
<cone-863> ffmpeg Michael Niedermayer release/6.1:41f32f0bc424: Changelog: update
epony has quit [Remote host closed the connection]