- _image.reset (new Image(frame));
- if (_video_range == VideoRange::VIDEO && av_pix_fmt_desc_get(pix_fmt)->flags & AV_PIX_FMT_FLAG_RGB) {
- /* Asking for the video range to be converted by libswscale (in Image) will not work for
- * RGB sources since that method only processes video range in YUV and greyscale. So we have
- * to do it ourselves here.
- */
- _image->video_range_to_full_range();
+ r = avcodec_receive_frame (context, frame);
+ if (r < 0) {
+ throw DecodeError (N_("avcodec_receive_frame"), name_for_errors, r, *_path);