.version = LIBAVUTIL_VERSION_INT,\
};
+#ifdef TIZEN_FEATURE_LIBAV
+#include <time.h>
+#define globalTimescale 1000
+#endif /* TIZEN_FEATURE_LIBAV */
+
static int get_moov_size(AVFormatContext *s);
static int utf8len(const uint8_t *b)
return update_size(pb, pos);
}
+#ifdef TIZEN_FEATURE_LIBAV
+static int64_t get_current_time(AVFormatContext *s)
+{
+ time_t timep = time(NULL);
+ if (timep == -1) {
+ av_log(s, AV_LOG_ERROR, "fatal error, time function returns error\n");
+ return 0;
+ }
+ return timep + 0x7C25B080;//1904 based
+}
+#endif /* TIZEN_FEATURE_LIBAV */
+
/* transformation matrix
|a b u|
|c d v|
}
track->height = track->tag >> 24 == 'n' ? 486 : 576;
}
+#ifdef TIZEN_FEATURE_LIBAV
+ track->timescale = globalTimescale;
+ avpriv_set_pts_info(st, 64, 1, globalTimescale);
+#else /* TIZEN_FEATURE_LIBAV */
if (mov->video_track_timescale) {
track->timescale = mov->video_track_timescale;
if (mov->mode == MODE_ISM && mov->video_track_timescale != 10000000)
while(track->timescale < 10000)
track->timescale *= 2;
}
+#endif /* TIZEN_FEATURE_LIBAV */
if (st->codecpar->width > 65535 || st->codecpar->height > 65535) {
av_log(s, AV_LOG_ERROR, "Resolution %dx%d too large for mov/mp4\n", st->codecpar->width, st->codecpar->height);
return AVERROR(EINVAL);
mov_write_mdat_tag(pb, mov);
}
+#ifdef TIZEN_FEATURE_LIBAV
+ mov->time = get_current_time(s);
+#else /* TIZEN_FEATURE_LIBAV */
ff_parse_creation_time_metadata(s, &mov->time, 1);
if (mov->time)
mov->time += 0x7C25B080; // 1970 based -> 1904 based
+#endif /* TIZEN_FEATURE_LIBAV */
if (mov->chapter_track)
if ((ret = mov_create_chapter_track(s, mov->chapter_track)) < 0)
#if CONFIG_TGP_MUXER || CONFIG_TG2_MUXER
static const AVCodecTag codec_3gp_tags[] = {
{ AV_CODEC_ID_H263, MKTAG('s','2','6','3') },
+#ifdef TIZEN_FEATURE_LIBAV
+ { AV_CODEC_ID_H263P, MKTAG('s','2','6','3') },
+#endif /* TIZEN_FEATURE_LIBAV */
{ AV_CODEC_ID_H264, MKTAG('a','v','c','1') },
{ AV_CODEC_ID_MPEG4, MKTAG('m','p','4','v') },
{ AV_CODEC_ID_AAC, MKTAG('m','p','4','a') },
.write_trailer = mov_write_trailer,
.deinit = mov_free,
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE,
+#ifdef TIZEN_FEATURE_LIBAV
+ .codec_tag = ff_codec_movvideo_tags,
+#else /* TIZEN_FEATURE_LIBAV */
.codec_tag = mp4_codec_tags_list,
+#endif /* TIZEN_FEATURE_LIBAV */
.check_bitstream = mov_check_bitstream,
.priv_class = &mp4_muxer_class,
};