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 3A73049788 for ; Mon, 19 Feb 2024 08:31:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DE02968D35B; Mon, 19 Feb 2024 10:31:47 +0200 (EET) Received: from out203-205-251-80.mail.qq.com (out203-205-251-80.mail.qq.com [203.205.251.80]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 68D8568D3BF for ; Mon, 19 Feb 2024 10:31:39 +0200 (EET) Received: from localhost.localdomain ([119.123.55.197]) by newxmesmtplogicsvrsza7-0.qq.com (NewEsmtp) with SMTP id 7E213E21; Mon, 19 Feb 2024 16:31:34 +0800 X-QQ-mid: xmsmtpt1708331494tspd0qzo3 Message-ID: X-QQ-XMAILINFO: MyIXMys/8kCtHRicK2wwQ7Q9ikzF8LVM6dNxpDKt7DQyCiJav0F83mbAJLu0pb 1eRw4TgZWWWkXU9CU7e6z/HUvT9b7UDkbP3+Uq2hqNjZYncEb71qMDImgC6rR7/WQ2sdZVFmhvic 6UKtQe8zgDH5X1x73zA45kV7KgV8oKsfZhmaElQp9mqXVjhXDJ/IPI5VNTyMgH0/D40Hh5NoQBhc HB5IL4RkTX+bD21QtK/MG1XzZVsfGg1HX7U2bKXRoTF6E63VhMY0oSuptCSTIfFqOFuwPKTkRXEI BRbXYSlfR7zRGUgGySwJmGEbzf0H8gfxzciL8tOnauECJAGwkvYW8zVL7tY5SbYmGtpIjettDdQe tNpaikYzJSaicbEdK4XyOiOFrdR3oJ6sqgiP90/cZ2lsQ40vmAHkHFGe4qLMLPwF68hK5fCtiX9h 4c3zBVaclfB/NAip+yToRv8jrATh5+d+DmbfcmYR2cSTET8tbfnr6A32DQU8cTZXxKCeWWCjj/ha gIH+QKk6omzqshTmY+Z1e5YpQNZB8lvyWsRceeVNEzrtzlBzwGDuoqKwgpvC6NkgMThGA4BCaUZo vMCLiroj4obWt93uqIg9uvPeY0z2zgziQsJYETXwEvANOdjAFHumrlWdUYZB5DCohCC1WxB8Ov/h HfDMpmKzOuAOUoqYqeMEwE3hOevZZdytykBhQ8/tge0SXamdWIRWUkhIvM0S7wDZ8E/I/JdKe2Ai l7y+pY463lrDapPEWbv+AezX+YxraTmO5ez1W/9O3uyb9PCPtwT+DSxiAX9AwrtEWtIla9qp8aPv EAuzxuCggHTnTI6/XLOrozkicEhPdIGDejqkr3qdAK8xGddHC48fNysfjlst+ZDgsYv9Ydy871UM nfVj4srkyHkuU/V0sePNslJ23lNmdxQ1n8Ak61IWtgLxQ1kwR5a/aU+fxuTUNpzqIGwzcDkr4Ubb PM+RVDcbHdoHiUIXTCB8mPYU/bFe4VbLx+JZNn3iJbKQay/6GxLWVxRcvZaH0yJGrnuwRUH8c= X-QQ-XMRINFO: Nq+8W0+stu50PRdwbJxPCL0= To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Feb 2024 16:31:16 +0800 X-OQ-MSGID: <20240219083116.1364-1-526528945@qq.com> X-Mailer: git-send-email 2.40.0.windows.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavformat/rtpenc_jpeg.c: Added support for DRI frames in MJPEG RTP packetization 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: , From: rayjay via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: rayjay <526528945@qq.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Signed-off-by: rayjay <526528945@qq.com> --- libavformat/rtpenc_jpeg.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/libavformat/rtpenc_jpeg.c b/libavformat/rtpenc_jpeg.c index e4e95931f4..721c02ff76 100644 --- a/libavformat/rtpenc_jpeg.c +++ b/libavformat/rtpenc_jpeg.c @@ -37,6 +37,7 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buf, int size) int len; int i; int default_huffman_tables = 0; + uint16_t restart_interval = 0; s->buf_ptr = s->buf; s->timestamp = s->cur_timestamp; @@ -164,6 +165,9 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buf, int size) return; } break; + } else if (buf[i + 1] == DRI) { + type |= 0x40; + restart_interval = AV_RB16(&buf[i + 4]); } } @@ -203,6 +207,9 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buf, int size) if (off == 0 && nb_qtables) hdr_size += 4 + 64 * nb_qtables; + if (type & 0x40) + hdr_size += 4; + /* payload max in one packet */ len = FFMIN(size, s->max_payload_size - hdr_size); @@ -214,6 +221,13 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buf, int size) bytestream_put_byte(&p, w); bytestream_put_byte(&p, h); + /* set dri */ + if (type & 0x40) { + bytestream_put_be16(&p, restart_interval); + bytestream_put_byte(&p, 0xff); + bytestream_put_byte(&p, 0xff); + } + if (off == 0 && nb_qtables) { /* set quantization tables header */ bytestream_put_byte(&p, 0); -- 2.40.0.windows.1 _______________________________________________ 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".