|
@@ -277,42 +277,42 @@ static void parse_presentation_segment(AVCodecContext *avctx,
|
|
|
|
|
|
ctx->presentation.id_number = bytestream_get_be16(&buf);
|
|
|
|
|
|
- /*
|
|
|
- * Skip 3 bytes of unknown:
|
|
|
- * state
|
|
|
- * palette_update_flag (0x80),
|
|
|
- * palette_id_to_use,
|
|
|
- */
|
|
|
- buf += 3;
|
|
|
-
|
|
|
- ctx->presentation.object_number = bytestream_get_byte(&buf);
|
|
|
- if (!ctx->presentation.object_number)
|
|
|
- return;
|
|
|
-
|
|
|
- /*
|
|
|
- * Skip 4 bytes of unknown:
|
|
|
- * object_id_ref (2 bytes),
|
|
|
- * window_id_ref,
|
|
|
- * composition_flag (0x80 - object cropped, 0x40 - object forced)
|
|
|
- */
|
|
|
- buf += 4;
|
|
|
-
|
|
|
- x = bytestream_get_be16(&buf);
|
|
|
- y = bytestream_get_be16(&buf);
|
|
|
-
|
|
|
- /* TODO If cropping, cropping_x, cropping_y, cropping_width, cropping_height (all 2 bytes).*/
|
|
|
-
|
|
|
- dprintf(avctx, "Subtitle Placement x=%d, y=%d\n", x, y);
|
|
|
-
|
|
|
- if (x > avctx->width || y > avctx->height) {
|
|
|
- av_log(avctx, AV_LOG_ERROR, "Subtitle out of video bounds. x = %d, y = %d, video width = %d, video height = %d.\n",
|
|
|
- x, y, avctx->width, avctx->height);
|
|
|
- x = 0; y = 0;
|
|
|
- }
|
|
|
+ /*
|
|
|
+ * Skip 3 bytes of unknown:
|
|
|
+ * state
|
|
|
+ * palette_update_flag (0x80),
|
|
|
+ * palette_id_to_use,
|
|
|
+ */
|
|
|
+ buf += 3;
|
|
|
+
|
|
|
+ ctx->presentation.object_number = bytestream_get_byte(&buf);
|
|
|
+ if (!ctx->presentation.object_number)
|
|
|
+ return;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Skip 4 bytes of unknown:
|
|
|
+ * object_id_ref (2 bytes),
|
|
|
+ * window_id_ref,
|
|
|
+ * composition_flag (0x80 - object cropped, 0x40 - object forced)
|
|
|
+ */
|
|
|
+ buf += 4;
|
|
|
+
|
|
|
+ x = bytestream_get_be16(&buf);
|
|
|
+ y = bytestream_get_be16(&buf);
|
|
|
+
|
|
|
+ /* TODO If cropping, cropping_x, cropping_y, cropping_width, cropping_height (all 2 bytes).*/
|
|
|
+
|
|
|
+ dprintf(avctx, "Subtitle Placement x=%d, y=%d\n", x, y);
|
|
|
+
|
|
|
+ if (x > avctx->width || y > avctx->height) {
|
|
|
+ av_log(avctx, AV_LOG_ERROR, "Subtitle out of video bounds. x = %d, y = %d, video width = %d, video height = %d.\n",
|
|
|
+ x, y, avctx->width, avctx->height);
|
|
|
+ x = 0; y = 0;
|
|
|
+ }
|
|
|
|
|
|
- /* Fill in dimensions */
|
|
|
- ctx->presentation.x = x;
|
|
|
- ctx->presentation.y = y;
|
|
|
+ /* Fill in dimensions */
|
|
|
+ ctx->presentation.x = x;
|
|
|
+ ctx->presentation.y = y;
|
|
|
}
|
|
|
|
|
|
/**
|