mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-05 06:58:56 +00:00
codecparsers: fix pattern/mask of resync_marker parsing of mpeg4
This commit is contained in:
parent
a1305b949c
commit
391ecbda71
1 changed files with 18 additions and 16 deletions
|
@ -290,6 +290,7 @@ compute_resync_marker_size (const GstMpeg4VideoObjectPlane * vop,
|
||||||
guint32 * pattern, guint32 * mask)
|
guint32 * pattern, guint32 * mask)
|
||||||
{
|
{
|
||||||
guint8 off;
|
guint8 off;
|
||||||
|
|
||||||
/* FIXME handle the binary only shape case */
|
/* FIXME handle the binary only shape case */
|
||||||
switch (vop->coding_type) {
|
switch (vop->coding_type) {
|
||||||
case (GST_MPEG4_I_VOP):
|
case (GST_MPEG4_I_VOP):
|
||||||
|
@ -311,36 +312,36 @@ compute_resync_marker_size (const GstMpeg4VideoObjectPlane * vop,
|
||||||
if (mask && pattern) {
|
if (mask && pattern) {
|
||||||
switch (off) {
|
switch (off) {
|
||||||
case 16:
|
case 16:
|
||||||
*pattern = 0x00008;
|
*pattern = 0x00008000;
|
||||||
*mask = 0xfffff;
|
*mask = 0xffff8000;
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
*pattern = 0x00004;
|
*pattern = 0x00004000;
|
||||||
*mask = 0xfffff;
|
*mask = 0xffffc000;
|
||||||
break;
|
break;
|
||||||
case 18:
|
case 18:
|
||||||
*pattern = 0x00002;
|
*pattern = 0x00002000;
|
||||||
*mask = 0xfffff;
|
*mask = 0xffffe000;
|
||||||
break;
|
break;
|
||||||
case 19:
|
case 19:
|
||||||
*pattern = 0x00001;
|
*pattern = 0x00001000;
|
||||||
*mask = 0xfffff;
|
*mask = 0xfffff000;
|
||||||
break;
|
break;
|
||||||
case 20:
|
case 20:
|
||||||
*pattern = 0x000008;
|
*pattern = 0x0000080;
|
||||||
*mask = 0xffffff;
|
*mask = 0xfffff800;
|
||||||
break;
|
break;
|
||||||
case 21:
|
case 21:
|
||||||
*pattern = 0x000004;
|
*pattern = 0x00000400;
|
||||||
*mask = 0xffffff;
|
*mask = 0xfffffc00;
|
||||||
break;
|
break;
|
||||||
case 22:
|
case 22:
|
||||||
*pattern = 0x000002;
|
*pattern = 0x00000200;
|
||||||
*mask = 0xffffff;
|
*mask = 0xfffffe00;
|
||||||
break;
|
break;
|
||||||
case 23:
|
case 23:
|
||||||
*pattern = 0x000001;
|
*pattern = 0x00000100;
|
||||||
*mask = 0xffffff;
|
*mask = 0xffffff00;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -907,6 +908,7 @@ gst_mpeg4_parse_video_object_layer (GstMpeg4VideoObjectLayer * vol,
|
||||||
GstMpeg4VisualObject * vo, const guint8 * data, gsize size)
|
GstMpeg4VisualObject * vo, const guint8 * data, gsize size)
|
||||||
{
|
{
|
||||||
guint8 video_object_layer_start_code;
|
guint8 video_object_layer_start_code;
|
||||||
|
|
||||||
/* Used for enums types */
|
/* Used for enums types */
|
||||||
guint8 tmp;
|
guint8 tmp;
|
||||||
GstBitReader br = GST_BIT_READER_INIT (data, size);
|
GstBitReader br = GST_BIT_READER_INIT (data, size);
|
||||||
|
|
Loading…
Reference in a new issue