You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	v210dec: switch to PIX_FMT_422P10
Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
		
				
					committed by
					
						 Anton Khirnov
						Anton Khirnov
					
				
			
			
				
	
			
			
			
						parent
						
							4dbcdfa86d
						
					
				
				
					commit
					08fa23d6c2
				
			| @@ -30,7 +30,7 @@ static av_cold int decode_init(AVCodecContext *avctx) | ||||
|         av_log(avctx, AV_LOG_ERROR, "v210 needs even width\n"); | ||||
|         return -1; | ||||
|     } | ||||
|     avctx->pix_fmt             = PIX_FMT_YUV422P16; | ||||
|     avctx->pix_fmt             = PIX_FMT_YUV422P10; | ||||
|     avctx->bits_per_raw_sample = 10; | ||||
|  | ||||
|     avctx->coded_frame         = avcodec_alloc_frame(); | ||||
| @@ -68,10 +68,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, | ||||
|  | ||||
| #define READ_PIXELS(a, b, c)         \ | ||||
|     do {                             \ | ||||
|         val  = av_le2ne32(*src++);     \ | ||||
|         *a++ =  val <<  6;           \ | ||||
|         *b++ = (val >>  4) & 0xFFC0; \ | ||||
|         *c++ = (val >> 14) & 0xFFC0; \ | ||||
|         val  = av_le2ne32(*src++);   \ | ||||
|         *a++ =  val & 0x3FF;         \ | ||||
|         *b++ = (val >> 10) & 0x3FF;  \ | ||||
|         *c++ = (val >> 20) & 0x3FF;  \ | ||||
|     } while (0) | ||||
|  | ||||
|     for (h = 0; h < avctx->height; h++) { | ||||
| @@ -87,15 +87,15 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, | ||||
|             READ_PIXELS(u, y, v); | ||||
|  | ||||
|             val  = av_le2ne32(*src++); | ||||
|             *y++ =  val <<  6; | ||||
|             *y++ =  val & 0x3FF; | ||||
|         } | ||||
|         if (w < avctx->width - 3) { | ||||
|             *u++ = (val >>  4) & 0xFFC0; | ||||
|             *y++ = (val >> 14) & 0xFFC0; | ||||
|             *u++ = (val >> 10) & 0x3FF; | ||||
|             *y++ = (val >> 20) & 0x3FF; | ||||
|  | ||||
|             val  = av_le2ne32(*src++); | ||||
|             *v++ =  val <<  6; | ||||
|             *y++ = (val >>  4) & 0xFFC0; | ||||
|             *v++ =  val & 0x3FF; | ||||
|             *y++ = (val >> 10) & 0x3FF; | ||||
|         } | ||||
|  | ||||
|         psrc += stride; | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| 0, 0, 3686400, 0x8d5c3847 | ||||
| 0, 0, 3686400, 0x75ee1dde | ||||
|   | ||||
		Reference in New Issue
	
	Block a user