summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpcodecs/vf_scale.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libmpcodecs/vf_scale.c b/libmpcodecs/vf_scale.c
index 8d786e771c..9e3a0eb2dd 100644
--- a/libmpcodecs/vf_scale.c
+++ b/libmpcodecs/vf_scale.c
@@ -249,6 +249,17 @@ static int config(struct vf_instance_s* vf,
vf->priv->palette=NULL;
}
switch(best){
+ case IMGFMT_RGB8: {
+ /* set 332 palette for 8 bpp */
+ int i;
+ vf->priv->palette=malloc(4*256);
+ for(i=0; i<256; i++){
+ vf->priv->palette[4*i+0]=4*(i>>6)*21;
+ vf->priv->palette[4*i+1]=4*((i>>3)&7)*9;
+ vf->priv->palette[4*i+2]=4*((i&7)&7)*9;
+ vf->priv->palette[4*i+3]=0;
+ }
+ break; }
case IMGFMT_BGR8: {
/* set 332 palette for 8 bpp */
int i;
@@ -442,6 +453,8 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
case IMGFMT_411P:
case IMGFMT_BGR8:
case IMGFMT_RGB8:
+ case IMGFMT_BG4B:
+ case IMGFMT_RG4B:
{
unsigned int best=find_best_out(vf);
int flags;