summaryrefslogtreecommitdiff
path: root/libavformat/gxf.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2012-10-18 10:23:12 +0300
committerMartin Storsjö <martin@martin.st>2012-10-18 14:26:13 +0300
commitfc085c5b33a966ad893757ab1c4269bf829ce499 (patch)
tree2690c9acc07b5fd070f1a80461db052fe37bfd96 /libavformat/gxf.c
parent53e8cd68b722895a7110a2f7ee7e1bd42f4bac3b (diff)
gxf: Add a local copy of the relevant parts of the frame rate table
This avoids having to share this table across the library boundaries. This shared table used to be problematic, if always declaring all exported data symbols with the dllimport attribute (even while building that same library), since it needs to be a link-time constant when it is used in AVCodec declarations (in mpeg12enc.c). Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/gxf.c')
-rw-r--r--libavformat/gxf.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/libavformat/gxf.c b/libavformat/gxf.c
index 04d75bd4f2..2593c0642b 100644
--- a/libavformat/gxf.c
+++ b/libavformat/gxf.c
@@ -180,6 +180,18 @@ static void gxf_material_tags(AVIOContext *pb, int *len, struct gxf_stream_info
}
}
+static const AVRational frame_rate_tab[] = {
+ { 60, 1},
+ {60000, 1001},
+ { 50, 1},
+ { 30, 1},
+ {30000, 1001},
+ { 25, 1},
+ { 24, 1},
+ {24000, 1001},
+ { 0, 0},
+};
+
/**
* @brief convert fps tag value to AVRational fps
* @param fps fps value from tag
@@ -187,7 +199,7 @@ static void gxf_material_tags(AVIOContext *pb, int *len, struct gxf_stream_info
*/
static AVRational fps_tag2avr(int32_t fps) {
if (fps < 1 || fps > 9) fps = 9;
- return avpriv_frame_rate_tab[9 - fps]; // values have opposite order
+ return frame_rate_tab[fps - 1];
}
/**