ext/ffmpeg/gstffmpegcodecmap.c: Remove weird flags from SVQ3 flags and just give full atom, like other files; fixes f...

Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
Remove weird flags from SVQ3 flags and just give full atom,
like other files; fixes frame order problems (#306530).
This commit is contained in:
Ronald S. Bultje 2005-06-09 09:39:38 +00:00
parent 660cc7db6f
commit b863f44a1a
2 changed files with 8 additions and 35 deletions

View file

@ -1,3 +1,10 @@
2005-06-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
Remove weird flags from SVQ3 flags and just give full atom,
like other files; fixes frame order problems (#306530).
2005-06-08 Luca Ognibene <luogni@tin.it> 2005-06-08 Luca Ognibene <luogni@tin.it>
* ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_change_state): * ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_change_state):

View file

@ -328,11 +328,7 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
case CODEC_ID_SVQ3: case CODEC_ID_SVQ3:
caps = GST_FF_VID_CAPS_NEW ("video/x-svq", caps = GST_FF_VID_CAPS_NEW ("video/x-svq",
"svqversion", G_TYPE_INT, 3, "svqversion", G_TYPE_INT, 3, NULL);
"halfpel_flag", GST_TYPE_INT_RANGE, 0, 1,
"thirdpel_flag", GST_TYPE_INT_RANGE, 0, 1,
"low_delay", GST_TYPE_INT_RANGE, 0, 1,
"unknown_svq3_flag", GST_TYPE_INT_RANGE, 0, 1, NULL);
break; break;
case CODEC_ID_DVAUDIO: case CODEC_ID_DVAUDIO:
@ -1241,36 +1237,6 @@ gst_ffmpeg_caps_with_codecid (enum CodecID codec_id,
} while (0); } while (0);
break; break;
case CODEC_ID_SVQ3:
do {
gint halfpel_flag, thirdpel_flag, low_delay, unknown_svq3_flag;
guint16 flags;
if (gst_structure_get_int (str, "halfpel_flag", &halfpel_flag) ||
gst_structure_get_int (str, "thirdpel_flag", &thirdpel_flag) ||
gst_structure_get_int (str, "low_delay", &low_delay) ||
gst_structure_get_int (str, "unknown_svq3_flag",
&unknown_svq3_flag)) {
context->extradata = (guint8 *) av_mallocz (0x64);
g_stpcpy (context->extradata, "SVQ3");
flags = 1 << 3;
flags |= low_delay;
flags = flags << 2;
flags |= unknown_svq3_flag;
flags = flags << 6;
flags |= halfpel_flag;
flags = flags << 1;
flags |= thirdpel_flag;
flags = flags << 3;
flags = GUINT16_FROM_LE (flags);
memcpy (context->extradata + 0x62, &flags, 2);
context->extradata_size = 0x64;
}
} while (0);
break;
case CODEC_ID_MSRLE: case CODEC_ID_MSRLE:
case CODEC_ID_QTRLE: case CODEC_ID_QTRLE:
do { do {