On 4/15/22 07:34, Andreas Rheinhardt wrote:
Leo Izen:
+static int jpegxl_probe(const AVProbeData *p)
+{
+    const uint8_t *b = p->buf;
+
+    /* ISOBMFF-based container */
+    /* 0x4a584c20 == "JXL " */
+    if (AV_RL64(b) == FF_JPEGXL_CONTAINER_SIGNATURE_LE)
+        return AVPROBE_SCORE_EXTENSION + 1;
+    /* Raw codestreams all start with 0xff0a */
+    if (AV_RL16(b) != FF_JPEGXL_CODESTREAM_SIGNATURE_LE)
+        return 0;
+    if (ff_jpegxl_verify_codestream_header(p->buf, p->buf_size) >= 0)
This will give a linking failure if the image_jpegxl_pipe_demuxer is
disabled.

I thought of that, and I tested it, and it doesn't. It produces a compiler warning that the static function jpegxl_probe is never called, which means the linker probably throws away the function entirely, thus eliminating a linking error. Though I admit that's a guess.
For the record: I'm not really ok with duplicating this code in lavf and
lavc.

This code was removed from avcodec when I moved it over to avformat, for now, in order to avoid an avpriv in avcodec's ABI. Essentially we have to decide to either duplicate code in the future, or move it to avcodec and add an avpriv to the ABI, but that is a decision that can be made down the road when Lynne finishes her proper parser. I believe this is a better solution now than the other way around since we can later change our minds once there will actually be duplicated code, but an avpriv cannot be removed once added without waiting the necessary ABI change period.

- Leo Izen (thebombzen)
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to