diff options
Diffstat (limited to 'libavutil/frame.c')
-rw-r--r-- | libavutil/frame.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/libavutil/frame.c b/libavutil/frame.c index 1b9c304bd2..3c1d484f05 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -45,7 +45,7 @@ static void get_frame_defaults(AVFrame *frame) frame->color_range = AVCOL_RANGE_UNSPECIFIED; frame->chroma_location = AVCHROMA_LOC_UNSPECIFIED; - av_formaton_free(&frame->formaton); + av_pixformaton_unref(&frame->formaton); } static void free_side_data(AVFrameSideData **ptr_sd) @@ -94,9 +94,11 @@ static int get_video_buffer(AVFrame *frame, int align) { int ret, i; - frame->formaton = av_formaton_from_pixfmt(frame->format); - if (!frame->formaton) - return AVERROR(EINVAL); + if (!frame->formaton && frame->format != AV_PIX_FMT_NONE) { + frame->formaton = av_pixformaton_from_pixfmt(frame->format); + if (!frame->formaton) + return AVERROR(EINVAL); + } if ((ret = av_image_check_size(frame->width, frame->height, 0, NULL)) < 0) return ret; @@ -111,10 +113,10 @@ static int get_video_buffer(AVFrame *frame, int align) frame->linesize[i] = FFALIGN(frame->linesize[i], align); } - for (i = 0; i < frame->formaton->nb_components && frame->linesize[i]; i++) { + for (i = 0; i < frame->formaton->pf->nb_components && frame->linesize[i]; i++) { int h = frame->height; if (i == 1 || i == 2) - h = -((-h) >> frame->formaton->component_desc[i].h_sub_log); + h = -((-h) >> frame->formaton->pf->component_desc[i].h_sub_log); frame->buf[i] = av_buffer_alloc(frame->linesize[i] * h); if (!frame->buf[i]) @@ -123,15 +125,15 @@ static int get_video_buffer(AVFrame *frame, int align) frame->data[i] = frame->buf[i]->data; } - if (frame->formaton->flags & AV_PIX_FMT_FLAG_PAL || - frame->formaton->flags & AV_PIX_FMT_FLAG_PSEUDOPAL) { + if (frame->formaton->pf->flags & AV_PIX_FMT_FLAG_PAL || + frame->formaton->pf->flags & AV_PIX_FMT_FLAG_PSEUDOPAL) { int size; // XXX Compatibility until the palette_entries information is // stored somewhere. - if (frame->formaton->nb_palette_entries) { - size = frame->formaton->nb_palette_entries * - frame->formaton->pixel_next; + if (frame->formaton->pf->nb_palette_entries) { + size = frame->formaton->pf->nb_palette_entries * + frame->formaton->pf->pixel_next; } else size = 1024; |