Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (4)
Validate TextST subpath pid
· 082fb15f
hpi1
authored
Jan 03, 2019
082fb15f
Add missing interface
· 288b104f
hpi1
authored
Jan 03, 2019
288b104f
Main title selection: fix comparing codecs, prefer HEVC
· 8aacf7b4
hpi1
authored
Jan 04, 2019
8aacf7b4
Simplify, drop unneeded headers
· 66972eac
hpi1
authored
Jan 04, 2019
66972eac
Hide whitespace changes
Inline
Side-by-side
src/libbluray/bdj/java/org/videolan/mmbd/Adapter.java
View file @
66972eac
...
...
@@ -46,7 +46,7 @@ import javax.tv.xlet.XletContext;
import
javax.tv.xlet.XletStateChangeException
;
import
org.bluray.bdplus.StatusListener
;
public
class
Adapter
implements
BDJClassLoaderAdapter
{
public
class
Adapter
extends
LoaderAdapter
implements
BDJClassLoaderAdapter
{
public
Map
getHideClasses
()
{
return
null
;
...
...
src/libbluray/bdnav/mpls_parse.h
View file @
66972eac
...
...
@@ -21,17 +21,15 @@
#if !defined(_MPLS_PARSE_H_)
#define _MPLS_PARSE_H_
#include
"mpls_data.h"
#include
"uo_mask_table.h"
#include
"util/attributes.h"
#include
<stdint.h>
struct
bd_disc
;
struct
mpls_pl
;
BD_PRIVATE
MPLS_PL
*
mpls_parse
(
const
char
*
path
)
BD_ATTR_MALLOC
;
BD_PRIVATE
MPLS_PL
*
mpls_get
(
struct
bd_disc
*
disc
,
const
char
*
file
);
BD_PRIVATE
void
mpls_free
(
MPLS_PL
**
pl
);
BD_PRIVATE
struct
mpls_pl
*
mpls_parse
(
const
char
*
path
);
BD_PRIVATE
struct
mpls_pl
*
mpls_get
(
struct
bd_disc
*
disc
,
const
char
*
file
);
BD_PRIVATE
void
mpls_free
(
struct
mpls_pl
**
pl
);
#endif // _MPLS_PARSE_H_
src/libbluray/bdnav/navigation.c
View file @
66972eac
...
...
@@ -239,11 +239,16 @@ _filter_repeats(MPLS_PL *pl, unsigned repeats)
static
void
_video_props
(
MPLS_STN
*
s
,
int
*
format
,
int
*
codec
)
{
unsigned
ii
;
*
codec
=
1
;
*
codec
=
0
;
*
format
=
0
;
for
(
ii
=
0
;
ii
<
s
->
num_video
;
ii
++
)
{
if
(
s
->
video
[
ii
].
coding_type
>
4
)
{
*
codec
=
0
;
if
(
*
codec
<
1
)
{
*
codec
=
1
;
}
}
if
(
s
->
video
[
ii
].
coding_type
==
BD_STREAM_TYPE_VIDEO_HEVC
)
{
*
codec
=
2
;
}
if
(
s
->
video
[
ii
].
format
==
BD_VIDEO_FORMAT_1080I
||
s
->
video
[
ii
].
format
==
BD_VIDEO_FORMAT_1080P
)
{
if
(
*
format
<
1
)
{
...
...
@@ -280,7 +285,7 @@ static int _cmp_video_props(const MPLS_PL *p1, const MPLS_PL *p2)
if
(
format1
!=
format2
)
return
format2
-
format1
;
/* prefer H.264/VC1 over MPEG1/2 */
/* prefer
H.265 over
H.264/VC1 over MPEG1/2 */
return
codec2
-
codec1
;
}
...
...
src/libbluray/bluray.c
View file @
66972eac
...
...
@@ -2102,6 +2102,10 @@ static int _preload_textst_subpath(BLURAY *bd)
if
(
textst_subpath
<
0
)
{
return
0
;
}
if
(
textst_pid
!=
0x1800
)
{
BD_DEBUG
(
DBG_BLURAY
|
DBG_CRIT
,
"_preload_textst_subpath(): ignoring pid 0x%x
\n
"
,
(
unsigned
)
textst_pid
);
return
0
;
}
if
((
unsigned
)
textst_subpath
>=
bd
->
title
->
sub_path_count
)
{
BD_DEBUG
(
DBG_BLURAY
|
DBG_CRIT
,
"_preload_textst_subpath(): invalid subpath id
\n
"
);
...
...
@@ -2131,7 +2135,7 @@ static int _preload_textst_subpath(BLURAY *bd)
return
0
;
}
gc_decode_ts(bd->graphics_controller,
0x1800
, bd->st_textst.buf, SPN(bd->st_textst.clip_size) / 32, -1);
gc_decode_ts
(
bd
->
graphics_controller
,
textst_pid
,
bd
->
st_textst
.
buf
,
SPN
(
bd
->
st_textst
.
clip_size
)
/
32
,
-
1
);
/* set fonts and encoding from clip info */
gc_add_font
(
bd
->
graphics_controller
,
NULL
,
-
1
);
/* reset fonts */
...
...