mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
h264: revert 1189af429211ac650aac730368a6cf5b23756605.
The patch introduces race conditions.
This commit is contained in:
parent
0c46641784
commit
8c2aa45d4a
@ -383,9 +383,6 @@ int ff_h264_update_thread_context(AVCodecContext *dst,
|
||||
h->picture_structure = h1->picture_structure;
|
||||
h->mb_aff_frame = h1->mb_aff_frame;
|
||||
h->droppable = h1->droppable;
|
||||
h->backup_width = h1->backup_width;
|
||||
h->backup_height = h1->backup_height;
|
||||
h->backup_pix_fmt = h1->backup_pix_fmt;
|
||||
|
||||
for (i = 0; i < H264_MAX_PICTURE_COUNT; i++) {
|
||||
ff_h264_unref_picture(h, &h->DPB[i]);
|
||||
|
@ -307,9 +307,6 @@ static int h264_init_context(AVCodecContext *avctx, H264Context *h)
|
||||
int i;
|
||||
|
||||
h->avctx = avctx;
|
||||
h->backup_width = -1;
|
||||
h->backup_height = -1;
|
||||
h->backup_pix_fmt = AV_PIX_FMT_NONE;
|
||||
h->cur_chroma_format_idc = -1;
|
||||
|
||||
h->picture_structure = PICT_FRAME;
|
||||
@ -861,14 +858,6 @@ static int output_frame(H264Context *h, AVFrame *dst, H264Picture *srcp)
|
||||
|
||||
av_dict_set(&dst->metadata, "stereo_mode", ff_h264_sei_stereo_mode(&h->sei.frame_packing), 0);
|
||||
|
||||
h->backup_width = h->avctx->width;
|
||||
h->backup_height = h->avctx->height;
|
||||
h->backup_pix_fmt = h->avctx->pix_fmt;
|
||||
|
||||
h->avctx->width = dst->width;
|
||||
h->avctx->height = dst->height;
|
||||
h->avctx->pix_fmt = dst->format;
|
||||
|
||||
if (srcp->sei_recovery_frame_cnt == 0)
|
||||
dst->key_frame = 1;
|
||||
if (!srcp->crop)
|
||||
@ -1003,19 +992,6 @@ static int h264_decode_frame(AVCodecContext *avctx, void *data,
|
||||
h->setup_finished = 0;
|
||||
h->nb_slice_ctx_queued = 0;
|
||||
|
||||
if (h->backup_width != -1) {
|
||||
avctx->width = h->backup_width;
|
||||
h->backup_width = -1;
|
||||
}
|
||||
if (h->backup_height != -1) {
|
||||
avctx->height = h->backup_height;
|
||||
h->backup_height = -1;
|
||||
}
|
||||
if (h->backup_pix_fmt != AV_PIX_FMT_NONE) {
|
||||
avctx->pix_fmt = h->backup_pix_fmt;
|
||||
h->backup_pix_fmt = AV_PIX_FMT_NONE;
|
||||
}
|
||||
|
||||
ff_h264_unref_picture(h, &h->last_pic_for_ec);
|
||||
|
||||
/* end of stream, output what is still in the buffers */
|
||||
|
@ -363,14 +363,6 @@ typedef struct H264Context {
|
||||
int width, height;
|
||||
int chroma_x_shift, chroma_y_shift;
|
||||
|
||||
/**
|
||||
* Backup frame properties: needed, because they can be different
|
||||
* between returned frame and last decoded frame.
|
||||
**/
|
||||
int backup_width;
|
||||
int backup_height;
|
||||
enum AVPixelFormat backup_pix_fmt;
|
||||
|
||||
int droppable;
|
||||
int coded_picture_number;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user