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 7.1.1 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
bwu25 has quit [Ping timeout: 260 seconds]
iive has quit [Quit: They came for me...]
minimal has quit [Quit: Leaving]
_whitelogger has joined #ffmpeg-devel
j45 has joined #ffmpeg-devel
IndecisiveTurtle has quit [Quit: IndecisiveTurtle]
TheVibeCoder has quit [Ping timeout: 252 seconds]
Flat has quit [Quit: Rip internet]
<fflogger> [editedticket] emmastrck: Ticket #11639 ([ffmpeg] [security] libavcodec/aac/aacdec.c:195:27 SEGV in frame_configure_elements) updated https://trac.ffmpeg.org/ticket/11639#comment:3
Flat has joined #ffmpeg-devel
<jamrial> Lynne: ^
markh has joined #ffmpeg-devel
steven-netint has quit [Quit: Connection closed for inactivity]
<fflogger> [editedticket] j7n: Ticket #11578 ([ffmpeg] Waveform discontinuity in decoded E-AC-3) updated https://trac.ffmpeg.org/ticket/11578#comment:15
Martchus has quit [Ping timeout: 244 seconds]
jamrial has quit []
mkver has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
steven-netint has joined #ffmpeg-devel
mkver has quit [Ping timeout: 265 seconds]
System_Error has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 260 seconds]
bsFFFFFF has joined #ffmpeg-devel
termos__ has quit [Ping timeout: 245 seconds]
sudden has quit [Ping timeout: 245 seconds]
c_14 has quit [Ping timeout: 245 seconds]
sudden has joined #ffmpeg-devel
c_14 has joined #ffmpeg-devel
<kode54> System_Error: it's not on libera where they'd be doing this, though
<kode54> it's a services bot that requires oper permissions to mass join people
Teukka has quit [Read error: Connection reset by peer]
Teukka has joined #ffmpeg-devel
System_Error has quit [Ping timeout: 244 seconds]
ramiro has quit [Ping timeout: 244 seconds]
any1 has left #ffmpeg-devel [#ffmpeg-devel]
any1 has joined #ffmpeg-devel
System_Error has joined #ffmpeg-devel
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg-devel
steven-netint has quit [Quit: Connection closed for inactivity]
<fflogger> [editedticket] StevenAllanSpielber: Ticket #11653 ([undetermined] -c copy does not copy track names) updated https://trac.ffmpeg.org/ticket/11653#comment:5
averne has quit [Ping timeout: 252 seconds]
averne has joined #ffmpeg-devel
microlappy has joined #ffmpeg-devel
microlappy has quit [Client Quit]
averne has quit [Read error: Connection reset by peer]
TheVibeCoder has joined #ffmpeg-devel
Everything has joined #ffmpeg-devel
System_Error has quit [Remote host closed the connection]
HarshK23 has quit [Quit: Connection closed for inactivity]
jamrial has joined #ffmpeg-devel
System_Error has joined #ffmpeg-devel
<TheVibeCoder> Lynne: thanks for DC mask fix, now i have working 1 version of proresraw
<Lynne> no, its still broken
<Lynne> non-hq is broken, and hq is inaccurate
<TheVibeCoder> broken in what sense?
<Lynne> non-compliant
<Lynne> the qmatrix is off by 1 for hq
<Lynne> 15 >> 1 == 7, not 8
<fflogger> [newticket] qubodup: Ticket #11656 ([ffmpeg] -bitexact does not remove metadata encoder tag in OGG Vorbis files) created https://trac.ffmpeg.org/ticket/11656
<fflogger> [editedticket] nyanmisaka: Ticket #11655 ([avcodec] Cuda/nvdec hwaccel outputs P016LE instead of P010LE on 10bit video) updated https://trac.ffmpeg.org/ticket/11655#comment:13
<Lynne> ePirat: did you manage to get an output yet?
<TheVibeCoder> Lynne: currently qscale is 16bit
<TheVibeCoder> but probably its 2 8bit numbers
<TheVibeCoder> bigger one is added to DC
<TheVibeCoder> and another is factor
<TheVibeCoder> probably also IDCT needs to be extended for bigger depth
<Lynne> you think so?
<Lynne> IMO qscale is subtracted from 16384 and used to mult all coeffs
<Lynne> (after halving)
<Lynne> its sorta similar to what proresdec.c does
<TheVibeCoder> dunno, but that is waste of bits
<TheVibeCoder> and for HQ, it looks like positions are swapped in current 'qscale'
<TheVibeCoder> because currently you get negative DC values before giving them to IDCT
<TheVibeCoder> that is big no-no
<Lynne> positions? bytes?
<TheVibeCoder> yea
<TheVibeCoder> for HQ - just swap if dc_offset is smaller than qscale
<Lynne> dc_offset?
<Lynne> this sounds very guesswork-y
<Lynne> did you manage to decompile the decoder?
<TheVibeCoder> no
<TheVibeCoder> before: https://0x0.st/80Ck.png | after: https://0x0.st/80CD.png
<TheVibeCoder> this is normal RAW, no HQ
<Lynne> I get the same with my version too
<Lynne> or close to it
<Lynne> I still have no clue what you mean by this either, show me code
<Lynne> it sounds pretty bs
minimal has joined #ffmpeg-devel
<TheVibeCoder> Lynne: https://0x0.st/8GrH.diff
<Lynne> I don't buy "if (avctx->codec_tag == MKTAG('a', 'p', 'r', 'h'))", apple wouldn't do something like that
<TheVibeCoder> lool
<Lynne> they have hardware decoding for the codec, and this would be one more thing that they would have to feed the hardware
<Lynne> externally, rather than relying on the bitstream
<TheVibeCoder> maybe its also stored in bitstream
<Lynne> I checked the skipped bytes in the header, they were constant
bsFFFFFF has quit [Ping timeout: 245 seconds]
Everything has quit [Ping timeout: 260 seconds]
Everything has joined #ffmpeg-devel
bsFFFFFF has joined #ffmpeg-devel
ramiro has joined #ffmpeg-devel
microlappy has joined #ffmpeg-devel
microlappy has quit [Client Quit]
ramiro has quit [Quit: leaving]
ramiro has joined #ffmpeg-devel
IndecisiveTurtle has joined #ffmpeg-devel
kasper93_ has joined #ffmpeg-devel
kasper93 has quit [Killed (tantalum.libera.chat (Nickname regained by services))]
kasper93_ is now known as kasper93
averne has joined #ffmpeg-devel
averne has quit [Client Quit]
System_Error has quit [Remote host closed the connection]
averne has joined #ffmpeg-devel
averne has quit [Quit: quit]
averne has joined #ffmpeg-devel
System_Error has joined #ffmpeg-devel
novaphoenix has quit [Quit: i quit]
novaphoenix has joined #ffmpeg-devel
elvis_a_presley has quit [Quit: smoke-bomb ; grapple-hook]
elvis_a_presley has joined #ffmpeg-devel
<ePirat> Lynne, poking at it now
<Lynne> thanks
<ePirat> can I not force a specific hwdec in ffmpeg?!
<jamrial> yes, -hwaccel $name as input argument
<ePirat> doesnt work
<jamrial> it should
<ePirat> [vist#0:0/prores_raw @ 0x614000000c40] Unrecognized hwaccel: prores_videotoolbox.
<ePirat> [vist#0:0/prores_raw @ 0x614000000c40] Supported hwaccels: videotoolbox
<ePirat> if I use just videotoolbox it just silently falls back to software…
<jamrial> hwaccel is to choose the hardware type, not codec+hardware
<jamrial> so -hwaccel videotoolbox is correct
<jamrial> make sure you're using the decoder that has the hwaccel hooks too
<ePirat> hwaccel videotoolbox just silently falls back to sw
<jamrial> does it even try to start the decoder? maybe your gpu doesn't support that stream
<ePirat> well thats the whole point of forcing the hw path so I can actually have it fail when it doesnt work
<ePirat> so I can see whats going on
BradleyS has quit [Read error: Connection reset by peer]
BradleyS has joined #ffmpeg-devel
<ePirat> the way the hwaccels for VT are done is really annoying as it doesnt fit the API at all as its not a typical hwaccel
<galad> well, at least it works, much better than the standalone qsv decoders for example, and all their missing features
<ePirat> jamrial, forgot the entry in the hwaccels list
<Lynne> ePirat: make sure to add the hwaccel to hwaccels.c
<ePirat> Lynne, hwaccels.h you mean?
<Lynne> yes
<ePirat> I get 'Selecting decoder 'prores_raw' because of requested hwaccel method videotoolbox' but it never calls the init function for it even so I guess more is needed
<ePirat> Ah, got the ifdef for the pixfmt wrong
System_Error has quit [Ping timeout: 244 seconds]
<Lynne> ePirat: updated my repo to add all hooks
System_Error has joined #ffmpeg-devel
Everything has quit [Read error: Connection reset by peer]
Everything has joined #ffmpeg-devel
<Lynne> ePirat: pushed another fix, this time the vulkan hwaccel is working and able to draw something on screen
<ePirat> thanks, will try, got it to the point where it properly opens the videotoolbox accell at least
SuperFashi has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<ePirat> Lynne, got it to decode something
<Lynne> awesome, what did you get?
iive has joined #ffmpeg-devel
<ePirat> well for now I just used the non-hw output path to see if I even get anything so the result is a clipping mess of what it should look like. Will try now to output actual videotoolbox frames and see what native pixfmt it gives me there
mkver has joined #ffmpeg-devel
<Lynne> non-hw output? as in the videotoolbox, but in software mode?
<Lynne> the C decoder should output something correct-looking
MisterMinister has joined #ffmpeg-devel
<ePirat> Lynne, kCVPixelFormatType_444YpCbCr8BiPlanarVideoRange = '444v', /* Bi-Planar Component Y'CbCr 8-bit 4:4:4, video-range (luma=[16,235] chroma=[16,240]) … */ is what I get from VT
<ePirat> Lynne, the C decoder produces something close but colors are weird green-ish compared to how it looks in quicktime
<TheVibeCoder> cant you force singel plane gray with >8 bits at all?
<ePirat> actually the code was still forcing some format……
<ePirat> without forcing anything I get kCVPixelFormatType_64RGBAHalf = 'RGhA', /* 64 bit RGBA IEEE half-precision float, 16-bit little-endian samples */
<ePirat> trying to make it give me kCVPixelFormatType_16VersatileBayer fails for some reason…
System_Error has quit [Remote host closed the connection]
<ePirat> Ah, if I disable VT hwdec and then force kCVPixelFormatType_16VersatileBayer it works
<ePirat> Lynne, I assume thats what you wanted?
<Lynne> yeah, could you upload them somewhere?
<Lynne> NUT supports bayer, btw
<ePirat> Lynne, still need to figure out how to map that to a ffmpeg pixfmt
<Lynne> AV_PIX_FMT_BAYER_RGGB16
<ePirat> yeah but I need to make sure its RGGB first
<ePirat> Ah there is kCVPixelBufferVersatileBayerKey_BayerPattern which seems to contain that info…
bsFFFFFF has quit [Ping timeout: 260 seconds]
mkver has quit [Ping timeout: 244 seconds]
System_Error has joined #ffmpeg-devel
MisterMinister has quit [Read error: Connection reset by peer]
MisterMinister has joined #ffmpeg-devel
Everything has quit [Ping timeout: 260 seconds]
j45 has quit [Ping timeout: 260 seconds]
<Lynne> ePirat: by spec it should be RGGB16
<Lynne> I assume, the bitstream carries no bayer order info, so it must be constant
j45 has joined #ffmpeg-devel
<ePirat> Lynne, is av_get_pix_fmt_name not implemented for the bayer formats?
<Lynne> no, it is
<ePirat> ok then something else gets upset…
<ePirat> Pixel format '(null)' is not supported
<Lynne> hwcontext_videotoolbox?
<ePirat> yes
MisterMinister has quit [Remote host closed the connection]
MisterMinister has joined #ffmpeg-devel
<ePirat> Ah I think I found the issue
<ePirat> videotoolbox_best_pixel_format
<ePirat> hmm no even that should always return a valid one…
<ePirat> Lynne, not really sure how the sw_format ends up as AV_PIX_FMT_NONE…
<Lynne> for now, you can just dump it via fwrite directly to a file
<TheVibeCoder> yea
<Lynne> then -f bayer_rggb16 -s <resolution> -i <file> -c:v rawvideo -y out.nut
jamrial has quit []
<ePirat> ok, one moment…
\\Mr_C\\ has joined #ffmpeg-devel
<Lynne> bayer is a single buffer, you can just fwrite all of avframe->data[0] directly
<ePirat> well yeah I dont have an AVFrame yet so I had to check how to get out of the CVPixelBuffer
<Lynne> ah
<ePirat> trying your command above to make the nut gives me Unknown input format: 'bayer_rggb16'
minimal has quit [Quit: Leaving]
<TheVibeCoder> -f rawvideo -pix_fmt bayer...
<Lynne> ^^
<TheVibeCoder> -f rawvideo -pixel_format bayer...
<TheVibeCoder> ffmpeg -h demuxer=rawvideo
<ePirat> yeah, thanks!
<ePirat> got it
averne_ has joined #ffmpeg-devel
averne has quit [Ping timeout: 245 seconds]
averne_ is now known as averne
<Lynne> that's MSB padded
<Lynne> could you make a LSB padded dump (left shift each pixel value by 4)?
System_Error has quit [Ping timeout: 244 seconds]
<TheVibeCoder> ?
<TheVibeCoder> the sample already uses full range
<Lynne> fuck, really?
<Lynne> its not 12 bits?
<TheVibeCoder> i doubt proresraw outputs in pure raw
<TheVibeCoder> 12bits
<TheVibeCoder> its already 16bits
<TheVibeCoder> is it upsamples from 12bits? who knows..
<TheVibeCoder> lets check if lower 4 bits are set...
<Lynne> ePirat: could you do the same for the other 2 files?
<Lynne> nonhq and version0
System_Error has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 260 seconds]
MisterMinister has joined #ffmpeg-devel
<TheVibeCoder> it looks like it uses all 16 bits
MisterMinister has quit [Ping timeout: 260 seconds]
<ePirat> Lynne, is it useful?
<ePirat> will do the other two as well, one sec
MisterMinister has joined #ffmpeg-devel
<TheVibeCoder> ePirat: can you force linear colorspace somehow?
<ePirat> TheVibeCoder, not sure
<ePirat> now ffmpeg got upset about something and I have no idea whats going on
<ePirat> Truncating packet of size 35020800 to 64
<ePirat> for ffmpeg -f rawvideo -pixel_format bayer_rggb16 -s 5760x3040 -i /Users/epirat/Projects/ffmpeg/dump.bin -c:v rawvideo out.nut
<TheVibeCoder> truncated file
<ePirat> oh seems its because of the padding
<ePirat> version0 is a bit more tricky
<ePirat> there is no way to tell rawvideo the stride?
<ePirat> Lynne ^
TheVibeCoder has quit [Ping timeout: 260 seconds]
<ePirat> for the version0, I get ExtendedPixelsRight = 8;
<ePirat> not entirely sure what that means as it does not match the padding when looking at the stride…
<ePirat> so maybe those are actually included in the visible rect or something…
iive has quit [Ping timeout: 244 seconds]
MisterMinister has quit [Ping timeout: 248 seconds]
MisterMinister has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 252 seconds]
<IndecisiveTurtle> Lynne: Do you have a suggestion on how to best parallelize the run-coded AC coefficient estimation https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/proresenc_kostya.c#L666 Because the codebook depends on previous run I'm not too sure how multiple threads can work on it, but it would be nice as the loop has a lot of iterations
MisterMinister has joined #ffmpeg-devel
Gramner has quit [Ping timeout: 252 seconds]
Gramner has joined #ffmpeg-devel
MisterMinister has quit [Read error: Connection reset by peer]
MisterMinister has joined #ffmpeg-devel
MisterMinister has quit [Ping timeout: 245 seconds]
MisterMinister has joined #ffmpeg-devel
System_Error has quit [Ping timeout: 244 seconds]
MisterMinister has quit [Read error: Connection reset by peer]