Skip to main content

New Wiki articles: Animation, BD title structure

4 replies [Last post]
billf
Offline
Joined: 2004-02-13
Points: 0

HI everyone,

I just posted a new Wiki article about doing animation in BD-J and other GEM
environments. It's at
http://wiki.java.net/bin/view/Mobileandembedded/BDJAnimation

Also, I forget if I mentioned this before, but there's a fairly new article about the
title structure of a BD disc, at
http://wiki.java.net/bin/view/Mobileandembedded/BDJTitleStructure

Cheers,

Bill

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
szmarine
Offline
Joined: 2008-06-13
Points: 0

Hi Bill, thanks for the 2 useful reference.

I have been working on HDi for years (but did not get the HDCookbook untill HDDVD died :( ). Unlike HDi which almost has nothing to do with HDDVD standard content, and a HDDVD disc can not have both standard content and advanced content, BD-J has much more association with HDMV.

Therefore, one of the most confused thing that I currently have is that I'm not clear which part of the Core Spec(Part 3-1) should be read more carefully for BD-J grasp. In HDDVD, I just simply ignore the Standard Content part. I think your comments would be helpful guideline for me to go through the spec, and put more attention on the proper part. Too much reading gets involved in BD-J...

Thanks.

Bill Foote

bd-j-dev@mobileandembedded.org wrote:

> Therefore, one of the most confused thing that I currently have is that I'm not clear which part of the Core Spec(Part 3-1) should be read more carefully for BD-J grasp. In HDDVD, I just simply ignore the Standard Content part. I think your comments would be helpful guideline for me to go through the spec, and put more attention on the proper part. Too much reading gets involved in BD-J...

Hi Szmarzine,

Thanks for the kind words. Yes, I agree that the BD-J specs
can be a bit of a challenge to unravel. I definitely don't have
the thing memorized, and I ask other folks what the spec is all
the time. Indeed, for the title structure wiki entry I made a
couple of calls and checked on general practice in the industry
before I was really confident I had gotten it right!

The hard part is often answering the question "Is there a place in
the spec that deals with X?". It can take some detective work.

In addition to PBP, I usually concentrate mainly on part 3-2, PBP,
and the full API specs. When I'm chasing down something specific,
I'll sometimes the go through GEM to MHP, or into part 3-1, but so
far I've gotten away with not knowing too much about 3-1. When I do,
it's usually because there's some file format or data structure with
semantics defined there, and there's usually some kind of reference to
it in the javadocs or in 3-1.

But, it still takes some head scratching to figure out how it all
fits together sometimes!

Bill

---------------------------------------------------------------------
To unsubscribe, e-mail: bd-j-dev-unsubscribe@hdcookbook.dev.java.net
For additional commands, e-mail: bd-j-dev-help@hdcookbook.dev.java.net

dbreitenfeld
Offline
Joined: 2007-03-18
Points: 0

Hi Szmarzine,

We are very familiar with both specs, maybe I can provide some tips for you as well.

As you probably already realize there is no concrete visual "layout" concept in BD-J. Therefore anything you want to do on the screen has to be done by hand and the code to do this is standard AWT java code. This is because working with the BD-J UI classes doesn't provide the same level of performance as working directly with the graphics layer. With that in mind...

1. I'd go to amazon.com and find a highly recommend book on AWT for about $5 used.

2. I'd next learn about the BDLocator object and how to load a playlist and the small but key differences between Movie Mode and Interactive Mode for a title.

3. Next learn how how to obtain all the different types of Controller objects such as the audio controller, and subtitle controller.

4. Learn how to work with the Player object.

5. Learn the work flow of the Xlet, this can include the basic life cycle to learning how to do cross Xlet communication.

Using the HDCookbook is a great way to learn about some of the tips and tricks that you'll have to do such as placing all your images into one big image also called mosaic. And just the nuts and bolts of everything as well.

If you are used to HD DVD's layout and its performance of what can be drawn on the screen, such as a Div slides underneath another Div, to do this you'll have to use what is called Source A-Top alpha compositing (SRC_ATOP) and currently the only player that can really handle well enough to animate is the PS3. This does give you the ability to do per pixel alpha blending and complete control over how the blend takes places. In HD DVD you had Source Over and Source Atop. BD-J you have Source Out, Source Over, Source In, Destiation In, Desination OUt, Xor, Desination ATop. When it comes to alphablending and you can also create your own filters to transform the pixels either shift color, size or location. However not all these choices perform well. In fact we haven't had much luck with Source Atop. Which is why DoStudio doesn't support this feature but DoStudio MX did.

So your menu design might need to change or maybe just the amount of animation woud change. You'll also need to think about how many layers your menu has. In HD DVD you could nest your elements and it didn't effect performance. In BD-J compositing any two elements can have a performance hit. For example if you have a background image, with a group image on top of it and a couple buttons on top of that and you animate the entire element, you'll have a performance issue if you are alpha compositing each of layer. Tips on images and memory (http://wiki.java.net/bin/view/Mobileandembedded/BDJImageMemoryManagement)

On the bright side, network activity is much easier because you do not have to have all the assets AACS encapsulated and you can use more then the HTTPS protocol, except networking isn't on all players so you have to take that into consideration as some of the players might not have the networking api on it. (http://wiki.java.net/bin/view/Mobileandembedded/BDJOptionalAPIs)

You also are not limited to the small pixel buffer of 2 x 1080 x1920 in BD-J except in HD DVD the 64MB cache is similar to the way BD-J does memory management it just places all Image objects into it's "Pixel Buffer" so they always ready to drawn on the screen. Verse in HD DVD if you had a lot of images you'd have to plan out your script to move things out of the pixel buffer or you'd just use Cue's to do it for you.

The last major difference is HD-DVD had a way to place your ACA into the stream so that it is loaded during the first play allowing video to play while your application is loaded. BD-J doesn't have this feature and its not recommended to have the disc play while your application loads assets off the disc. So most people build a loading screen, usually with some multi frame animation that indicates the disc is loading.

Good luck!

Denny B.
---------------------------------------------------------------------------------------------------------------------------------------
[i]NetBlender DoStudio Blu-ray Team | http://dostudio.netblender.com | http://www.clearblu.org [/i]

szmarine
Offline
Joined: 2008-06-13
Points: 0

Thanks Bill, I can now pat my back and say: well, it is also a bit of problem even for Bill Foote :)

Thanks Denny, I'd like to setup check points for me myself following what you provided 1-5. Again, I'd glad to see another guy who is from HDDVD in this forum^_^