mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 09:14:19 +08:00
V4L/DVB (11091): cx18, ivtv: Ensure endianess for linemasks in VBI embedded in MPEG stream
The sliced VBI payloads that cx18 and ivtv would insert in the MPEG stream did not have consistent endianess for the linemasks in the payload (a big endian platform would write them out big endian). This change ensures the linemasks are always stored as little-endian in the MPEG stream to ensure cross platform consistency in parsing the generated MPEG stream. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
baadd7925c
commit
6e1a637202
@ -88,6 +88,8 @@ static void copy_vbi_data(struct cx18 *cx, int lines, u32 pts_stamp)
|
||||
size = 4 + ((43 * line + 3) & ~3);
|
||||
} else {
|
||||
memcpy(dst + sd, "itv0", 4);
|
||||
cpu_to_le32s(&linemask[0]);
|
||||
cpu_to_le32s(&linemask[1]);
|
||||
memcpy(dst + sd + 4, &linemask[0], 8);
|
||||
size = 12 + ((43 * line + 3) & ~3);
|
||||
}
|
||||
|
@ -185,6 +185,8 @@ static void copy_vbi_data(struct ivtv *itv, int lines, u32 pts_stamp)
|
||||
size = 4 + ((43 * line + 3) & ~3);
|
||||
} else {
|
||||
memcpy(dst + sd, "itv0", 4);
|
||||
cpu_to_le32s(&linemask[0]);
|
||||
cpu_to_le32s(&linemask[1]);
|
||||
memcpy(dst + sd + 4, &linemask[0], 8);
|
||||
size = 12 + ((43 * line + 3) & ~3);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user