cbs_mpeg2: Fix storage type for frame_centre_*_offset

The frame_centre_horizontal/vertical_offset values contained in picture
display extensions are actually signed values (i.e. it is possible to
indicate that the display device should add black bars/pillars).

The files sony-ct3.bs and tcela-6.bits (which are both used in fate
tests for mpeg2_metadata) contain picture display extensions; the former
even contains a negative frame_centre_vertical_offset. Fortunately, the
old code did not damage the picture display extensions when one did a
cycle of reading and writing. For the same reason the fate tests needn't
be updated either.

Furthermore these fields now use the trace output for matrices.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt
2019-05-22 03:04:34 +02:00
committed by Mark Thompson
parent 9c3f2a8894
commit de58803839
3 changed files with 24 additions and 4 deletions
+2 -2
View File
@@ -299,9 +299,9 @@ static int FUNC(picture_display_extension)(CodedBitstreamContext *ctx, RWContext
HEADER("Picture Display Extension");
for (i = 0; i < mpeg2->number_of_frame_centre_offsets; i++) {
ui(16, frame_centre_horizontal_offset[i]);
sis(16, frame_centre_horizontal_offset[i], 1, i);
marker_bit();
ui(16, frame_centre_vertical_offset[i]);
sis(16, frame_centre_vertical_offset[i], 1, i);
marker_bit();
}