lavc: Move timecode_frame_start to codec private options
This option is only used by mpeg2. It is a very codec-specific option, so deprecate the global variant. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This commit is contained in:
parent
96c373c770
commit
d749615333
@ -2398,12 +2398,11 @@ typedef struct AVCodecContext {
|
|||||||
*/
|
*/
|
||||||
int max_prediction_order;
|
int max_prediction_order;
|
||||||
|
|
||||||
/**
|
#if FF_API_PRIVATE_OPT
|
||||||
* GOP timecode frame start number, in non drop frame format
|
/** @deprecated use encoder private options instead */
|
||||||
* - encoding: Set by user.
|
attribute_deprecated
|
||||||
* - decoding: unused
|
|
||||||
*/
|
|
||||||
int64_t timecode_frame_start;
|
int64_t timecode_frame_start;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if FF_API_RTP_CALLBACK
|
#if FF_API_RTP_CALLBACK
|
||||||
/**
|
/**
|
||||||
|
@ -182,6 +182,13 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if FF_API_PRIVATE_OPT
|
||||||
|
FF_DISABLE_DEPRECATION_WARNINGS
|
||||||
|
if (avctx->timecode_frame_start)
|
||||||
|
s->timecode_frame_start = avctx->timecode_frame_start;
|
||||||
|
FF_ENABLE_DEPRECATION_WARNINGS
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,7 +314,7 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s)
|
|||||||
* fake MPEG frame rate in case of low frame rate */
|
* fake MPEG frame rate in case of low frame rate */
|
||||||
fps = (framerate.num + framerate.den / 2) / framerate.den;
|
fps = (framerate.num + framerate.den / 2) / framerate.den;
|
||||||
time_code = s->current_picture_ptr->f->coded_picture_number +
|
time_code = s->current_picture_ptr->f->coded_picture_number +
|
||||||
s->avctx->timecode_frame_start;
|
s->timecode_frame_start;
|
||||||
|
|
||||||
s->gop_picture_number = s->current_picture_ptr->f->coded_picture_number;
|
s->gop_picture_number = s->current_picture_ptr->f->coded_picture_number;
|
||||||
if (s->drop_frame_timecode) {
|
if (s->drop_frame_timecode) {
|
||||||
@ -1050,7 +1057,9 @@ av_cold void ff_mpeg1_encode_init(MpegEncContext *s)
|
|||||||
{ "drop_frame_timecode", "Timecode is in drop frame format.", \
|
{ "drop_frame_timecode", "Timecode is in drop frame format.", \
|
||||||
OFFSET(drop_frame_timecode), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE }, \
|
OFFSET(drop_frame_timecode), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE }, \
|
||||||
{ "scan_offset", "Reserve space for SVCD scan offset user data.", \
|
{ "scan_offset", "Reserve space for SVCD scan offset user data.", \
|
||||||
OFFSET(scan_offset), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE },
|
OFFSET(scan_offset), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE }, \
|
||||||
|
{ "timecode_frame_start", "GOP timecode frame start number, in non-drop-frame format", \
|
||||||
|
OFFSET(timecode_frame_start), AV_OPT_TYPE_INT64, {.i64 = 0 }, 0, INT64_MAX, VE}, \
|
||||||
|
|
||||||
static const AVOption mpeg1_options[] = {
|
static const AVOption mpeg1_options[] = {
|
||||||
COMMON_OPTS
|
COMMON_OPTS
|
||||||
|
@ -439,6 +439,7 @@ typedef struct MpegEncContext {
|
|||||||
// picture structure defines are loaded from mpegutils.h
|
// picture structure defines are loaded from mpegutils.h
|
||||||
int picture_structure;
|
int picture_structure;
|
||||||
|
|
||||||
|
int64_t timecode_frame_start; ///< GOP timecode frame start number, in non drop frame format
|
||||||
int intra_dc_precision;
|
int intra_dc_precision;
|
||||||
int frame_pred_frame_dct;
|
int frame_pred_frame_dct;
|
||||||
int top_field_first;
|
int top_field_first;
|
||||||
|
@ -412,7 +412,9 @@ static const AVOption avcodec_options[] = {
|
|||||||
{"compression_level", NULL, OFFSET(compression_level), AV_OPT_TYPE_INT, {.i64 = FF_COMPRESSION_DEFAULT }, INT_MIN, INT_MAX, V|A|E},
|
{"compression_level", NULL, OFFSET(compression_level), AV_OPT_TYPE_INT, {.i64 = FF_COMPRESSION_DEFAULT }, INT_MIN, INT_MAX, V|A|E},
|
||||||
{"min_prediction_order", NULL, OFFSET(min_prediction_order), AV_OPT_TYPE_INT, {.i64 = -1 }, INT_MIN, INT_MAX, A|E},
|
{"min_prediction_order", NULL, OFFSET(min_prediction_order), AV_OPT_TYPE_INT, {.i64 = -1 }, INT_MIN, INT_MAX, A|E},
|
||||||
{"max_prediction_order", NULL, OFFSET(max_prediction_order), AV_OPT_TYPE_INT, {.i64 = -1 }, INT_MIN, INT_MAX, A|E},
|
{"max_prediction_order", NULL, OFFSET(max_prediction_order), AV_OPT_TYPE_INT, {.i64 = -1 }, INT_MIN, INT_MAX, A|E},
|
||||||
|
#if FF_API_PRIVATE_OPT
|
||||||
{"timecode_frame_start", "GOP timecode frame start number, in non-drop-frame format", OFFSET(timecode_frame_start), AV_OPT_TYPE_INT64, {.i64 = 0 }, 0, INT64_MAX, V|E},
|
{"timecode_frame_start", "GOP timecode frame start number, in non-drop-frame format", OFFSET(timecode_frame_start), AV_OPT_TYPE_INT64, {.i64 = 0 }, 0, INT64_MAX, V|E},
|
||||||
|
#endif
|
||||||
{"bits_per_raw_sample", NULL, OFFSET(bits_per_raw_sample), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX},
|
{"bits_per_raw_sample", NULL, OFFSET(bits_per_raw_sample), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX},
|
||||||
{"channel_layout", NULL, OFFSET(channel_layout), AV_OPT_TYPE_INT64, {.i64 = DEFAULT }, 0, INT64_MAX, A|E|D, "channel_layout"},
|
{"channel_layout", NULL, OFFSET(channel_layout), AV_OPT_TYPE_INT64, {.i64 = DEFAULT }, 0, INT64_MAX, A|E|D, "channel_layout"},
|
||||||
{"request_channel_layout", NULL, OFFSET(request_channel_layout), AV_OPT_TYPE_INT64, {.i64 = DEFAULT }, 0, INT64_MAX, A|D, "request_channel_layout"},
|
{"request_channel_layout", NULL, OFFSET(request_channel_layout), AV_OPT_TYPE_INT64, {.i64 = DEFAULT }, 0, INT64_MAX, A|D, "request_channel_layout"},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user