summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2017-03-27 09:39:24 -0400
committerRonald S. Bultje <rsbultje@gmail.com>2017-03-28 18:04:27 -0400
commit8c2aa45d4a99dc0d9990dfb56782487006f718c3 (patch)
treed5e50fe4ee8eeac3b0da419f540acce1bfe00f37 /libavcodec
parent0c466417846f80a134dd7078435829c8e47fcbb0 (diff)
h264: revert 1189af429211ac650aac730368a6cf5b23756605.
The patch introduces race conditions.
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h264_slice.c3
-rw-r--r--libavcodec/h264dec.c24
-rw-r--r--libavcodec/h264dec.h8
3 files changed, 0 insertions, 35 deletions
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index a703853872..fa1e9ae829 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -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]);
diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index 585ce86f37..25aeba7d71 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -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 */
diff --git a/libavcodec/h264dec.h b/libavcodec/h264dec.h
index 5f868b76cb..e994f7e7fe 100644
--- a/libavcodec/h264dec.h
+++ b/libavcodec/h264dec.h
@@ -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;