Lines Matching defs:sub_header
201 static void reset_rects(AVSubtitle *sub_header)
205 if (sub_header->rects) {
206 for (i = 0; i < sub_header->num_rects; i++) {
207 av_freep(&sub_header->rects[i]->data[0]);
208 av_freep(&sub_header->rects[i]->data[1]);
209 av_freep(&sub_header->rects[i]);
211 av_freep(&sub_header->rects);
212 sub_header->num_rects = 0;
218 static int decode_dvd_subtitles(DVDSubContext *ctx, AVSubtitle *sub_header,
274 sub_header->start_display_time = (date << 10) / 90;
278 sub_header->end_display_time = (date << 10) / 90;
370 reset_rects(sub_header);
372 sub_header->rects = av_mallocz(sizeof(*sub_header->rects));
373 if (!sub_header->rects)
375 sub_header->rects[0] = av_mallocz(sizeof(AVSubtitleRect));
376 if (!sub_header->rects[0])
378 sub_header->num_rects = 1;
379 bitmap = sub_header->rects[0]->data[0] = av_malloc(w * h);
388 sub_header->rects[0]->data[1] = av_mallocz(AVPALETTE_SIZE);
389 if (!sub_header->rects[0]->data[1])
394 sub_header->rects[0]->nb_colors = 256;
396 (uint32_t *)sub_header->rects[0]->data[1],
399 sub_header->rects[0]->nb_colors = 4;
400 guess_palette(ctx, (uint32_t*)sub_header->rects[0]->data[1],
403 sub_header->rects[0]->x = x1;
404 sub_header->rects[0]->y = y1;
405 sub_header->rects[0]->w = w;
406 sub_header->rects[0]->h = h;
407 sub_header->rects[0]->type = SUBTITLE_BITMAP;
408 sub_header->rects[0]->linesize[0] = w;
409 sub_header->rects[0]->flags = is_menu ? AV_SUBTITLE_FLAG_FORCED : 0;
420 if (sub_header->num_rects > 0)
423 reset_rects(sub_header);