Commit d0186a4e authored by Hendrik Leppkes's avatar Hendrik Leppkes

Merge commit 'cab63a8b'

* commit 'cab63a8b':
  dv: Mark internal frame reference as const
Merged-by: 's avatarHendrik Leppkes <h.leppkes@gmail.com>
parents fecf7756 cab63a8b
...@@ -39,7 +39,7 @@ typedef struct DVwork_chunk { ...@@ -39,7 +39,7 @@ typedef struct DVwork_chunk {
typedef struct DVVideoContext { typedef struct DVVideoContext {
const AVDVProfile *sys; const AVDVProfile *sys;
AVFrame *frame; const AVFrame *frame;
AVCodecContext *avctx; AVCodecContext *avctx;
uint8_t *buf; uint8_t *buf;
......
...@@ -499,6 +499,7 @@ static int dvvideo_decode_frame(AVCodecContext *avctx, void *data, ...@@ -499,6 +499,7 @@ static int dvvideo_decode_frame(AVCodecContext *avctx, void *data,
uint8_t *buf = avpkt->data; uint8_t *buf = avpkt->data;
int buf_size = avpkt->size; int buf_size = avpkt->size;
DVVideoContext *s = avctx->priv_data; DVVideoContext *s = avctx->priv_data;
AVFrame *frame = data;
const uint8_t *vsc_pack; const uint8_t *vsc_pack;
int apt, is16_9, ret; int apt, is16_9, ret;
const AVDVProfile *sys; const AVDVProfile *sys;
...@@ -519,9 +520,9 @@ static int dvvideo_decode_frame(AVCodecContext *avctx, void *data, ...@@ -519,9 +520,9 @@ static int dvvideo_decode_frame(AVCodecContext *avctx, void *data,
s->sys = sys; s->sys = sys;
} }
s->frame = data; s->frame = frame;
s->frame->key_frame = 1; frame->key_frame = 1;
s->frame->pict_type = AV_PICTURE_TYPE_I; frame->pict_type = AV_PICTURE_TYPE_I;
avctx->pix_fmt = s->sys->pix_fmt; avctx->pix_fmt = s->sys->pix_fmt;
avctx->framerate = av_inv_q(s->sys->time_base); avctx->framerate = av_inv_q(s->sys->time_base);
...@@ -538,14 +539,14 @@ static int dvvideo_decode_frame(AVCodecContext *avctx, void *data, ...@@ -538,14 +539,14 @@ static int dvvideo_decode_frame(AVCodecContext *avctx, void *data,
ff_set_sar(avctx, s->sys->sar[is16_9]); ff_set_sar(avctx, s->sys->sar[is16_9]);
} }
if ((ret = ff_get_buffer(avctx, s->frame, 0)) < 0) if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret; return ret;
s->frame->interlaced_frame = 1; frame->interlaced_frame = 1;
s->frame->top_field_first = 0; frame->top_field_first = 0;
/* Determine the codec's field order from the packet */ /* Determine the codec's field order from the packet */
if ( *vsc_pack == dv_video_control ) { if ( *vsc_pack == dv_video_control ) {
s->frame->top_field_first = !(vsc_pack[3] & 0x40); frame->top_field_first = !(vsc_pack[3] & 0x40);
} }
s->buf = buf; s->buf = buf;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment