| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -1399,6 +1399,28 @@ av_cold int ff_vaapi_encode_init(AVCodecContext *avctx) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // where it actually overlaps properly, though.) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    ctx->issue_mode = ISSUE_MODE_MAXIMISE_THROUGHPUT; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    if (ctx->va_packed_headers & VA_ENC_PACKED_HEADER_SEQUENCE && | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        ctx->codec->write_sequence_header) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        char data[MAX_PARAM_BUFFER_SIZE]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        size_t bit_len = 8 * sizeof(data); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        err = ctx->codec->write_sequence_header(avctx, data, &bit_len); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if (err < 0) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            av_log(avctx, AV_LOG_ERROR, "Failed to write sequence header " | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                   "for extradata: %d.\n", err); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            goto fail; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } else { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            avctx->extradata_size = (bit_len + 7) / 8; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            avctx->extradata = av_mallocz(avctx->extradata_size + | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                                          AV_INPUT_BUFFER_PADDING_SIZE); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            if (!avctx->extradata) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                err = AVERROR(ENOMEM); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                goto fail; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            memcpy(avctx->extradata, data, avctx->extradata_size); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return 0; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			fail: | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |