According to Multimedia Wiki documentation, the frame rate is not always 15,
and the actual value can be found in the header.
---
 libavformat/westwood_vqa.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/libavformat/westwood_vqa.c b/libavformat/westwood_vqa.c
index 9a48263..9e5b211 100644
--- a/libavformat/westwood_vqa.c
+++ b/libavformat/westwood_vqa.c
@@ -51,7 +51,6 @@
 #define CMDS_TAG MKBETAG('C', 'M', 'D', 'S')
 
 #define VQA_HEADER_SIZE 0x2A
-#define VQA_FRAMERATE 15
 #define VQA_PREAMBLE_SIZE 8
 
 typedef struct WsVqaDemuxContext {
@@ -93,7 +92,6 @@ static int wsvqa_read_header(AVFormatContext *s,
     if (!st)
         return AVERROR(ENOMEM);
     st->start_time = 0;
-    avpriv_set_pts_info(st, 33, 1, VQA_FRAMERATE);
     wsvqa->video_stream_index = st->index;
     st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
     st->codec->codec_id = CODEC_ID_WS_VQA;
@@ -113,6 +111,7 @@ static int wsvqa_read_header(AVFormatContext *s,
     }
     st->codec->width = AV_RL16(&header[6]);
     st->codec->height = AV_RL16(&header[8]);
+    avpriv_set_pts_info(st, 64, 1, header[12]);
 
     /* initialize the audio decoder stream for VQA v1 or nonzero samplerate */
     if (AV_RL16(&header[24]) || (AV_RL16(&header[0]) == 1 && 
AV_RL16(&header[2]) == 1)) {
-- 
1.7.1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to