Merge commit '7b3214d0050613bd347a2e41c9f78ffb766da25e'
* commit '7b3214d0050613bd347a2e41c9f78ffb766da25e': lavc: add a field for passing AVHWFramesContext to encoders Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
#include "libavutil/channel_layout.h"
|
||||
#include "libavutil/crc.h"
|
||||
#include "libavutil/frame.h"
|
||||
#include "libavutil/hwcontext.h"
|
||||
#include "libavutil/internal.h"
|
||||
#include "libavutil/mathematics.h"
|
||||
#include "libavutil/mem_internal.h"
|
||||
@@ -1489,6 +1490,16 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
avctx->time_base.den);
|
||||
goto free_and_end;
|
||||
}
|
||||
|
||||
if (avctx->hw_frames_ctx) {
|
||||
AVHWFramesContext *frames_ctx = (AVHWFramesContext*)avctx->hw_frames_ctx->data;
|
||||
if (frames_ctx->format != avctx->pix_fmt) {
|
||||
av_log(avctx, AV_LOG_ERROR,
|
||||
"Mismatching AVCodecContext.pix_fmt and AVHWFramesContext.format\n");
|
||||
ret = AVERROR(EINVAL);
|
||||
goto free_and_end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
avctx->pts_correction_num_faulty_pts =
|
||||
@@ -2564,6 +2575,8 @@ av_cold int avcodec_close(AVCodecContext *avctx)
|
||||
av_freep(&avctx->coded_side_data);
|
||||
avctx->nb_coded_side_data = 0;
|
||||
|
||||
av_buffer_unref(&avctx->hw_frames_ctx);
|
||||
|
||||
if (avctx->priv_data && avctx->codec && avctx->codec->priv_class)
|
||||
av_opt_free(avctx->priv_data);
|
||||
av_opt_free(avctx);
|
||||
|
Reference in New Issue
Block a user