summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/codecs.conf1
-rw-r--r--libmpcodecs/ve_lavc.c9
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"))