1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

lavc: un-avpriv avpriv_bprint_to_extradata()

It has not been used outside of lavc since 6f69f7a8bf.

Also, move it to the only place where it is used.
This commit is contained in:
Anton Khirnov 2020-10-26 14:10:55 +01:00
parent dc1099442e
commit 0438521888
3 changed files with 24 additions and 29 deletions

View File

@ -424,6 +424,29 @@ fail:
return ret; return ret;
} }
static int bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf)
{
int ret;
char *str;
ret = av_bprint_finalize(buf, &str);
if (ret < 0)
return ret;
if (!av_bprint_is_complete(buf)) {
av_free(str);
return AVERROR(ENOMEM);
}
avctx->extradata = str;
/* Note: the string is NUL terminated (so extradata can be read as a
* string), but the ending character is not accounted in the size (in
* binary formats you are likely not supposed to mux that character). When
* extradata is copied, it is also padded with AV_INPUT_BUFFER_PADDING_SIZE
* zeros. */
avctx->extradata_size = buf->len;
return 0;
}
static int dvdsub_init(AVCodecContext *avctx) static int dvdsub_init(AVCodecContext *avctx)
{ {
DVDSubtitleContext *dvdc = avctx->priv_data; DVDSubtitleContext *dvdc = avctx->priv_data;
@ -451,7 +474,7 @@ static int dvdsub_init(AVCodecContext *avctx)
av_bprintf(&extradata, " %06"PRIx32"%c", av_bprintf(&extradata, " %06"PRIx32"%c",
dvdc->global_palette[i] & 0xFFFFFF, i < 15 ? ',' : '\n'); dvdc->global_palette[i] & 0xFFFFFF, i < 15 ? ',' : '\n');
ret = avpriv_bprint_to_extradata(avctx, &extradata); ret = bprint_to_extradata(avctx, &extradata);
if (ret < 0) if (ret < 0)
return ret; return ret;

View File

@ -313,11 +313,6 @@ int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx);
*/ */
int ff_codec_open2_recursive(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options); int ff_codec_open2_recursive(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);
/**
* Finalize buf into extradata and set its size appropriately.
*/
int avpriv_bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf);
const uint8_t *avpriv_find_start_code(const uint8_t *p, const uint8_t *avpriv_find_start_code(const uint8_t *p,
const uint8_t *end, const uint8_t *end,
uint32_t *state); uint32_t *state);

View File

@ -1946,29 +1946,6 @@ int avcodec_is_open(AVCodecContext *s)
return !!s->internal; return !!s->internal;
} }
int avpriv_bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf)
{
int ret;
char *str;
ret = av_bprint_finalize(buf, &str);
if (ret < 0)
return ret;
if (!av_bprint_is_complete(buf)) {
av_free(str);
return AVERROR(ENOMEM);
}
avctx->extradata = str;
/* Note: the string is NUL terminated (so extradata can be read as a
* string), but the ending character is not accounted in the size (in
* binary formats you are likely not supposed to mux that character). When
* extradata is copied, it is also padded with AV_INPUT_BUFFER_PADDING_SIZE
* zeros. */
avctx->extradata_size = buf->len;
return 0;
}
const uint8_t *avpriv_find_start_code(const uint8_t *av_restrict p, const uint8_t *avpriv_find_start_code(const uint8_t *av_restrict p,
const uint8_t *end, const uint8_t *end,
uint32_t *av_restrict state) uint32_t *av_restrict state)