lavc/hevc: rudimentary support for skip_loop_filter.
+~9% speed on Core i5 on test sample. All frames are treated as ref frames, skipping only applies at level "all". The following mail contains information on how to improve that: http://ffmpeg.org/pipermail/ffmpeg-devel/2015-July/176116.html
This commit is contained in:
		
							parent
							
								
									744051a57a
								
							
						
					
					
						commit
						52c75d486e
					
				| @ -25,6 +25,13 @@ enabled decoders. | |||||||
| A description of some of the currently available video decoders | A description of some of the currently available video decoders | ||||||
| follows. | follows. | ||||||
| 
 | 
 | ||||||
|  | @section hevc | ||||||
|  | 
 | ||||||
|  | HEVC / H.265 decoder. | ||||||
|  | 
 | ||||||
|  | Note: the @option{skip_loop_filter} option has effect only at level | ||||||
|  | @code{all}. | ||||||
|  | 
 | ||||||
| @section rawvideo | @section rawvideo | ||||||
| 
 | 
 | ||||||
| Raw video decoder. | Raw video decoder. | ||||||
|  | |||||||
| @ -843,6 +843,7 @@ void ff_hevc_deblocking_boundary_strengths(HEVCContext *s, int x0, int y0, | |||||||
| void ff_hevc_hls_filter(HEVCContext *s, int x, int y, int ctb_size) | void ff_hevc_hls_filter(HEVCContext *s, int x, int y, int ctb_size) | ||||||
| { | { | ||||||
|     int x_end = x >= s->ps.sps->width  - ctb_size; |     int x_end = x >= s->ps.sps->width  - ctb_size; | ||||||
|  |     if (s->avctx->skip_loop_filter < AVDISCARD_ALL) | ||||||
|         deblocking_filter_CTB(s, x, y); |         deblocking_filter_CTB(s, x, y); | ||||||
|     if (s->ps.sps->sao_enabled) { |     if (s->ps.sps->sao_enabled) { | ||||||
|         int y_end = y >= s->ps.sps->height - ctb_size; |         int y_end = y >= s->ps.sps->height - ctb_size; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user