Mercurial > mplayer.hg
comparison libmpcodecs/vd_ffmpeg.c @ 32507:97738e6f82dc
Use IMGFMT to compare instead of PIX_FMT to avoid issues
with the "JPEG" formats like PIX_FMT_YUVJ422P.
author | reimar |
---|---|
date | Sat, 06 Nov 2010 21:49:49 +0000 |
parents | 49722126eba9 |
children | 8fa2f43cb760 |
comparison
equal
deleted
inserted
replaced
32506:85dd2718c84a | 32507:97738e6f82dc |
---|---|
156 switch(format){ | 156 switch(format){ |
157 case IMGFMT_YV12: | 157 case IMGFMT_YV12: |
158 case IMGFMT_IYUV: | 158 case IMGFMT_IYUV: |
159 case IMGFMT_I420: | 159 case IMGFMT_I420: |
160 // "converted" using pointer/stride modification | 160 // "converted" using pointer/stride modification |
161 if(avctx->pix_fmt==PIX_FMT_YUV420P) return CONTROL_TRUE;// u/v swap | 161 if(ctx->best_csp == IMGFMT_YV12) return CONTROL_TRUE;// u/v swap |
162 if(avctx->pix_fmt==PIX_FMT_YUV422P && !ctx->do_dr1) return CONTROL_TRUE;// half stride | 162 if(ctx->best_csp == IMGFMT_422P && !ctx->do_dr1) return CONTROL_TRUE;// half stride |
163 break; | 163 break; |
164 #if CONFIG_XVMC | 164 #if CONFIG_XVMC |
165 case IMGFMT_XVMC_IDCT_MPEG2: | 165 case IMGFMT_XVMC_IDCT_MPEG2: |
166 case IMGFMT_XVMC_MOCO_MPEG2: | 166 case IMGFMT_XVMC_MOCO_MPEG2: |
167 if(avctx->pix_fmt==PIX_FMT_XVMC_MPEG2_IDCT) return CONTROL_TRUE; | 167 if(avctx->pix_fmt==PIX_FMT_XVMC_MPEG2_IDCT) return CONTROL_TRUE; |
946 } | 946 } |
947 | 947 |
948 if (!mpi->planes[0]) | 948 if (!mpi->planes[0]) |
949 return NULL; | 949 return NULL; |
950 | 950 |
951 if(avctx->pix_fmt==PIX_FMT_YUV422P && mpi->chroma_y_shift==1){ | 951 if(ctx->best_csp == IMGFMT_422P && mpi->chroma_y_shift==1){ |
952 // we have 422p but user wants 420p | 952 // we have 422p but user wants 420p |
953 mpi->stride[1]*=2; | 953 mpi->stride[1]*=2; |
954 mpi->stride[2]*=2; | 954 mpi->stride[2]*=2; |
955 } | 955 } |
956 | 956 |