adtsenc: Add ability to write MPEG2 ID

Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Marvin Scholz 2020-08-29 13:57:13 +02:00 committed by Michael Niedermayer
parent 2359656da2
commit ff4cc8c654
1 changed files with 3 additions and 1 deletions

View File

@ -40,6 +40,7 @@ typedef struct ADTSContext {
int pce_size; int pce_size;
int apetag; int apetag;
int id3v2tag; int id3v2tag;
int mpeg_id;
uint8_t pce_data[MAX_PCE_SIZE]; uint8_t pce_data[MAX_PCE_SIZE];
} ADTSContext; } ADTSContext;
@ -136,7 +137,7 @@ static int adts_write_frame_header(ADTSContext *ctx,
/* adts_fixed_header */ /* adts_fixed_header */
put_bits(&pb, 12, 0xfff); /* syncword */ put_bits(&pb, 12, 0xfff); /* syncword */
put_bits(&pb, 1, 0); /* ID */ put_bits(&pb, 1, ctx->mpeg_id); /* ID */
put_bits(&pb, 2, 0); /* layer */ put_bits(&pb, 2, 0); /* layer */
put_bits(&pb, 1, 1); /* protection_absent */ put_bits(&pb, 1, 1); /* protection_absent */
put_bits(&pb, 2, ctx->objecttype); /* profile_objecttype */ put_bits(&pb, 2, ctx->objecttype); /* profile_objecttype */
@ -214,6 +215,7 @@ static int adts_write_trailer(AVFormatContext *s)
static const AVOption options[] = { static const AVOption options[] = {
{ "write_id3v2", "Enable ID3v2 tag writing", OFFSET(id3v2tag), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, ENC}, { "write_id3v2", "Enable ID3v2 tag writing", OFFSET(id3v2tag), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, ENC},
{ "write_apetag", "Enable APE tag writing", OFFSET(apetag), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, ENC}, { "write_apetag", "Enable APE tag writing", OFFSET(apetag), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, ENC},
{ "write_mpeg2", "Use MPE2 ID when writing", OFFSET(mpeg_id), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, ENC, "mpeg_id"},
{ NULL }, { NULL },
}; };