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.1 has been released! | Please read ffmpeg.org/developer.html#Code-of-conduct
rvalue has quit [Ping timeout: 252 seconds]
rvalue has joined #ffmpeg-devel
lexano has quit [Ping timeout: 246 seconds]
mkver has quit [Ping timeout: 246 seconds]
dellas has quit [Remote host closed the connection]
lemourin has quit [Killed (zirconium.libera.chat (Nickname regained by services))]
orthoplex64 has joined #ffmpeg-devel
BradleyS has quit [Quit: quit]
<BBB>
cworley: that could use an example of impacted result, y'know
<BBB>
like a before/after on a real file, or something
BradleyS has joined #ffmpeg-devel
jamrial_ has quit []
<cworley>
Sure. I'll show with a dds file or something
<cworley>
As-is, color comes out extra dark when an already premultiplied file is premultiplied again during decoding
Marth64 has joined #ffmpeg-devel
Martchus has joined #ffmpeg-devel
Martchus_ has quit [Ping timeout: 264 seconds]
rooisnoek has joined #ffmpeg-devel
kurosu has quit [Quit: Connection closed for inactivity]
<Traneptora>
I just discovered the hell that is MakerTag in EXIF
<Traneptora>
how do we wish to handle this?
<Traneptora>
MakerNote is an EXIF tag with id 0x927c, and by the EXIF spec it's an opaque binary blob
<Traneptora>
the reality is that it's often actually an IFD itself, which means in TIFF files it contains offsets relative to the head of the file, not to the head of the ExifTag
<Traneptora>
and whether or not it's actually an IFD itself depends entirely on Manufacturer. for example, Canon cameras use MakerNote to just be an IFD. Samsung also uses an empty IFD but its offsets are relative to the start of the MakerNote
<Traneptora>
copying the binary blob as-is will corrupt it if it's an IFD, because all the offsets will be incorrect
<Traneptora>
this is only an issue for TIFF files, but how do we wish to handle this?
taniey has quit [Ping timeout: 264 seconds]
qeed_ has quit [Quit: qeed_]
AbleBacon has quit [Read error: Connection reset by peer]
qeed has joined #ffmpeg-devel
rooisnoek has quit [Quit: Leaving]
Marth64 has quit [Ping timeout: 268 seconds]
Marth64 has joined #ffmpeg-devel
epony has joined #ffmpeg-devel
epony has quit [Read error: Connection reset by peer]
Teukka` has joined #ffmpeg-devel
Teukka has quit [Ping timeout: 252 seconds]
epony has joined #ffmpeg-devel
kurosu has joined #ffmpeg-devel
Marth64 has quit [Ping timeout: 268 seconds]
Krowl has joined #ffmpeg-devel
ngaullier has joined #ffmpeg-devel
Krowl has quit [Read error: Connection reset by peer]
Raz- has quit [Quit: Leaving]
Rathann has joined #ffmpeg-devel
<Rathann>
hello
<Rathann>
How does one request a particular commit to be back ported to older branch?
<Traneptora>
try mentioning the commit
<Traneptora>
and which branch
Krowl has joined #ffmpeg-devel
mkver has joined #ffmpeg-devel
<jdek>
Anyone around in brussels already?
<JEEB>
Rathann: you just request a backport of hash x to older branches on the ML. you can usually check if it's zero effort by doing a `git cherry-pick -x HASH` in your local git clone when on that old branch
<Traneptora>
tbh you can also ask here, you just need to actually ask
<Daemon404>
jdek, koda is
<Daemon404>
but he is not in this cgannel
<Daemon404>
channel even
* Daemon404
currently on train
<JEEB>
trains are good civilization
<haasn>
great
<haasn>
my train got cancelled due to vandalism
<Daemon404>
thats a new one
<Rathann>
JEEB, Traneptora: thanks
<Rathann>
I'd like to request backporting a0a0a804998da8d1a397479c9bafeb000e6be088 to 6.0.x
<haasn>
Seems only trains via frankfurt -> köln are affected
<another|>
yeah, vandalism between frankfurt - cologne
<another|>
am currently on this leg. train is taking a >2h detour
<another|>
oh, well. at least I'l get money back
<another|>
lol. just got an email that my "arrival in Brussels will be belated by 5 min"
<elenril>
haasn: I'd expect this kind of thing further east
<haasn>
I have the vague suspicion it’s caused by protesting farmers
<haasn>
They also block roads
<elenril>
outsource farming to poland
<elenril>
no farmers=no problem
dellas has quit [Remote host closed the connection]
<Daemon404>
didnt the farmers specifically say they aimed to cause train issuws
epony has joined #ffmpeg-devel
<nevcairiel>
i really fail to see the point in such actions, it will just totally kill any goodwill in the population, and you want to keep that if you want the government to be the bad guy, not yourself
jamrial has joined #ffmpeg-devel
<haasn>
Daemon404: source? lol if true
dellas has joined #ffmpeg-devel
dellas has quit [Remote host closed the connection]
<JEEB>
elenril: I think this time poland is also gonna protest since черноземь is OP with multiple harvests per year
<JEEB>
just like spain/france/etc protested in the turn of the century
<JEEB>
when poland etc entered the EU
kurosu has quit [Quit: Connection closed for inactivity]
BradleyS has quit [Quit: quit]
BradleyS has joined #ffmpeg-devel
<galad>
about one third of the European Union budget is dedicated to agricolture, and Poland will be equally affected by same reworking of EU agricultural subsidies
<galad>
but some protests are about local laws, so I don't know if there will be some in Poland too
Krowl has quit [Read error: Connection reset by peer]
TheElixZammuto has quit [Remote host closed the connection]
<elenril>
>If I followed correctly, Android AOSP had started migrating from Make to "Kati" and "Soong", and then partway through that migration they started a big migration to Bazel.
<Marth64>
i thought they were namde after desserts
<Traneptora>
elenril: yes, if we know what format it takes. the problem is the format depends highly on the manufacturer
<elenril>
so ideally we'd parse it ourselves
<Traneptora>
some manufacturers can be relocated as a blob either because it's not an IFD or because it is an IFD but relative to the start of the file
<elenril>
for the rest, export the blob and the offset it was stored at?
<Traneptora>
for the others we have to parse it, which will result in a big switch statement based on the initial bytes
<Traneptora>
which we *can* do but it seems really ugly
Marth64 has quit [Ping timeout: 260 seconds]
<elenril>
is there any realistic alternative?
Marth64 has joined #ffmpeg-devel
<Traneptora>
if we want to move it to a non-TIFF format (e.g. PNG) then it will be corrupted unless we parse it
<Traneptora>
atm we don't write MakerNote at all
<Traneptora>
are we willing to corrupt it when camera manufacturers don't follow spec or are we not I guess is the question
<elenril>
could be an option
<elenril>
e.g. you could have multiple side data types
<elenril>
one for parsed, one for the blob
<elenril>
the muxer would require an option to be set when writing the blob
<Traneptora>
another thought is to add a metadata option to AVFrameSideData which is "exiftag's original offset in the original file"
<Traneptora>
but that doesn't fix the writing-corrupt problem
* elenril
stabs Traneptora
<Traneptora>
like, I saw your suggestion but I don't think it fixes the problem
<Traneptora>
since in order to adjust the IFD offsets, you'll have to parse the IFD itself
<elenril>
someone has to, no?
<Traneptora>
yea, but if we're going to do that why don't we just fix them when we do
<elenril>
the suggestion is: when we can parse the blob, we do so
<Traneptora>
the biggest issue is that whether or not it's an IFD requires a big lookup table based on manufacturer, and is that something we are willing to do?
<elenril>
when we can't, we give the blob to the caller with all the information they need to parse it
<elenril>
I have no fundamental problem with a big lookup table when there's no better way
<Traneptora>
if you think that's fine then sure
<elenril>
big lookup tables were just unjustly maligned
<elenril>
they never actually murdered anyone and danced on the corpse
<Traneptora>
it just feels kinda gross to have a manufacturer-based LUT to parse something. like we're back in the DVD era
<Marth64>
lol dvd
<elenril>
don't try to parse exif then
<elenril>
"doctor it hurts when I stab myself"
<Traneptora>
doctor it hurts when I work on FFmpeg
<elenril>
and now you see why it's only crazy people here