mirror of https://git.ffmpeg.org/ffmpeg.git
parent
0c46641784
commit
8c2aa45d4a
|
@ -383,9 +383,6 @@ int ff_h264_update_thread_context(AVCodecContext *dst,
|
||||||
h->picture_structure = h1->picture_structure;
|
h->picture_structure = h1->picture_structure;
|
||||||
h->mb_aff_frame = h1->mb_aff_frame;
|
h->mb_aff_frame = h1->mb_aff_frame;
|
||||||
h->droppable = h1->droppable;
|
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++) {
|
for (i = 0; i < H264_MAX_PICTURE_COUNT; i++) {
|
||||||
ff_h264_unref_picture(h, &h->DPB[i]);
|
ff_h264_unref_picture(h, &h->DPB[i]);
|
||||||
|
|
|
@ -307,9 +307,6 @@ static int h264_init_context(AVCodecContext *avctx, H264Context *h)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
h->avctx = avctx;
|
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->cur_chroma_format_idc = -1;
|
||||||
|
|
||||||
h->picture_structure = PICT_FRAME;
|
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);
|
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)
|
if (srcp->sei_recovery_frame_cnt == 0)
|
||||||
dst->key_frame = 1;
|
dst->key_frame = 1;
|
||||||
if (!srcp->crop)
|
if (!srcp->crop)
|
||||||
|
@ -1003,19 +992,6 @@ static int h264_decode_frame(AVCodecContext *avctx, void *data,
|
||||||
h->setup_finished = 0;
|
h->setup_finished = 0;
|
||||||
h->nb_slice_ctx_queued = 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);
|
ff_h264_unref_picture(h, &h->last_pic_for_ec);
|
||||||
|
|
||||||
/* end of stream, output what is still in the buffers */
|
/* end of stream, output what is still in the buffers */
|
||||||
|
|
|
@ -363,14 +363,6 @@ typedef struct H264Context {
|
||||||
int width, height;
|
int width, height;
|
||||||
int chroma_x_shift, chroma_y_shift;
|
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 droppable;
|
||||||
int coded_picture_number;
|
int coded_picture_number;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue