mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
move decoder initialization in separate function, earlier failure detection
Originally committed as revision 15929 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
f2e92ad105
commit
f4cca718cf
@ -774,16 +774,17 @@ static int svq3_decode_slice_header(H264Context *h)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int svq3_decode_frame(AVCodecContext *avctx,
|
||||
void *data, int *data_size,
|
||||
const uint8_t *buf, int buf_size)
|
||||
static int svq3_decode_init(AVCodecContext *avctx)
|
||||
{
|
||||
MpegEncContext *const s = avctx->priv_data;
|
||||
H264Context *const h = avctx->priv_data;
|
||||
int m, mb_type;
|
||||
int m;
|
||||
unsigned char *extradata;
|
||||
unsigned int size;
|
||||
|
||||
if (decode_init(avctx) < 0)
|
||||
return -1;
|
||||
|
||||
s->flags = avctx->flags;
|
||||
s->flags2 = avctx->flags2;
|
||||
s->unrestricted_mv = 1;
|
||||
@ -880,6 +881,17 @@ static int svq3_decode_frame(AVCodecContext *avctx,
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int svq3_decode_frame(AVCodecContext *avctx,
|
||||
void *data, int *data_size,
|
||||
const uint8_t *buf, int buf_size)
|
||||
{
|
||||
MpegEncContext *const s = avctx->priv_data;
|
||||
H264Context *const h = avctx->priv_data;
|
||||
int m, mb_type;
|
||||
|
||||
/* special case for last picture */
|
||||
if (buf_size == 0) {
|
||||
if (s->next_picture_ptr && !s->low_delay) {
|
||||
@ -1030,7 +1042,7 @@ AVCodec svq3_decoder = {
|
||||
CODEC_TYPE_VIDEO,
|
||||
CODEC_ID_SVQ3,
|
||||
sizeof(H264Context),
|
||||
decode_init,
|
||||
svq3_decode_init,
|
||||
NULL,
|
||||
decode_end,
|
||||
svq3_decode_frame,
|
||||
|
Loading…
Reference in New Issue
Block a user