summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-03 13:52:12 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-03 13:52:12 +0000
commit0daf53d611bf4a8bb896a8b641079ecb50140268 (patch)
treee70a94f8766820546819a65746643f0616ac36ac /DOCS
parentb0890999dbfa61e9fea5b4a5dc88fcd0c0744be6 (diff)
downloadmpv-0daf53d611bf4a8bb896a8b641079ecb50140268.tar.bz2
mpv-0daf53d611bf4a8bb896a8b641079ecb50140268.tar.xz
move file up so its found first, this probably improves readability
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20634 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/tech/nut.txt95
1 files changed, 48 insertions, 47 deletions
diff --git a/DOCS/tech/nut.txt b/DOCS/tech/nut.txt
index b6885f0116..ca086e4c7a 100644
--- a/DOCS/tech/nut.txt
+++ b/DOCS/tech/nut.txt
@@ -116,6 +116,54 @@ t (v coded universal timestamp)
Bitstream syntax:
=================
+file:
+ file_id_string
+ while(!eof){
+ if(next_byte == 'N'){
+ packet_header
+ switch(startcode){
+ case main_startcode: main_header; break;
+ case stream_startcode:stream_header; break;
+ case info_startcode: info_packet; break;
+ case index_startcode: index; break;
+ case syncpoint_startcode: syncpoint; break;
+ }
+ packet_footer
+ }else
+ frame
+ }
+
+the structure of a undamaged file should look like the following, but
+demuxers should be flexible and be able to deal with damaged headers so the
+above is a better loop in practice (not to mention its simpler)
+note, demuxers MUST be able to deal with new and unknown headers
+
+file:
+ file_id_string
+ while(!eof){
+ packet_header, main_header, packet_footer
+ reserved_headers
+ for(i=0; i<stream_count; i++){
+ packet_header, stream_header, packet_footer
+ reserved_headers
+ }
+ while(next_code == info_startcode){
+ packet_header, info_packet, packet_footer
+ reserved_headers
+ }
+ if(next_code == index_startcode){
+ packet_header, index_packet, packet_footer
+ }
+ if (!eof) while(next_code != main_startcode){
+ if(next_code == syncpoint_startcode){
+ packet_header, syncpoint, packet_footer
+ }
+ frame
+ reserved_headers
+ }
+ }
+
+
Common elements:
----------------
@@ -319,53 +367,6 @@ syncpoint:
Complete definition:
-file:
- file_id_string
- while(!eof){
- if(next_byte == 'N'){
- packet_header
- switch(startcode){
- case main_startcode: main_header; break;
- case stream_startcode:stream_header; break;
- case info_startcode: info_packet; break;
- case index_startcode: index; break;
- case syncpoint_startcode: syncpoint; break;
- }
- packet_footer
- }else
- frame
- }
-
-the structure of a undamaged file should look like the following, but
-demuxers should be flexible and be able to deal with damaged headers so the
-above is a better loop in practice (not to mention its simpler)
-note, demuxers MUST be able to deal with new and unknown headers
-
-file:
- file_id_string
- while(!eof){
- packet_header, main_header, packet_footer
- reserved_headers
- for(i=0; i<stream_count; i++){
- packet_header, stream_header, packet_footer
- reserved_headers
- }
- while(next_code == info_startcode){
- packet_header, info_packet, packet_footer
- reserved_headers
- }
- if(next_code == index_startcode){
- packet_header, index_packet, packet_footer
- }
- if (!eof) while(next_code != main_startcode){
- if(next_code == syncpoint_startcode){
- packet_header, syncpoint, packet_footer
- }
- frame
- reserved_headers
- }
- }
-
Tag description:
----------------