1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00

Support compiling against libtheora older than 1.1

Originally committed as revision 20609 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
David Conrad 2009-11-25 16:00:14 +00:00
parent b5a683eb11
commit 800841fd0c

View File

@ -86,6 +86,7 @@ static int concatenate_packet(unsigned int* offset,
static int get_stats(AVCodecContext *avctx, int eos)
{
#ifdef TH_ENCCTL_2PASS_OUT
TheoraContext *h = avctx->priv_data;
uint8_t *buf;
int bytes;
@ -108,12 +109,17 @@ static int get_stats(AVCodecContext *avctx, int eos)
av_base64_encode(avctx->stats_out, b64_size, h->stats, h->stats_offset);
}
return 0;
#else
av_log(avctx, AV_LOG_ERROR, "libtheora too old to support 2pass\n");
return -1;
#endif
}
// libtheora won't read the entire buffer we give it at once, so we have to
// repeatedly submit it...
static int submit_stats(AVCodecContext *avctx)
{
#ifdef TH_ENCCTL_2PASS_IN
TheoraContext *h = avctx->priv_data;
int bytes;
if (!h->stats) {
@ -138,6 +144,10 @@ static int submit_stats(AVCodecContext *avctx)
h->stats_offset += bytes;
}
return 0;
#else
av_log(avctx, AV_LOG_ERROR, "libtheora too old to support 2pass\n");
return -1;
#endif
}
static av_cold int encode_init(AVCodecContext* avc_context)