Bonjour, j'ai des erreurs de déréférencement de pointeur de type incomplet.
J'ai un fichier video_stage_decoder.h où je déclare la structure suivante :
et le fichier vlib.h définie la structure suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 typedef struct _video_decoder_config_t { vp_api_picture_t *src_picture; // vient de la structure vp_api_picture vp_api_picture_t *dst_picture; // vient de la structure vp_api_picture uint32_t num_frames; uint32_t num_picture_decoded; uint32_t rowstride; uint32_t bpp; bool_t vlibMustChangeFormat; vlib_stage_decoding_config_t *vlibConf; vp_api_io_data_t *vlibOut; mp4h264_config_t *mp4h264Conf; vp_api_io_data_t *mp4h264Out; } video_decoder_config_t;
J'utilise ces structures dans le fichier video_stage_latency_estimation.c (évidement j'ai include les deux headers précédents ...) aux lignes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 typedef struct _vp_api_picture_ { enum PixelFormat format; // camif -> encoder : PIX_FMT_YUV420P uint32_t width; // camif -> encoder uint32_t height; // camif -> encoder uint32_t framerate; // camif -> encoder uint8_t *y_buf; // camif -> encoder uint8_t *cb_buf; // camif -> encoder uint8_t *cr_buf; // camif -> encoder uint32_t y_pad; // 2* camif_config.y_pad uint32_t c_pad; // 2* camif_config.c_pad uint32_t y_line_size; uint32_t cb_line_size; uint32_t cr_line_size; uint32_t vision_complete; uint32_t complete; int32_t blockline; } vp_api_picture_t;
Voilà, quelqu'un pour m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 struct video_decoder_config_t * vec; if ( cfg->w != vec->dst_picture->width || cfg->h != vec->dst_picture->height) { cfg->w = vec->dst_picture->width; cfg->h = vec->dst_picture->height; ... switch (vec->dst_picture->format) { ... }
merci d'avance !
Partager