diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2013-03-17 09:11:32 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-03-24 11:59:58 -0400 |
commit | ac41fa2a41ba2eb224c982c2c8849169aca6310f (patch) | |
tree | 5791d302a426c0af8273ad56de511013f200f813 | |
parent | 778ca511537da58d9154ab8e1c1f0d1bf738aec8 (diff) |
[media] go7007: correct a header check: MPEG4 has a different GOP code
Actually it's called "Group of VOP" start code in MPEG4 terminology.
Taken from the 0.9.8-5 version of the out-of-tree wis-go7007 driver.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/staging/media/go7007/go7007-driver.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/staging/media/go7007/go7007-driver.c b/drivers/staging/media/go7007/go7007-driver.c index 4378223d8bb8..3c0b2585ad73 100644 --- a/drivers/staging/media/go7007/go7007-driver.c +++ b/drivers/staging/media/go7007/go7007-driver.c | |||
@@ -435,16 +435,18 @@ static void write_bitmap_word(struct go7007 *go) | |||
435 | void go7007_parse_video_stream(struct go7007 *go, u8 *buf, int length) | 435 | void go7007_parse_video_stream(struct go7007 *go, u8 *buf, int length) |
436 | { | 436 | { |
437 | struct go7007_buffer *vb = go->active_buf; | 437 | struct go7007_buffer *vb = go->active_buf; |
438 | int i, seq_start_code = -1, frame_start_code = -1; | 438 | int i, seq_start_code = -1, gop_start_code = -1, frame_start_code = -1; |
439 | 439 | ||
440 | switch (go->format) { | 440 | switch (go->format) { |
441 | case V4L2_PIX_FMT_MPEG4: | 441 | case V4L2_PIX_FMT_MPEG4: |
442 | seq_start_code = 0xB0; | 442 | seq_start_code = 0xB0; |
443 | gop_start_code = 0xB3; | ||
443 | frame_start_code = 0xB6; | 444 | frame_start_code = 0xB6; |
444 | break; | 445 | break; |
445 | case V4L2_PIX_FMT_MPEG1: | 446 | case V4L2_PIX_FMT_MPEG1: |
446 | case V4L2_PIX_FMT_MPEG2: | 447 | case V4L2_PIX_FMT_MPEG2: |
447 | seq_start_code = 0xB3; | 448 | seq_start_code = 0xB3; |
449 | gop_start_code = 0xB8; | ||
448 | frame_start_code = 0x00; | 450 | frame_start_code = 0x00; |
449 | break; | 451 | break; |
450 | } | 452 | } |
@@ -526,7 +528,7 @@ void go7007_parse_video_stream(struct go7007 *go, u8 *buf, int length) | |||
526 | go->format == V4L2_PIX_FMT_MPEG2 || | 528 | go->format == V4L2_PIX_FMT_MPEG2 || |
527 | go->format == V4L2_PIX_FMT_MPEG4) && | 529 | go->format == V4L2_PIX_FMT_MPEG4) && |
528 | (buf[i] == seq_start_code || | 530 | (buf[i] == seq_start_code || |
529 | buf[i] == 0xB8 || /* GOP code */ | 531 | buf[i] == gop_start_code || |
530 | buf[i] == frame_start_code)) { | 532 | buf[i] == frame_start_code)) { |
531 | if (vb == NULL || go->seen_frame) | 533 | if (vb == NULL || go->seen_frame) |
532 | vb = frame_boundary(go, vb); | 534 | vb = frame_boundary(go, vb); |