diff options
-rw-r--r-- | etc/codecs.conf | 1 | ||||
-rw-r--r-- | libmpcodecs/ve_lavc.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/etc/codecs.conf b/etc/codecs.conf index a05ec7399b..964237f2d3 100644 --- a/etc/codecs.conf +++ b/etc/codecs.conf @@ -575,6 +575,7 @@ videocodec ffmjpeg fourcc ijpg,IJPG ; -mf type=jpeg fourcc JPEG ; SGI's AVI Photo-jpeg fourcc JPGL ; lossless jpeg (pegasus codec) + fourcc LJPG ; lossless jpeg driver ffmpeg dll mjpeg out 444P diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c index 52c50c2af5..28d303af52 100644 --- a/libmpcodecs/ve_lavc.c +++ b/libmpcodecs/ve_lavc.c @@ -426,10 +426,13 @@ static int config(struct vf_instance_s* vf, lavc_venc_context->pix_fmt= PIX_FMT_YUV411P; else if(!strcasecmp(lavc_param_format, "YVU9")) lavc_venc_context->pix_fmt= PIX_FMT_YUV410P; + else if(!strcasecmp(lavc_param_format, "BGR32")) + lavc_venc_context->pix_fmt= PIX_FMT_RGBA32; else{ mp_msg(MSGT_MENCODER,MSGL_ERR,"%s is not a supported format\n", lavc_param_format); return 0; } + /* lavc internal 2pass bitrate control */ switch(lavc_param_vpass){ case 1: @@ -526,6 +529,10 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){ if(!strcasecmp(lavc_param_format, "YVU9")) return VFCAP_CSP_SUPPORTED | VFCAP_ACCEPT_STRIDE; break; + case IMGFMT_BGR32: + if(!strcasecmp(lavc_param_format, "BGR32")) + return VFCAP_CSP_SUPPORTED | VFCAP_ACCEPT_STRIDE; + break; } return 0; } @@ -707,6 +714,8 @@ static int vf_open(vf_instance_t *vf, char* args){ mux_v->bih->biCompression = mmioFOURCC('R', 'V', '1', '0'); else if (!strcasecmp(lavc_param_vcodec, "mjpeg")) mux_v->bih->biCompression = mmioFOURCC('M', 'J', 'P', 'G'); + else if (!strcasecmp(lavc_param_vcodec, "ljpeg")) + mux_v->bih->biCompression = mmioFOURCC('L', 'J', 'P', 'G'); else if (!strcasecmp(lavc_param_vcodec, "mpeg4")) mux_v->bih->biCompression = mmioFOURCC('D', 'I', 'V', 'X'); else if (!strcasecmp(lavc_param_vcodec, "msmpeg4")) |