Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
30898286
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
30898286
编写于
7月 19, 2001
作者:
F
Fabrice Bellard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test
Originally committed as revision 3 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
9aeeeb63
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
0 addition
and
102 deletion
+0
-102
jpegenc.c
jpegenc.c
+0
-102
未找到文件。
jpegenc.c
已删除
100644 → 0
浏览文件 @
9aeeeb63
/*
* Miscellaneous MJPEG based formats
* Copyright (c) 2000 Gerard Lantau.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <stdlib.h>
#include <stdio.h>
#include <netinet/in.h>
#include <string.h>
#include "mpegenc.h"
/* Multipart JPEG */
#define BOUNDARY_TAG "ffserver"
static
int
mpjpeg_write_header
(
AVFormatContext
*
s
)
{
UINT8
buf1
[
256
];
snprintf
(
buf1
,
sizeof
(
buf1
),
"--%s
\n
"
,
BOUNDARY_TAG
);
put_buffer
(
&
s
->
pb
,
buf1
,
strlen
(
buf1
));
put_flush_packet
(
&
s
->
pb
);
return
0
;
}
static
int
mpjpeg_write_video
(
AVFormatContext
*
s
,
UINT8
*
buf
,
int
size
)
{
UINT8
buf1
[
256
];
snprintf
(
buf1
,
sizeof
(
buf1
),
"Content-type: image/jpeg
\n\n
"
);
put_buffer
(
&
s
->
pb
,
buf1
,
strlen
(
buf1
));
put_buffer
(
&
s
->
pb
,
buf
,
size
);
snprintf
(
buf1
,
sizeof
(
buf1
),
"
\n
--%s
\n
"
,
BOUNDARY_TAG
);
put_buffer
(
&
s
->
pb
,
buf1
,
strlen
(
buf1
));
put_flush_packet
(
&
s
->
pb
);
return
0
;
}
static
int
mpjpeg_write_trailer
(
AVFormatContext
*
s
)
{
return
0
;
}
AVFormat
mpjpeg_format
=
{
"mpjpeg"
,
"Mime multipart JPEG format"
,
"multipart/x-mixed-replace;boundary="
BOUNDARY_TAG
,
"mjpg"
,
CODEC_ID_NONE
,
CODEC_ID_MJPEG
,
mpjpeg_write_header
,
NULL
,
mpjpeg_write_video
,
mpjpeg_write_trailer
,
};
/* single frame JPEG */
static
int
jpeg_write_header
(
AVFormatContext
*
s
)
{
return
0
;
}
static
int
jpeg_write_video
(
AVFormatContext
*
s
,
UINT8
*
buf
,
int
size
)
{
put_buffer
(
&
s
->
pb
,
buf
,
size
);
put_flush_packet
(
&
s
->
pb
);
return
1
;
/* no more data can be sent */
}
static
int
jpeg_write_trailer
(
AVFormatContext
*
s
)
{
return
0
;
}
AVFormat
jpeg_format
=
{
"jpeg"
,
"JPEG image"
,
"image/jpeg"
,
"jpg,jpeg"
,
CODEC_ID_NONE
,
CODEC_ID_MJPEG
,
jpeg_write_header
,
NULL
,
jpeg_write_video
,
jpeg_write_trailer
,
};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录