mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Merge commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1'
* commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1': movenc: use the "encoder" metadata tag to write stsd Compressorname Conflicts: libavformat/movenc.c libavformat/movenc.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
5771efde87
@ -1184,12 +1184,14 @@ static int mov_write_pasp_tag(AVIOContext *pb, MOVTrack *track)
|
|||||||
|
|
||||||
static void find_compressor(char * compressor_name, int len, MOVTrack *track)
|
static void find_compressor(char * compressor_name, int len, MOVTrack *track)
|
||||||
{
|
{
|
||||||
|
AVDictionaryEntry *encoder;
|
||||||
int xdcam_res = (track->enc->width == 1280 && track->enc->height == 720)
|
int xdcam_res = (track->enc->width == 1280 && track->enc->height == 720)
|
||||||
|| (track->enc->width == 1440 && track->enc->height == 1080)
|
|| (track->enc->width == 1440 && track->enc->height == 1080)
|
||||||
|| (track->enc->width == 1920 && track->enc->height == 1080);
|
|| (track->enc->width == 1920 && track->enc->height == 1080);
|
||||||
|
|
||||||
if (track->mode == MODE_MOV && track->enc->codec && track->enc->codec->name) {
|
if (track->mode == MODE_MOV &&
|
||||||
av_strlcpy(compressor_name, track->enc->codec->name, 32);
|
(encoder = av_dict_get(track->st->metadata, "encoder", NULL, 0))) {
|
||||||
|
av_strlcpy(compressor_name, encoder->value, 32);
|
||||||
} else if (track->enc->codec_id == AV_CODEC_ID_MPEG2VIDEO && xdcam_res) {
|
} else if (track->enc->codec_id == AV_CODEC_ID_MPEG2VIDEO && xdcam_res) {
|
||||||
int interlaced = track->enc->field_order > AV_FIELD_PROGRESSIVE;
|
int interlaced = track->enc->field_order > AV_FIELD_PROGRESSIVE;
|
||||||
AVStream *st = track->st;
|
AVStream *st = track->st;
|
||||||
@ -3984,8 +3986,8 @@ static int mov_write_header(AVFormatContext *s)
|
|||||||
MOVTrack *track= &mov->tracks[i];
|
MOVTrack *track= &mov->tracks[i];
|
||||||
AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL,0);
|
AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL,0);
|
||||||
|
|
||||||
|
track->st = st;
|
||||||
track->enc = st->codec;
|
track->enc = st->codec;
|
||||||
track->st = st;
|
|
||||||
track->language = ff_mov_iso639_to_lang(lang?lang->value:"und", mov->mode!=MODE_MOV);
|
track->language = ff_mov_iso639_to_lang(lang?lang->value:"und", mov->mode!=MODE_MOV);
|
||||||
if (track->language < 0)
|
if (track->language < 0)
|
||||||
track->language = 0;
|
track->language = 0;
|
||||||
|
@ -98,7 +98,7 @@ typedef struct MOVTrack {
|
|||||||
int language;
|
int language;
|
||||||
int track_id;
|
int track_id;
|
||||||
int tag; ///< stsd fourcc
|
int tag; ///< stsd fourcc
|
||||||
AVStream *st;
|
AVStream *st;
|
||||||
AVCodecContext *enc;
|
AVCodecContext *enc;
|
||||||
|
|
||||||
int vos_len;
|
int vos_len;
|
||||||
|
Loading…
Reference in New Issue
Block a user