@@ -1722,6 +1722,9 @@ void gen9_avc_set_image_state(VADriverContextP ctx,
1722
1722
1723
1723
pdata = i965_map_gpe_resource (gpe_resource );
1724
1724
1725
+ if (!pdata )
1726
+ return ;
1727
+
1725
1728
gen9_avc_init_mfx_avc_img_state (ctx ,encode_state ,encoder_context ,& cmd );
1726
1729
for (i = 0 ; i < generic_state -> num_pak_passes ;i ++ )
1727
1730
{
@@ -1762,6 +1765,9 @@ void gen9_avc_set_image_state_non_brc(VADriverContextP ctx,
1762
1765
1763
1766
pdata = i965_map_gpe_resource (gpe_resource );
1764
1767
1768
+ if (!pdata )
1769
+ return ;
1770
+
1765
1771
gen9_avc_init_mfx_avc_img_state (ctx ,encode_state ,encoder_context ,& cmd );
1766
1772
1767
1773
if (generic_state -> curr_pak_pass == 0 )
@@ -2064,6 +2070,9 @@ gen9_avc_set_curbe_brc_init_reset(VADriverContextP ctx,
2064
2070
2065
2071
cmd = i965_gpe_context_map_curbe (gpe_context );
2066
2072
2073
+ if (!cmd )
2074
+ return ;
2075
+
2067
2076
memcpy (cmd ,& gen9_avc_brc_init_reset_curbe_init_data ,sizeof (gen9_avc_brc_init_reset_curbe_data ));
2068
2077
2069
2078
memset (& common_param ,0 ,sizeof (common_param ));
@@ -2289,6 +2298,9 @@ gen9_avc_set_curbe_brc_frame_update(VADriverContextP ctx,
2289
2298
2290
2299
cmd = i965_gpe_context_map_curbe (gpe_context );
2291
2300
2301
+ if (!cmd )
2302
+ return ;
2303
+
2292
2304
memcpy (cmd ,& gen9_avc_frame_brc_update_curbe_init_data ,sizeof (gen9_avc_frame_brc_update_curbe_data ));
2293
2305
2294
2306
cmd -> dw5 .target_size_flag = 0 ;
@@ -2612,6 +2624,10 @@ gen9_avc_set_curbe_brc_mb_update(VADriverContextP ctx,
2612
2624
struct generic_enc_codec_state * generic_state = (struct generic_enc_codec_state * )vme_context -> generic_enc_state ;
2613
2625
2614
2626
cmd = i965_gpe_context_map_curbe (gpe_context );
2627
+
2628
+ if (!cmd )
2629
+ return ;
2630
+
2615
2631
memset (cmd ,0 ,sizeof (gen9_avc_mb_brc_curbe_data ));
2616
2632
2617
2633
cmd -> dw0 .cur_frame_type = generic_state -> frame_type ;
@@ -2990,6 +3006,10 @@ gen9_avc_set_curbe_mbenc(VADriverContextP ctx,
2990
3006
qp = pic_param -> pic_init_qp + slice_param -> slice_qp_delta ;
2991
3007
2992
3008
cmd = (gen9_avc_mbenc_curbe_data * )i965_gpe_context_map_curbe (gpe_context );
3009
+
3010
+ if (!cmd )
3011
+ return ;
3012
+
2993
3013
memset (cmd ,0 ,sizeof (gen9_avc_mbenc_curbe_data ));
2994
3014
2995
3015
if (mbenc_i_frame_dist_in_use )
@@ -5673,14 +5693,19 @@ static void
5673
5693
gen9_avc_vme_context_destroy (void * context )
5674
5694
{
5675
5695
struct encoder_vme_mfc_context * vme_context = (struct encoder_vme_mfc_context * )context ;
5676
- struct generic_encoder_context * generic_ctx = ( struct generic_encoder_context * ) vme_context -> generic_enc_ctx ;
5677
- struct i965_avc_encoder_context * avc_ctx = ( struct i965_avc_encoder_context * ) vme_context -> private_enc_ctx ;
5678
- struct generic_enc_codec_state * generic_state = ( struct generic_enc_codec_state * ) vme_context -> generic_enc_state ;
5679
- struct avc_enc_state * avc_state = ( struct avc_enc_state * ) vme_context -> private_enc_state ;
5696
+ struct generic_encoder_context * generic_ctx ;
5697
+ struct i965_avc_encoder_context * avc_ctx ;
5698
+ struct generic_enc_codec_state * generic_state ;
5699
+ struct avc_enc_state * avc_state ;
5680
5700
5681
5701
if (!vme_context )
5682
5702
return ;
5683
5703
5704
+ generic_ctx = (struct generic_encoder_context * )vme_context -> generic_enc_ctx ;
5705
+ avc_ctx = (struct i965_avc_encoder_context * )vme_context -> private_enc_ctx ;
5706
+ generic_state = (struct generic_enc_codec_state * )vme_context -> generic_enc_state ;
5707
+ avc_state = (struct avc_enc_state * )vme_context -> private_enc_state ;
5708
+
5684
5709
gen9_avc_kernel_destroy (vme_context );
5685
5710
5686
5711
free (generic_ctx );
@@ -7264,14 +7289,16 @@ static void
7264
7289
gen9_avc_pak_context_destroy (void * context )
7265
7290
{
7266
7291
struct encoder_vme_mfc_context * pak_context = (struct encoder_vme_mfc_context * )context ;
7267
- struct generic_encoder_context * generic_ctx = (struct generic_encoder_context * )pak_context -> generic_enc_ctx ;
7268
- struct i965_avc_encoder_context * avc_ctx = (struct i965_avc_encoder_context * )pak_context -> private_enc_ctx ;
7269
-
7292
+ struct generic_encoder_context * generic_ctx ;
7293
+ struct i965_avc_encoder_context * avc_ctx ;
7270
7294
int i = 0 ;
7271
7295
7272
7296
if (!pak_context )
7273
7297
return ;
7274
7298
7299
+ generic_ctx = (struct generic_encoder_context * )pak_context -> generic_enc_ctx ;
7300
+ avc_ctx = (struct i965_avc_encoder_context * )pak_context -> private_enc_ctx ;
7301
+
7275
7302
// other things
7276
7303
i965_free_gpe_resource (& generic_ctx -> res_reconstructed_surface );
7277
7304
i965_free_gpe_resource (& avc_ctx -> res_post_deblocking_output );
0 commit comments