mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-06-27 19:07:23 +08: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:
@ -86,6 +86,7 @@ static int concatenate_packet(unsigned int* offset,
|
|||||||
|
|
||||||
static int get_stats(AVCodecContext *avctx, int eos)
|
static int get_stats(AVCodecContext *avctx, int eos)
|
||||||
{
|
{
|
||||||
|
#ifdef TH_ENCCTL_2PASS_OUT
|
||||||
TheoraContext *h = avctx->priv_data;
|
TheoraContext *h = avctx->priv_data;
|
||||||
uint8_t *buf;
|
uint8_t *buf;
|
||||||
int bytes;
|
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);
|
av_base64_encode(avctx->stats_out, b64_size, h->stats, h->stats_offset);
|
||||||
}
|
}
|
||||||
return 0;
|
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
|
// libtheora won't read the entire buffer we give it at once, so we have to
|
||||||
// repeatedly submit it...
|
// repeatedly submit it...
|
||||||
static int submit_stats(AVCodecContext *avctx)
|
static int submit_stats(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
|
#ifdef TH_ENCCTL_2PASS_IN
|
||||||
TheoraContext *h = avctx->priv_data;
|
TheoraContext *h = avctx->priv_data;
|
||||||
int bytes;
|
int bytes;
|
||||||
if (!h->stats) {
|
if (!h->stats) {
|
||||||
@ -138,6 +144,10 @@ static int submit_stats(AVCodecContext *avctx)
|
|||||||
h->stats_offset += bytes;
|
h->stats_offset += bytes;
|
||||||
}
|
}
|
||||||
return 0;
|
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)
|
static av_cold int encode_init(AVCodecContext* avc_context)
|
||||||
|
Reference in New Issue
Block a user