Merge commit '716d413c13'
* commit '716d413c13':
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
Conflicts:
doc/examples/muxing.c
ffmpeg.h
ffmpeg_filter.c
ffmpeg_opt.c
ffplay.c
ffprobe.c
libavcodec/8bps.c
libavcodec/aasc.c
libavcodec/aura.c
libavcodec/avcodec.h
libavcodec/avs.c
libavcodec/bfi.c
libavcodec/bmp.c
libavcodec/bmpenc.c
libavcodec/c93.c
libavcodec/cscd.c
libavcodec/cyuv.c
libavcodec/dpx.c
libavcodec/dpxenc.c
libavcodec/eatgv.c
libavcodec/escape124.c
libavcodec/ffv1.c
libavcodec/flashsv.c
libavcodec/fraps.c
libavcodec/h264.c
libavcodec/huffyuv.c
libavcodec/iff.c
libavcodec/imgconvert.c
libavcodec/indeo3.c
libavcodec/kmvc.c
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libx264.c
libavcodec/ljpegenc.c
libavcodec/mjpegdec.c
libavcodec/mjpegenc.c
libavcodec/motionpixels.c
libavcodec/mpeg12.c
libavcodec/mpeg12enc.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo_enc.c
libavcodec/pamenc.c
libavcodec/pcxenc.c
libavcodec/pgssubdec.c
libavcodec/pngdec.c
libavcodec/pngenc.c
libavcodec/pnm.c
libavcodec/pnmdec.c
libavcodec/pnmenc.c
libavcodec/ptx.c
libavcodec/qdrw.c
libavcodec/qpeg.c
libavcodec/qtrleenc.c
libavcodec/raw.c
libavcodec/rawdec.c
libavcodec/rl2.c
libavcodec/sgidec.c
libavcodec/sgienc.c
libavcodec/snowdec.c
libavcodec/snowenc.c
libavcodec/sunrast.c
libavcodec/targa.c
libavcodec/targaenc.c
libavcodec/tiff.c
libavcodec/tiffenc.c
libavcodec/tmv.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/vb.c
libavcodec/vp3.c
libavcodec/wnv1.c
libavcodec/xl.c
libavcodec/xwddec.c
libavcodec/xwdenc.c
libavcodec/yop.c
libavdevice/v4l2.c
libavdevice/x11grab.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/buffersrc.c
libavfilter/drawutils.c
libavfilter/formats.c
libavfilter/src_movie.c
libavfilter/vf_ass.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_format.c
libavfilter/vf_hflip.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_transpose.c
libavfilter/vf_yadif.c
libavfilter/video.c
libavfilter/vsrc_testsrc.c
libavformat/movenc.c
libavformat/mxf.h
libavformat/utils.c
libavformat/yuv4mpeg.c
libavutil/imgutils.c
libavutil/pixdesc.c
libswscale/input.c
libswscale/output.c
libswscale/swscale_internal.h
libswscale/swscale_unscaled.c
libswscale/utils.c
libswscale/x86/swscale_template.c
libswscale/x86/yuv2rgb.c
libswscale/x86/yuv2rgb_template.c
libswscale/yuv2rgb.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
ac627b3d38
373 changed files with 3410 additions and 3406 deletions
|
|
@ -273,7 +273,7 @@ static int grab_read_header(AVFormatContext *s1)
|
|||
s->per_frame = ((uint64_t)1000000 * framerate.den) / framerate.num;
|
||||
|
||||
st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
|
||||
st->codec->pix_fmt = PIX_FMT_YUV420P;
|
||||
st->codec->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||
st->codec->codec_id = AV_CODEC_ID_RAWVIDEO;
|
||||
st->codec->width = s->width;
|
||||
st->codec->height = s->height;
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ static int caca_write_header(AVFormatContext *s)
|
|||
return AVERROR(EINVAL);
|
||||
}
|
||||
|
||||
if (encctx->pix_fmt != PIX_FMT_RGB24) {
|
||||
if (encctx->pix_fmt != AV_PIX_FMT_RGB24) {
|
||||
av_log(s, AV_LOG_ERROR,
|
||||
"Unsupported pixel format '%s', choose rgb24\n",
|
||||
av_get_pix_fmt_name(encctx->pix_fmt));
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ struct dshow_ctx {
|
|||
|
||||
IMediaControl *control;
|
||||
|
||||
enum PixelFormat pixel_format;
|
||||
enum AVPixelFormat pixel_format;
|
||||
enum AVCodecID video_codec_id;
|
||||
char *framerate;
|
||||
|
||||
|
|
@ -66,33 +66,33 @@ struct dshow_ctx {
|
|||
int channels;
|
||||
};
|
||||
|
||||
static enum PixelFormat dshow_pixfmt(DWORD biCompression, WORD biBitCount)
|
||||
static enum AVPixelFormat dshow_pixfmt(DWORD biCompression, WORD biBitCount)
|
||||
{
|
||||
switch(biCompression) {
|
||||
case MKTAG('U', 'Y', 'V', 'Y'):
|
||||
return PIX_FMT_UYVY422;
|
||||
return AV_PIX_FMT_UYVY422;
|
||||
case MKTAG('Y', 'U', 'Y', '2'):
|
||||
return PIX_FMT_YUYV422;
|
||||
return AV_PIX_FMT_YUYV422;
|
||||
case MKTAG('I', '4', '2', '0'):
|
||||
return PIX_FMT_YUV420P;
|
||||
return AV_PIX_FMT_YUV420P;
|
||||
case BI_BITFIELDS:
|
||||
case BI_RGB:
|
||||
switch(biBitCount) { /* 1-8 are untested */
|
||||
case 1:
|
||||
return PIX_FMT_MONOWHITE;
|
||||
return AV_PIX_FMT_MONOWHITE;
|
||||
case 4:
|
||||
return PIX_FMT_RGB4;
|
||||
return AV_PIX_FMT_RGB4;
|
||||
case 8:
|
||||
return PIX_FMT_RGB8;
|
||||
return AV_PIX_FMT_RGB8;
|
||||
case 16:
|
||||
return PIX_FMT_RGB555;
|
||||
return AV_PIX_FMT_RGB555;
|
||||
case 24:
|
||||
return PIX_FMT_BGR24;
|
||||
return AV_PIX_FMT_BGR24;
|
||||
case 32:
|
||||
return PIX_FMT_RGB32;
|
||||
return AV_PIX_FMT_RGB32;
|
||||
}
|
||||
}
|
||||
return PIX_FMT_NONE;
|
||||
return AV_PIX_FMT_NONE;
|
||||
}
|
||||
|
||||
static enum AVCodecID dshow_codecid(DWORD biCompression)
|
||||
|
|
@ -373,8 +373,8 @@ dshow_cycle_formats(AVFormatContext *avctx, enum dshowDeviceType devtype,
|
|||
goto next;
|
||||
}
|
||||
if (!pformat_set) {
|
||||
enum PixelFormat pix_fmt = dshow_pixfmt(bih->biCompression, bih->biBitCount);
|
||||
if (pix_fmt == PIX_FMT_NONE) {
|
||||
enum AVPixelFormat pix_fmt = dshow_pixfmt(bih->biCompression, bih->biBitCount);
|
||||
if (pix_fmt == AV_PIX_FMT_NONE) {
|
||||
enum AVCodecID codec_id = dshow_codecid(bih->biCompression);
|
||||
AVCodec *codec = avcodec_find_decoder(codec_id);
|
||||
if (codec_id == AV_CODEC_ID_NONE || !codec) {
|
||||
|
|
@ -396,7 +396,7 @@ dshow_cycle_formats(AVFormatContext *avctx, enum dshowDeviceType devtype,
|
|||
if (ctx->video_codec_id != dshow_codecid(bih->biCompression))
|
||||
goto next;
|
||||
}
|
||||
if (ctx->pixel_format != PIX_FMT_NONE &&
|
||||
if (ctx->pixel_format != AV_PIX_FMT_NONE &&
|
||||
ctx->pixel_format != dshow_pixfmt(bih->biCompression, bih->biBitCount)) {
|
||||
goto next;
|
||||
}
|
||||
|
|
@ -535,7 +535,7 @@ dshow_cycle_pins(AVFormatContext *avctx, enum dshowDeviceType devtype,
|
|||
|
||||
int set_format = (devtype == VideoDevice && (ctx->framerate ||
|
||||
(ctx->requested_width && ctx->requested_height) ||
|
||||
ctx->pixel_format != PIX_FMT_NONE ||
|
||||
ctx->pixel_format != AV_PIX_FMT_NONE ||
|
||||
ctx->video_codec_id != AV_CODEC_ID_RAWVIDEO))
|
||||
|| (devtype == AudioDevice && (ctx->channels || ctx->sample_rate));
|
||||
int format_set = 0;
|
||||
|
|
@ -779,7 +779,7 @@ dshow_add_device(AVFormatContext *avctx,
|
|||
codec->width = bih->biWidth;
|
||||
codec->height = bih->biHeight;
|
||||
codec->pix_fmt = dshow_pixfmt(bih->biCompression, bih->biBitCount);
|
||||
if (codec->pix_fmt == PIX_FMT_NONE) {
|
||||
if (codec->pix_fmt == AV_PIX_FMT_NONE) {
|
||||
codec->codec_id = dshow_codecid(bih->biCompression);
|
||||
if (codec->codec_id == AV_CODEC_ID_NONE) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Unknown compression type. "
|
||||
|
|
@ -878,7 +878,7 @@ static int dshow_read_header(AVFormatContext *avctx)
|
|||
|
||||
ctx->video_codec_id = avctx->video_codec_id ? avctx->video_codec_id
|
||||
: AV_CODEC_ID_RAWVIDEO;
|
||||
if (ctx->pixel_format != PIX_FMT_NONE) {
|
||||
if (ctx->pixel_format != AV_PIX_FMT_NONE) {
|
||||
if (ctx->video_codec_id != AV_CODEC_ID_RAWVIDEO) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Pixel format may only be set when "
|
||||
"video codec is not set or set to rawvideo\n");
|
||||
|
|
|
|||
|
|
@ -48,20 +48,20 @@
|
|||
struct rgb_pixfmt_map_entry {
|
||||
int bits_per_pixel;
|
||||
int red_offset, green_offset, blue_offset, alpha_offset;
|
||||
enum PixelFormat pixfmt;
|
||||
enum AVPixelFormat pixfmt;
|
||||
};
|
||||
|
||||
static const struct rgb_pixfmt_map_entry rgb_pixfmt_map[] = {
|
||||
// bpp, red_offset, green_offset, blue_offset, alpha_offset, pixfmt
|
||||
{ 32, 0, 8, 16, 24, PIX_FMT_RGBA },
|
||||
{ 32, 16, 8, 0, 24, PIX_FMT_BGRA },
|
||||
{ 32, 8, 16, 24, 0, PIX_FMT_ARGB },
|
||||
{ 32, 3, 2, 8, 0, PIX_FMT_ABGR },
|
||||
{ 24, 0, 8, 16, 0, PIX_FMT_RGB24 },
|
||||
{ 24, 16, 8, 0, 0, PIX_FMT_BGR24 },
|
||||
{ 32, 0, 8, 16, 24, AV_PIX_FMT_RGBA },
|
||||
{ 32, 16, 8, 0, 24, AV_PIX_FMT_BGRA },
|
||||
{ 32, 8, 16, 24, 0, AV_PIX_FMT_ARGB },
|
||||
{ 32, 3, 2, 8, 0, AV_PIX_FMT_ABGR },
|
||||
{ 24, 0, 8, 16, 0, AV_PIX_FMT_RGB24 },
|
||||
{ 24, 16, 8, 0, 0, AV_PIX_FMT_BGR24 },
|
||||
};
|
||||
|
||||
static enum PixelFormat get_pixfmt_from_fb_varinfo(struct fb_var_screeninfo *varinfo)
|
||||
static enum AVPixelFormat get_pixfmt_from_fb_varinfo(struct fb_var_screeninfo *varinfo)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -74,7 +74,7 @@ static enum PixelFormat get_pixfmt_from_fb_varinfo(struct fb_var_screeninfo *var
|
|||
return entry->pixfmt;
|
||||
}
|
||||
|
||||
return PIX_FMT_NONE;
|
||||
return AV_PIX_FMT_NONE;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -99,7 +99,7 @@ static av_cold int fbdev_read_header(AVFormatContext *avctx)
|
|||
{
|
||||
FBDevContext *fbdev = avctx->priv_data;
|
||||
AVStream *st = NULL;
|
||||
enum PixelFormat pix_fmt;
|
||||
enum AVPixelFormat pix_fmt;
|
||||
int ret, flags = O_RDONLY;
|
||||
|
||||
ret = av_parse_video_rate(&fbdev->framerate_q, fbdev->framerate);
|
||||
|
|
@ -139,7 +139,7 @@ static av_cold int fbdev_read_header(AVFormatContext *avctx)
|
|||
}
|
||||
|
||||
pix_fmt = get_pixfmt_from_fb_varinfo(&fbdev->varinfo);
|
||||
if (pix_fmt == PIX_FMT_NONE) {
|
||||
if (pix_fmt == AV_PIX_FMT_NONE) {
|
||||
ret = AVERROR(EINVAL);
|
||||
av_log(avctx, AV_LOG_ERROR,
|
||||
"Framebuffer pixel format not supported.\n");
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ av_cold static int lavfi_read_header(AVFormatContext *avctx)
|
|||
LavfiContext *lavfi = avctx->priv_data;
|
||||
AVFilterInOut *input_links = NULL, *output_links = NULL, *inout;
|
||||
AVFilter *buffersink, *abuffersink;
|
||||
int *pix_fmts = create_all_formats(PIX_FMT_NB);
|
||||
int *pix_fmts = create_all_formats(AV_PIX_FMT_NB);
|
||||
enum AVMediaType type;
|
||||
int ret = 0, i, n;
|
||||
|
||||
|
|
|
|||
|
|
@ -73,12 +73,12 @@ typedef struct dc1394_data {
|
|||
struct dc1394_frame_format {
|
||||
int width;
|
||||
int height;
|
||||
enum PixelFormat pix_fmt;
|
||||
enum AVPixelFormat pix_fmt;
|
||||
int frame_size_id;
|
||||
} dc1394_frame_formats[] = {
|
||||
{ 320, 240, PIX_FMT_UYVY422, DC1394_VIDEO_MODE_320x240_YUV422 },
|
||||
{ 640, 480, PIX_FMT_UYYVYY411, DC1394_VIDEO_MODE_640x480_YUV411 },
|
||||
{ 640, 480, PIX_FMT_UYVY422, DC1394_VIDEO_MODE_640x480_YUV422 },
|
||||
{ 320, 240, AV_PIX_FMT_UYVY422, DC1394_VIDEO_MODE_320x240_YUV422 },
|
||||
{ 640, 480, AV_PIX_FMT_UYYVYY411, DC1394_VIDEO_MODE_640x480_YUV411 },
|
||||
{ 640, 480, AV_PIX_FMT_UYVY422, DC1394_VIDEO_MODE_640x480_YUV422 },
|
||||
{ 0, 0, 0, 0 } /* gotta be the last one */
|
||||
};
|
||||
|
||||
|
|
@ -124,12 +124,12 @@ static inline int dc1394_read_common(AVFormatContext *c,
|
|||
AVStream* vst;
|
||||
struct dc1394_frame_format *fmt;
|
||||
struct dc1394_frame_rate *fps;
|
||||
enum PixelFormat pix_fmt;
|
||||
enum AVPixelFormat pix_fmt;
|
||||
int width, height;
|
||||
AVRational framerate;
|
||||
int ret = 0;
|
||||
|
||||
if ((pix_fmt = av_get_pix_fmt(dc1394->pixel_format)) == PIX_FMT_NONE) {
|
||||
if ((pix_fmt = av_get_pix_fmt(dc1394->pixel_format)) == AV_PIX_FMT_NONE) {
|
||||
av_log(c, AV_LOG_ERROR, "No such pixel format: %s.\n", dc1394->pixel_format);
|
||||
ret = AVERROR(EINVAL);
|
||||
goto out;
|
||||
|
|
|
|||
|
|
@ -44,12 +44,12 @@ typedef struct {
|
|||
} SDLContext;
|
||||
|
||||
static const struct sdl_overlay_pix_fmt_entry {
|
||||
enum PixelFormat pix_fmt; int overlay_fmt;
|
||||
enum AVPixelFormat pix_fmt; int overlay_fmt;
|
||||
} sdl_overlay_pix_fmt_map[] = {
|
||||
{ PIX_FMT_YUV420P, SDL_IYUV_OVERLAY },
|
||||
{ PIX_FMT_YUYV422, SDL_YUY2_OVERLAY },
|
||||
{ PIX_FMT_UYVY422, SDL_UYVY_OVERLAY },
|
||||
{ PIX_FMT_NONE, 0 },
|
||||
{ AV_PIX_FMT_YUV420P, SDL_IYUV_OVERLAY },
|
||||
{ AV_PIX_FMT_YUYV422, SDL_YUY2_OVERLAY },
|
||||
{ AV_PIX_FMT_UYVY422, SDL_UYVY_OVERLAY },
|
||||
{ AV_PIX_FMT_NONE, 0 },
|
||||
};
|
||||
|
||||
static int sdl_write_trailer(AVFormatContext *s)
|
||||
|
|
@ -104,7 +104,7 @@ static int sdl_write_header(AVFormatContext *s)
|
|||
goto fail;
|
||||
}
|
||||
|
||||
for (i = 0; sdl_overlay_pix_fmt_map[i].pix_fmt != PIX_FMT_NONE; i++) {
|
||||
for (i = 0; sdl_overlay_pix_fmt_map[i].pix_fmt != AV_PIX_FMT_NONE; i++) {
|
||||
if (sdl_overlay_pix_fmt_map[i].pix_fmt == encctx->pix_fmt) {
|
||||
sdl->overlay_fmt = sdl_overlay_pix_fmt_map[i].overlay_fmt;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -60,16 +60,16 @@ typedef struct {
|
|||
static const struct {
|
||||
int palette;
|
||||
int depth;
|
||||
enum PixelFormat pix_fmt;
|
||||
enum AVPixelFormat pix_fmt;
|
||||
} video_formats [] = {
|
||||
{.palette = VIDEO_PALETTE_YUV420P, .depth = 12, .pix_fmt = PIX_FMT_YUV420P },
|
||||
{.palette = VIDEO_PALETTE_YUV422, .depth = 16, .pix_fmt = PIX_FMT_YUYV422 },
|
||||
{.palette = VIDEO_PALETTE_UYVY, .depth = 16, .pix_fmt = PIX_FMT_UYVY422 },
|
||||
{.palette = VIDEO_PALETTE_YUYV, .depth = 16, .pix_fmt = PIX_FMT_YUYV422 },
|
||||
{.palette = VIDEO_PALETTE_YUV420P, .depth = 12, .pix_fmt = AV_PIX_FMT_YUV420P },
|
||||
{.palette = VIDEO_PALETTE_YUV422, .depth = 16, .pix_fmt = AV_PIX_FMT_YUYV422 },
|
||||
{.palette = VIDEO_PALETTE_UYVY, .depth = 16, .pix_fmt = AV_PIX_FMT_UYVY422 },
|
||||
{.palette = VIDEO_PALETTE_YUYV, .depth = 16, .pix_fmt = AV_PIX_FMT_YUYV422 },
|
||||
/* NOTE: v4l uses BGR24, not RGB24 */
|
||||
{.palette = VIDEO_PALETTE_RGB24, .depth = 24, .pix_fmt = PIX_FMT_BGR24 },
|
||||
{.palette = VIDEO_PALETTE_RGB565, .depth = 16, .pix_fmt = PIX_FMT_BGR565 },
|
||||
{.palette = VIDEO_PALETTE_GREY, .depth = 8, .pix_fmt = PIX_FMT_GRAY8 },
|
||||
{.palette = VIDEO_PALETTE_RGB24, .depth = 24, .pix_fmt = AV_PIX_FMT_BGR24 },
|
||||
{.palette = VIDEO_PALETTE_RGB565, .depth = 16, .pix_fmt = AV_PIX_FMT_BGR565 },
|
||||
{.palette = VIDEO_PALETTE_GREY, .depth = 8, .pix_fmt = AV_PIX_FMT_GRAY8 },
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
* (http://v4l2spec.bytesex.org/v4l2spec/capture.c)
|
||||
*
|
||||
* Thanks to Michael Niedermayer for providing the mapping between
|
||||
* V4L2_PIX_FMT_* and PIX_FMT_*
|
||||
* V4L2_PIX_FMT_* and AV_PIX_FMT_*
|
||||
*/
|
||||
|
||||
#undef __STRICT_ANSI__ //workaround due to broken kernel headers
|
||||
|
|
@ -124,34 +124,34 @@ struct buff_data {
|
|||
};
|
||||
|
||||
struct fmt_map {
|
||||
enum PixelFormat ff_fmt;
|
||||
enum AVPixelFormat ff_fmt;
|
||||
enum AVCodecID codec_id;
|
||||
uint32_t v4l2_fmt;
|
||||
};
|
||||
|
||||
static struct fmt_map fmt_conversion_table[] = {
|
||||
//ff_fmt codec_id v4l2_fmt
|
||||
{ PIX_FMT_YUV420P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV420 },
|
||||
{ PIX_FMT_YUV420P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YVU420 },
|
||||
{ PIX_FMT_YUV422P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV422P },
|
||||
{ PIX_FMT_YUYV422, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUYV },
|
||||
{ PIX_FMT_UYVY422, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_UYVY },
|
||||
{ PIX_FMT_YUV411P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV411P },
|
||||
{ PIX_FMT_YUV410P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV410 },
|
||||
{ PIX_FMT_RGB555LE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB555 },
|
||||
{ PIX_FMT_RGB555BE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB555X },
|
||||
{ PIX_FMT_RGB565LE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB565 },
|
||||
{ PIX_FMT_RGB565BE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB565X },
|
||||
{ PIX_FMT_BGR24, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_BGR24 },
|
||||
{ PIX_FMT_RGB24, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB24 },
|
||||
{ PIX_FMT_BGR0, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_BGR32 },
|
||||
{ PIX_FMT_0RGB, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB32 },
|
||||
{ PIX_FMT_GRAY8, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_GREY },
|
||||
{ PIX_FMT_NV12, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_NV12 },
|
||||
{ PIX_FMT_NONE, AV_CODEC_ID_MJPEG, V4L2_PIX_FMT_MJPEG },
|
||||
{ PIX_FMT_NONE, AV_CODEC_ID_MJPEG, V4L2_PIX_FMT_JPEG },
|
||||
{ AV_PIX_FMT_YUV420P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV420 },
|
||||
{ AV_PIX_FMT_YUV420P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YVU420 },
|
||||
{ AV_PIX_FMT_YUV422P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV422P },
|
||||
{ AV_PIX_FMT_YUYV422, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUYV },
|
||||
{ AV_PIX_FMT_UYVY422, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_UYVY },
|
||||
{ AV_PIX_FMT_YUV411P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV411P },
|
||||
{ AV_PIX_FMT_YUV410P, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV410 },
|
||||
{ AV_PIX_FMT_RGB555LE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB555 },
|
||||
{ AV_PIX_FMT_RGB555BE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB555X },
|
||||
{ AV_PIX_FMT_RGB565LE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB565 },
|
||||
{ AV_PIX_FMT_RGB565BE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB565X },
|
||||
{ AV_PIX_FMT_BGR24, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_BGR24 },
|
||||
{ AV_PIX_FMT_RGB24, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB24 },
|
||||
{ AV_PIX_FMT_BGR0, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_BGR32 },
|
||||
{ AV_PIX_FMT_0RGB, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_RGB32 },
|
||||
{ AV_PIX_FMT_GRAY8, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_GREY },
|
||||
{ AV_PIX_FMT_NV12, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_NV12 },
|
||||
{ AV_PIX_FMT_NONE, AV_CODEC_ID_MJPEG, V4L2_PIX_FMT_MJPEG },
|
||||
{ AV_PIX_FMT_NONE, AV_CODEC_ID_MJPEG, V4L2_PIX_FMT_JPEG },
|
||||
#ifdef V4L2_PIX_FMT_CPIA1
|
||||
{ PIX_FMT_NONE, AV_CODEC_ID_CPIA, V4L2_PIX_FMT_CPIA1 },
|
||||
{ AV_PIX_FMT_NONE, AV_CODEC_ID_CPIA, V4L2_PIX_FMT_CPIA1 },
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
@ -267,14 +267,14 @@ static int first_field(int fd)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static uint32_t fmt_ff2v4l(enum PixelFormat pix_fmt, enum AVCodecID codec_id)
|
||||
static uint32_t fmt_ff2v4l(enum AVPixelFormat pix_fmt, enum AVCodecID codec_id)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < FF_ARRAY_ELEMS(fmt_conversion_table); i++) {
|
||||
if ((codec_id == AV_CODEC_ID_NONE ||
|
||||
fmt_conversion_table[i].codec_id == codec_id) &&
|
||||
(pix_fmt == PIX_FMT_NONE ||
|
||||
(pix_fmt == AV_PIX_FMT_NONE ||
|
||||
fmt_conversion_table[i].ff_fmt == pix_fmt)) {
|
||||
return fmt_conversion_table[i].v4l2_fmt;
|
||||
}
|
||||
|
|
@ -283,7 +283,7 @@ static uint32_t fmt_ff2v4l(enum PixelFormat pix_fmt, enum AVCodecID codec_id)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static enum PixelFormat fmt_v4l2ff(uint32_t v4l2_fmt, enum AVCodecID codec_id)
|
||||
static enum AVPixelFormat fmt_v4l2ff(uint32_t v4l2_fmt, enum AVCodecID codec_id)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -294,7 +294,7 @@ static enum PixelFormat fmt_v4l2ff(uint32_t v4l2_fmt, enum AVCodecID codec_id)
|
|||
}
|
||||
}
|
||||
|
||||
return PIX_FMT_NONE;
|
||||
return AV_PIX_FMT_NONE;
|
||||
}
|
||||
|
||||
static enum AVCodecID fmt_v4l2codec(uint32_t v4l2_fmt)
|
||||
|
|
@ -342,7 +342,7 @@ static void list_formats(AVFormatContext *ctx, int fd, int type)
|
|||
|
||||
while(!ioctl(fd, VIDIOC_ENUM_FMT, &vfd)) {
|
||||
enum AVCodecID codec_id = fmt_v4l2codec(vfd.pixelformat);
|
||||
enum PixelFormat pix_fmt = fmt_v4l2ff(vfd.pixelformat, codec_id);
|
||||
enum AVPixelFormat pix_fmt = fmt_v4l2ff(vfd.pixelformat, codec_id);
|
||||
|
||||
vfd.index++;
|
||||
|
||||
|
|
@ -739,7 +739,7 @@ static int v4l2_set_parameters(AVFormatContext *s1)
|
|||
}
|
||||
|
||||
static uint32_t device_try_init(AVFormatContext *s1,
|
||||
enum PixelFormat pix_fmt,
|
||||
enum AVPixelFormat pix_fmt,
|
||||
int *width,
|
||||
int *height,
|
||||
enum AVCodecID *codec_id)
|
||||
|
|
@ -778,7 +778,7 @@ static int v4l2_read_header(AVFormatContext *s1)
|
|||
int res = 0;
|
||||
uint32_t desired_format;
|
||||
enum AVCodecID codec_id = AV_CODEC_ID_NONE;
|
||||
enum PixelFormat pix_fmt = PIX_FMT_NONE;
|
||||
enum AVPixelFormat pix_fmt = AV_PIX_FMT_NONE;
|
||||
|
||||
st = avformat_new_stream(s1, NULL);
|
||||
if (!st) {
|
||||
|
|
@ -808,7 +808,7 @@ static int v4l2_read_header(AVFormatContext *s1)
|
|||
|
||||
pix_fmt = av_get_pix_fmt(s->pixel_format);
|
||||
|
||||
if (pix_fmt == PIX_FMT_NONE && !codec) {
|
||||
if (pix_fmt == AV_PIX_FMT_NONE && !codec) {
|
||||
av_log(s1, AV_LOG_ERROR, "No such input format: %s.\n",
|
||||
s->pixel_format);
|
||||
|
||||
|
|
|
|||
|
|
@ -45,32 +45,32 @@ struct vfw_ctx {
|
|||
char *framerate; /**< Set by a private option. */
|
||||
};
|
||||
|
||||
static enum PixelFormat vfw_pixfmt(DWORD biCompression, WORD biBitCount)
|
||||
static enum AVPixelFormat vfw_pixfmt(DWORD biCompression, WORD biBitCount)
|
||||
{
|
||||
switch(biCompression) {
|
||||
case MKTAG('U', 'Y', 'V', 'Y'):
|
||||
return PIX_FMT_UYVY422;
|
||||
return AV_PIX_FMT_UYVY422;
|
||||
case MKTAG('Y', 'U', 'Y', '2'):
|
||||
return PIX_FMT_YUYV422;
|
||||
return AV_PIX_FMT_YUYV422;
|
||||
case MKTAG('I', '4', '2', '0'):
|
||||
return PIX_FMT_YUV420P;
|
||||
return AV_PIX_FMT_YUV420P;
|
||||
case BI_RGB:
|
||||
switch(biBitCount) { /* 1-8 are untested */
|
||||
case 1:
|
||||
return PIX_FMT_MONOWHITE;
|
||||
return AV_PIX_FMT_MONOWHITE;
|
||||
case 4:
|
||||
return PIX_FMT_RGB4;
|
||||
return AV_PIX_FMT_RGB4;
|
||||
case 8:
|
||||
return PIX_FMT_RGB8;
|
||||
return AV_PIX_FMT_RGB8;
|
||||
case 16:
|
||||
return PIX_FMT_RGB555;
|
||||
return AV_PIX_FMT_RGB555;
|
||||
case 24:
|
||||
return PIX_FMT_BGR24;
|
||||
return AV_PIX_FMT_BGR24;
|
||||
case 32:
|
||||
return PIX_FMT_RGB32;
|
||||
return AV_PIX_FMT_RGB32;
|
||||
}
|
||||
}
|
||||
return PIX_FMT_NONE;
|
||||
return AV_PIX_FMT_NONE;
|
||||
}
|
||||
|
||||
static enum AVCodecID vfw_codecid(DWORD biCompression)
|
||||
|
|
@ -377,7 +377,7 @@ static int vfw_read_header(AVFormatContext *s)
|
|||
codec->width = bi->bmiHeader.biWidth;
|
||||
codec->height = bi->bmiHeader.biHeight;
|
||||
codec->pix_fmt = vfw_pixfmt(biCompression, biBitCount);
|
||||
if(codec->pix_fmt == PIX_FMT_NONE) {
|
||||
if(codec->pix_fmt == AV_PIX_FMT_NONE) {
|
||||
codec->codec_id = vfw_codecid(biCompression);
|
||||
if(codec->codec_id == AV_CODEC_ID_NONE) {
|
||||
av_log(s, AV_LOG_ERROR, "Unknown compression type. "
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ x11grab_read_header(AVFormatContext *s1)
|
|||
struct x11grab *x11grab = s1->priv_data;
|
||||
Display *dpy;
|
||||
AVStream *st = NULL;
|
||||
enum PixelFormat input_pixfmt;
|
||||
enum AVPixelFormat input_pixfmt;
|
||||
XImage *image;
|
||||
int x_off = 0;
|
||||
int y_off = 0;
|
||||
|
|
@ -260,19 +260,19 @@ x11grab_read_header(AVFormatContext *s1)
|
|||
switch (image->bits_per_pixel) {
|
||||
case 8:
|
||||
av_log (s1, AV_LOG_DEBUG, "8 bit palette\n");
|
||||
input_pixfmt = PIX_FMT_PAL8;
|
||||
input_pixfmt = AV_PIX_FMT_PAL8;
|
||||
break;
|
||||
case 16:
|
||||
if ( image->red_mask == 0xf800 &&
|
||||
image->green_mask == 0x07e0 &&
|
||||
image->blue_mask == 0x001f ) {
|
||||
av_log (s1, AV_LOG_DEBUG, "16 bit RGB565\n");
|
||||
input_pixfmt = PIX_FMT_RGB565;
|
||||
input_pixfmt = AV_PIX_FMT_RGB565;
|
||||
} else if (image->red_mask == 0x7c00 &&
|
||||
image->green_mask == 0x03e0 &&
|
||||
image->blue_mask == 0x001f ) {
|
||||
av_log(s1, AV_LOG_DEBUG, "16 bit RGB555\n");
|
||||
input_pixfmt = PIX_FMT_RGB555;
|
||||
input_pixfmt = AV_PIX_FMT_RGB555;
|
||||
} else {
|
||||
av_log(s1, AV_LOG_ERROR, "RGB ordering at image depth %i not supported ... aborting\n", image->bits_per_pixel);
|
||||
av_log(s1, AV_LOG_ERROR, "color masks: r 0x%.6lx g 0x%.6lx b 0x%.6lx\n", image->red_mask, image->green_mask, image->blue_mask);
|
||||
|
|
@ -284,11 +284,11 @@ x11grab_read_header(AVFormatContext *s1)
|
|||
if ( image->red_mask == 0xff0000 &&
|
||||
image->green_mask == 0x00ff00 &&
|
||||
image->blue_mask == 0x0000ff ) {
|
||||
input_pixfmt = PIX_FMT_BGR24;
|
||||
input_pixfmt = AV_PIX_FMT_BGR24;
|
||||
} else if ( image->red_mask == 0x0000ff &&
|
||||
image->green_mask == 0x00ff00 &&
|
||||
image->blue_mask == 0xff0000 ) {
|
||||
input_pixfmt = PIX_FMT_RGB24;
|
||||
input_pixfmt = AV_PIX_FMT_RGB24;
|
||||
} else {
|
||||
av_log(s1, AV_LOG_ERROR,"rgb ordering at image depth %i not supported ... aborting\n", image->bits_per_pixel);
|
||||
av_log(s1, AV_LOG_ERROR, "color masks: r 0x%.6lx g 0x%.6lx b 0x%.6lx\n", image->red_mask, image->green_mask, image->blue_mask);
|
||||
|
|
@ -297,7 +297,7 @@ x11grab_read_header(AVFormatContext *s1)
|
|||
}
|
||||
break;
|
||||
case 32:
|
||||
input_pixfmt = PIX_FMT_0RGB32;
|
||||
input_pixfmt = AV_PIX_FMT_0RGB32;
|
||||
break;
|
||||
default:
|
||||
av_log(s1, AV_LOG_ERROR, "image depth %i not supported ... aborting\n", image->bits_per_pixel);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue