swscale: extend YUV422p support to 10bits depth
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		
							parent
							
								
									b437f5b055
								
							
						
					
					
						commit
						5c511ad4ce
					
				@ -140,6 +140,8 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int l
 | 
			
		||||
    case PIX_FMT_YUV420P9BE:
 | 
			
		||||
    case PIX_FMT_YUV420P10LE:
 | 
			
		||||
    case PIX_FMT_YUV420P10BE:
 | 
			
		||||
    case PIX_FMT_YUV422P10LE:
 | 
			
		||||
    case PIX_FMT_YUV422P10BE:
 | 
			
		||||
        w_align= 16; //FIXME check for non mpeg style codecs and use less alignment
 | 
			
		||||
        h_align= 16;
 | 
			
		||||
        if(s->codec_id == CODEC_ID_MPEG2VIDEO || s->codec_id == CODEC_ID_MJPEG || s->codec_id == CODEC_ID_AMV || s->codec_id == CODEC_ID_THP || s->codec_id == CODEC_ID_H264)
 | 
			
		||||
 | 
			
		||||
@ -809,6 +809,29 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = {
 | 
			
		||||
        },
 | 
			
		||||
        .flags = PIX_FMT_BE,
 | 
			
		||||
    },
 | 
			
		||||
    [PIX_FMT_YUV422P10LE] = {
 | 
			
		||||
        .name = "yuv422p10le",
 | 
			
		||||
        .nb_components= 3,
 | 
			
		||||
        .log2_chroma_w= 1,
 | 
			
		||||
        .log2_chroma_h= 0,
 | 
			
		||||
        .comp = {
 | 
			
		||||
            {0,1,1,0,9},        /* Y */
 | 
			
		||||
            {1,1,1,0,9},        /* U */
 | 
			
		||||
            {2,1,1,0,9},        /* V */
 | 
			
		||||
        },
 | 
			
		||||
    },
 | 
			
		||||
    [PIX_FMT_YUV422P10BE] = {
 | 
			
		||||
        .name = "yuv422p10be",
 | 
			
		||||
        .nb_components= 3,
 | 
			
		||||
        .log2_chroma_w= 1,
 | 
			
		||||
        .log2_chroma_h= 0,
 | 
			
		||||
        .comp = {
 | 
			
		||||
            {0,1,1,0,9},        /* Y */
 | 
			
		||||
            {1,1,1,0,9},        /* U */
 | 
			
		||||
            {2,1,1,0,9},        /* V */
 | 
			
		||||
        },
 | 
			
		||||
        .flags = PIX_FMT_BE,
 | 
			
		||||
    },
 | 
			
		||||
    [PIX_FMT_YUV422P16LE] = {
 | 
			
		||||
        .name = "yuv422p16le",
 | 
			
		||||
        .nb_components= 3,
 | 
			
		||||
 | 
			
		||||
@ -139,6 +139,8 @@ enum PixelFormat {
 | 
			
		||||
    PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
 | 
			
		||||
    PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
 | 
			
		||||
    PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
 | 
			
		||||
    PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
 | 
			
		||||
    PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
 | 
			
		||||
    PIX_FMT_NB,        ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -165,6 +167,7 @@ enum PixelFormat {
 | 
			
		||||
 | 
			
		||||
#define PIX_FMT_YUV420P9  PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
 | 
			
		||||
#define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
 | 
			
		||||
#define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
 | 
			
		||||
#define PIX_FMT_YUV420P16 PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
 | 
			
		||||
#define PIX_FMT_YUV422P16 PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
 | 
			
		||||
#define PIX_FMT_YUV444P16 PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user