From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 9EDC2401E3 for ; Fri, 20 May 2022 20:55:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C2E7268B49C; Fri, 20 May 2022 23:55:06 +0300 (EEST) Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AB8B468A214 for ; Fri, 20 May 2022 23:55:00 +0300 (EEST) Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-2ff7b90e635so33204787b3.5 for ; Fri, 20 May 2022 13:55:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=mUNn/gpcEdpKcV3KfylJIqT3+eo3n4iU88LaK8D84m8=; b=A/1tgGjLAi31EprfKJRoF380CLHrs7MBKdG6uQpRd5KHmGn8MBxGBnaCUvTgkZqEiY s3V9bbYzS1OXRE+KSqX0lXasV+Xrpf+b5BrirZQPbcPoXgY7Y8AI5cBzo7nSvVwuyh7D sUmI9GjNALyJ0AfAVz3R9+XoNNlvqg9xqela5o1Tz0rlaVHIRkWWKLCKWuX74M1v5S9p Evpk2zM0hZfPcZ9kl6jqK0cxcTqDPxk5d6jh5ncQBMzSc+FtVPeUab5U2tZDvynNvtTh K03bBj2o6JP1rpZc4SPVrPvyZeOfFpZC66FUoUO526CefyFhN3qwbRX9DyvmJ8CsnYdd g8vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=mUNn/gpcEdpKcV3KfylJIqT3+eo3n4iU88LaK8D84m8=; b=NvVqjmWcwI/pRzmER+3jXZQXX53nYcJmJR/uV2/+dfJCfyhzd2GlJKAZssajQGXNfQ 1j12rpXooxIEq01bvn+LZSqCNGQjth9G89JYJc4KKgVel/PezkGQHqyGVaTzHPLPIiRY W7CsNWtpGa+iTN8zbozQd77S4o/NYiPHq99hZCOiN87FmC+ADxlhlVy/xryjoB6gWjwb z0w7gI6xYfQQjWuvQgUSZ54J8fVlIpiXhcd1GRYv0w2+vnGUu5IQ8RlPiLp1pJpJuxi6 vDGWMvXkuS/cfNYNnrKoYOCnHk79PCJvar0fCth1sRh/SzFvHJmzGUfzLYm5SODM+t5W qFrg== X-Gm-Message-State: AOAM532XW64RWKoxrZsTSIevsn6Upr5On7b0OPZFon+PXWpZogxALHCt 0KEslKMVUQykImSOvytGwAnXbUzLSEfzAFvR/K1wIyQvnMY= X-Google-Smtp-Source: ABdhPJwjx4bCVa1yJzN1NuQBs+S64upJ58p+5tRvjlml0j8IwdbFGVa32dsbHI5socmMsrXGtW0Q1AXYSgUewfMmsAA= X-Received: by 2002:a81:38c6:0:b0:2fe:dd1c:70f with SMTP id f189-20020a8138c6000000b002fedd1c070fmr11920814ywa.91.1653080095700; Fri, 20 May 2022 13:54:55 -0700 (PDT) MIME-Version: 1.0 From: Thomas Newton Date: Fri, 20 May 2022 21:54:43 +0100 Message-ID: To: ffmpeg-devel@ffmpeg.org Content-Type: multipart/mixed; boundary="000000000000e45e4705df77b324" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] image2 decoder: Add support for -skip_initial_bytes X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --000000000000e45e4705df77b324 Content-Type: text/plain; charset="UTF-8" Relevant questions from the patch submission checklist: Explanation why it changes things like it does: Sometimes input data may have custom headers that ffmpeg is not expected to understand. It seems to me, this is why `-skip_initial_bytes` exists. From the documentation it sounds like this option should be supported on all muxers and demuxers but it doesn't seem to work with image2. Summary of user visible advantages: Users wanting to use the image2 format for files with custom headers can now do just that. Example using this change: `ffmpeg -y -skip_initial_bytes 32 -f image2 -c:v rawvideo -pix_fmt rgb24 -s:v 64x64 -ts_from_file 2 -pattern_type glob -i "*.RGB8" output.mp4` >From within the example.zip I've attached. This zip file also includes `expected_output.mp4` for what the output should look like and `corrupt_output.mp4` for what I get without this patch. The patch contect itself: --- Add support for -skip_initial_bytes when using the image2 decoder. skip_initial_bytes is useful when the input data contains a custom header. Previously this was not supported when using the image2 format. Signed-off-by: Thomas Newton --- libavformat/img2dec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index 5f9d1f094f..19461aa200 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -474,6 +474,8 @@ int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt) ifmt = av_probe_input_format3(&pd, 1, &score); if (ifmt && ifmt->read_packet == ff_img_read_packet && ifmt->raw_codec_id) par->codec_id = ifmt->raw_codec_id; + } else { + avio_skip(f[i], s1->skip_initial_bytes); } if (par->codec_id == AV_CODEC_ID_RAWVIDEO && !par->width) -- 2.36.1 --- --000000000000e45e4705df77b324 Content-Type: application/x-zip-compressed; name="example.zip" Content-Disposition: attachment; filename="example.zip" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l3ewh2i00 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 8AuSP/eu91XvzatH9/Y/MHx/dOPpZ78/svXyW8nWLeruob0zB4a+flJ57aE7Hr1QSAbc8V2jmddX notJU2eX3vfXhh+ju5anpifGTu2MHOWN9qPIvfRhQR2eGL/QsWYmKe7f/M1Td536tDwNb+d1tusW oFjLLmR1bhFUT8IWgYf9FmARczXfxv0vVMGPh4nmgH6G5sKc1RX6yBX4as01+Lb5LSS4BqLTAHAd sQJa4RFZ8I0M27qJgUC2vrj21jcOhwYbx0I2mtUtf17HviuVtpvYdyaNHd0izCbyBFw1A4jagh0G rTxmgz6rq9PhPs/JmH5Z3rfQLB25NaCqBfRIQIP5QzGbt9mntYJfDG3wpAGnr2lxJdxZLsMeg6jt kRnuwfIEtyID+NU31/Yd6WEzOQBNuKGvatnHEW5J9uzpsXT54kXmWAtvWtjRyRd+ChcLFtCw2wwi FasOitD+Q85WLei2zaqqBxdkmlthL8BS8zplU3raJiFmcG/lRGCKPvY8i6uAqDk79tV7qMsCroL/ IDwXlHsMF4xECy/FeVEQ/gFQSwECFAAUAAAACAAurLRUhHO2MOECAAAgMAAAIwAAAAAAAAAAACAA AAAAAAAAZXhhbXBsZS8xNjE1NTYzMjgxMTkxODkxdW5peHVzLlJHQjhQSwECFAAUAAAACAAvrLRU hHO2MOECAAAgMAAAIwAAAAAAAAAAACAAAAAiAwAAZXhhbXBsZS8xNjE1NTYzMjgyMTkxODkxdW5p eHVzLlJHQjhQSwECFAAUAAAACAAvrLRUwLtPP70EAAALBwAAGgAAAAAAAAAAACAAAABEBgAAZXhh bXBsZS9jb3JydXB0X291dHB1dC5tcDRQSwECFAAUAAAACAAvrLRUc+anJG4EAADKBgAAGwAAAAAA AAAAACAAAAA5CwAAZXhhbXBsZS9leHBlY3RlZF9vdXRwdXQubXA0UEsFBgAAAAAEAAQAMwEAAOAP AAAAAA== --000000000000e45e4705df77b324 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --000000000000e45e4705df77b324--