Video\\Animation on Speccy

ZXNet echo conference «zx.grafix»

From Stanislav Yudin To All 16 January 2006

Hello, rasmer ras> Today I’m posting here a program that converts flash drives to avi ras> for subsequent conversion to Spectrum... Just don’t forget, please, to delete it from here after a while in order to saving space. Nevertheless, this program for the Spectrum has a somewhat indirect attitude.

From Sergey Istomin To All 25 January 2006

Hello, rasmer Hello! It was very nice to see our video disc for Chaos'99 on rasmer's page (with screensaver from MechWarrior), my brother and I came up with a packaging algorithm and processed the video for this demo. I talked to the author of the demo and decompressor for Spectrum, he doesn't mind against posting code. So if there is interest, we can provide a complete kit for creating and watching videos: description of the algorithm, compressor for PC (presses from the bmp set), player for Spectrum (with and without screen buffering). It seems that there are even source code for the compressor in VB and the player in assembler... There is a description of the next (3rd) version of the format, but beyond the description things didn't work out..

From rasmer To All 25 January 2006

Hello Jenner Jen> I talked to the author of the demo and decompressor for the Spectrum, he didn’t Jen> objects to posting the code. Jen> So if there is interest, we can provide a complete set for Jen> creating and viewing videos: Of course we don’t mind, but we’ll only be glad...

From Alexandr Sinyakov To All 22 March 2006

Hello axor axo> Don't be greedy. Or, at worst, pack the font like Alco. In fact, there is still a lot of space (now the code ends somewhere around #8500, and limit on #A500. With frame sequence table - on #A400 axo> I apologize, I don’t know the internal structure of the file, so maybe I’ll ask axo> stupid question. There you have a key frame, and all the rest are axo> only changes relative to the previous frame? The first frame is necessarily the key one, and the rest - as it turns out - first there is a test pressing of the frame using all methods (and there are now 5 of them), and then it It is compressed using the method that is better in terms of the length of the packed frame. axo> Well then, export in accordance with this table, otherwise, do it yourself axo> you understand what will be the output. Well, this is understandable pepper. Just what I thought - when loading *.ani the frames are all equally lined up in a table one by one, whether they are repeated or not... With pens then delete duplicates? axo> And you didn’t say where the source code is for this program, so I asked :) Otherwise axo> is it bad that all frames are the same size? It's not bad, it's simple, although not economical. :) axo> Why get attached to *.gif at all? I understand that this is alreadyaxo> old and standard format, but... As you imagine axo> dude who makes b/w *.gif for pussy on the Spectrum? :) If axo> stick to *.gif, then I think it can only be used as axo> source of animations (i.e. we take a bunch of gifs from a pussy and convert), but axo> not the other way around. I'm talking about the fact that they won't convert with color, but for the editor - you can always add color (new types of frames will be created). And the ANI reverse converter -> GIF is not expected (although everything is packaged very simply there) axo> Also the xor method with one mouse button (not separate keys). Maybe the buttons are like in BGE - select and/or/xor for spacebar and left mouse button, and the right one always works to erase. axo> There would be all sorts of fills. Although... If we consider the program as axo> animator, then basic editing functions are quite enough. Then I'll think about it... Here, by the way, is a description of the file format... File: ani-format.rar http://zx.pk.ru/attachment.php?attachmentid=2945

From Alexander Shushkov To All 22 March 2006

Hello, SAM style SAM> That is, canceling the entered name and returning to the original one? Russians... SAM> Let's see. Actually, I waited there for the font - 768-byte SAM> installed... SAM> Yes, canceling what was entered. Well, or at least exit not by entering, otherwise it’s somehow scary press it :) Although I only realized later that there is a separate there is a button. Don't be greedy. Or, at worst, pack the font like Alco’s. SAM> Let's write it down - when unpacking a frame into a buffer, save it somewhere SAM> the initial copy and swap these areas during undo. SAM> Yes, that's exactly what you do. Sorry, I don't know the internal structure of the file, so maybe I'm asking a stupid question question. There you have a key frame, and all the rest are just changes relative to the previous frame? SAM> The frame table can be used in the editor, but export is still the same SAM> will be in stream animation (the output file format will not change). SAM> Well then, do the export in accordance with this table, otherwise, you yourself understand that will be on the way out. SAM> Are you talking about windows? Now the background under them is not saved - so for nowSAM> only on the editing area (erasing the window = re-drawing the area). SAM> When viewing an animation, the entire screen is saved to the buffer. SAM> Got it. Well, do it as usual and make it beautiful. By the way, one time some window left behind a frame. SAM> Let's do it... I'll post it here later. SAM> Ok. SAM> So there is one - it was supplied in the source along with JPEG/GIF lab (I don’t remember SAM> in which last one, but it’s definitely not in 1.6) SAM> The size is only fixed (I have all the frames the same size) SAM> But you didn’t say where the source code is for this program, so I asked :) And that’s all Frames of the same size is that bad? SAM> Where is point 8? :) SAM> I'm confused... SAM> Attributes are quite possible, but only in connection with the features of GIFs SAM> converting them with color is unrealistic (or the converter will no longer be suitable SAM> 128K). SAM> Why bother with *.gif at all? I understand that this is already a long time ago and standard format, but... How do you imagine a dude who makesSpectrum b/w *.gif for pussy? :) If you stick to *.gif, then I think it's use only as a source of animations (i.e. we take a bunch of gifs from a pussy and convert), but certainly not the other way around. SAM> From what I plan - scroll sticks on the sides of the editing area. SAM> TVid/IVid - switching between frames SAM> And there is a strong need to handle the "No Free Memory" error, because there SAM> is organized like FAT8 and with a large animation size everything goes into it SAM> simply won't fit... SAM> And of course the comparison mode with the previous frame. SAM> + Copying frame to frame. I also wanted to write about the stick, but I didn’t. In general, everything seems to be planned correctly. I would also add deleting (copying/moving) the sprite area with a window. Yes Same xor method with one mouse key (rather than separate keys). More fillings all sorts of things. Although... If we consider the program as an animator, then elementary The editing functions are quite sufficient.

From rasmer To All 23 March 2006

Hello, SAM style SAM> The first frame is necessarily the key one, and the rest - as it turns out - SAM> first, the frame is test-pressed using all methods (and their SAM> now 5), and then it is pressed using the method that is better in terms of length SAM> of the packed frame. I propose another option - after the LAST frame, pack relative to it FIRST that is - NOT like this: 10 FIRST 20 SECOND 99 LAST goto 10 and so - 10 FIRST 20 SECOND 99 LAST 100 FIRST packed relative to LAST goto 20 Of course we will lose in size, but we may gain by not drawing the key frame - the option can be easily turned on and off!!!! The idea is ephemeral, but I think it's worth discussing.

From Alexandr Sinyakov To All 23 March 2006

Hello, rasmer To move to the 2nd frame, you also need to know where it begins... For now I don't plan to change the file format. Now, if anyone comes up with new methods packaging of the frame, I will be only happy. It is planned to introduce 4 more types - duplicate types 1..4, but after each packed familiarity there will be its color.

From Alexandr Sinyakov To All 25 March 2006

Hello, Jukov Test distillation - the owner of the mansion, so to speak, “before and after” You should try creating your own familiarity table (it will be lossless) and look at the size. File: mistr1.gif http://zx.pk.ru/attachment.php?attachmentid=2959 File: mistr2.gif http://zx.pk.ru/attachment.php?attachmentid=2960

From Konstantin Zhukov To All 25 March 2006

Hello, rasmer Here's one little idea for frame compression: use a compression method based on the similarity of the familiarity on the screen and 8 consecutive bytes in the BASIC-48 ROM. Then instead of every 8 bytes, 14 bits will be required.

From Konstantin Zhukov To All 25 March 2006

Hello, SAM style With a dynamic picture, this effect will be less noticeable. If during When viewing an AVI, press pause, then you can see worse crap. And if for the hostess Looked at from afar, it looks like nothing at all.

From Konstantin Zhukov To All 25 March 2006

Hello, SAM style My program is just an option. And for an empty familiar place in the ROM there is a space symbol. Plus You can build a table in RAM with the most irreplaceable symbols.

From Konstantin Zhukov To All 25 March 2006

Hello, SAM style Of course, the ROM does not have all the combinations, and in 16K they cannot be. But approximate combinations can be easily found. In general, I don’t know Spectrums, but which would not have been the 48th Basic. Because 99.9% of programs are not even possible without it will run.

From Konstantin Zhukov To All 25 March 2006

Hello, SAM style If you display only one familiar place, then the end result will be a mess. But with permission 256x192 should turn out very well. jpeg is also based on methods zooms in and nothing, it looks normal.

From Konstantin Zhukov To All 25 March 2006

Hello, SAM style SAM> If it’s not difficult, give me the address in Vasik 48, where the approach may be located SAM> such an "arc": SAM> ┌─- code ─── SAM> SAM> 0F,1F,1F,3F,3F,3F,3F,1F,1F,0F SAM> SAM> └── code ─── SAM> Yes please. Here is a procedure that looks for 8 bytes in the ROM using a pattern. At the top line displays the address of the first of the eight bytes that are most correspond to the sample (by the number of included bits and the total number included bits). Below is a sample, and below that is what was found. It's better to run at 10x speed. File: FINDBYTE.zip http://zx.pk.ru/attachment.php?attachmentid=2957

From Alexandr Sinyakov To All 25 March 2006

Hello, Jukov Do you think the result is very similar to the original? Sorry, but with these As it gets closer, the cartoon can turn into an incomprehensible mess. You have the idea Of course, it’s good (compression is more than 4 times), but I don’t have such loss of quality I'll digest... I pack the animation without loss at all - the pressed frame completely coincides with original. Now, if you create a list of used familiar places in the file itself (and not look for them in ROM) will be much better.

From Alexandr Sinyakov To All 25 March 2006

Hello, Jukov If it’s not difficult, give me the address in Vasik 48, where such an approximation could be located "arcs": ┌─- code ─── 0F,1F,1F,3F,3F,3F,3F,1F,1F,0F └── code ───

From Alexandr Sinyakov To All 25 March 2006

Hello, Jukov jpeg is based on not particularly accurate values of brightness-contrast-saturation due to quantization and combining them into blocks of 2 * 2 points (in the same way you can Spekov's cartoon will be ochankovat - the frames will be reduced by 2 times). Even if you take only brightness, in jpeg you get 256 shades of gray per point (there is a slight the deviation from the norm is not particularly noticeable), but the spec has you know how many there are (two). By the way, look what your program displays on an empty familiar place ;) There must be not only a maximum of matching established points, but also a maximum matched unidentified. Instead of "and (hl)" it is better to do "xor (hl); cpl" PS. I'll try to experiment with this...

From Alexandr Sinyakov To All 25 March 2006

Hello, Jukov Juk> Here's one little idea for frame compression: use the compression method Juk> based on the similarity of the familiarity on the screen and 8 consecutive bytes in Juk> BASIC-48 ROM. Then instead of every 8 bytes, 14 bits will be required. It is advisable not to rely on the ROM - not everyone there can have the 48th VASIC flashed. And I doubt that all combinations of 8 bytes are there (2^64 is a huge number). I had this idea - to create a list of familiar places (8 bytes for each), used throughout the animation, and in frames indicate it instead of a familiar place number from the list. Or, if you don’t use the table, decide and assign 255 to the most frequently occurring familiar places have a clear number (for example, 0 is empty, 255 is completely shaded, etc.) and one number - to “other”. "Another" familiar place will be pack somehow else. PS: Here's another question about the editor. I have already made a list of frames for animation. The question remains with switching to the next or previous frame - go by direct numbers or numbers in the list? That is, for example, we have a set out of 10 frames (0...9), but we don’t use all of them in animation (for example 0-4-3-4-7-1-8). If you move along the list, then unused frames are simply not will be visible, but if by numbers, clarity will be lost (sequenceframes when switching does not match their sequence in the animation) Or should I make a “switch” - move through the list/by frame numbers.

From Alexandr Sinyakov To All 28 March 2006

Hello, rasmer Accept - ANI editor 0.2. Catch glitches, save up offers for the next one version. :v2_slee2: File: AniE 02.zip http://zx.pk.ru/attachment.php?attachmentid=2982

From Alexandr Sinyakov To All 29 March 2006

Hello axor axo> There is no delay when clicking on arrows (sprites, lists). And these axo> the arrows are not entirely clear what exactly they are. I'll correct it, redraw it... axo> Adding to a list is also not entirely intuitive. Now axo> I'll take a picture and post it. In general, remember how it was done in Spriter axo> :) I remember very well how in the spriter (where can I make graphics for VQ3 if not in it), but there a name was assigned to each frame... But actually, yes, it’s better somehow rethink. :v2_conf2: axo> It would be nice if undo was done (or rather, the sprite was remembered in the buffer) after axo> some big changes (including drawing). Or do axo> button for placing the current frame into the buffer. Well, yes, a useful thing. I’ll make both a button on the panel and a key (as in BGE - let "Y" will be. Does anyone mind?)

From Alexander Shushkov To All 29 March 2006

Hello, SAM style SAM> Accept - ANI editor 0.2. Catch glitches, save offers for SAM> next version. :v2_slee2: Why don't the bars hang around? There is no delay when clicking on arrows (sprites, lists). And these arrows are not It’s quite clear that these are arrows. Adding to the list is also not entirely intuitive. I'll take a picture now and I'll post it. In general, remember how it was done in Spriter :) Still, undo would be done (or rather, the sprite would be remembered in the buffer) after some big changes (including drawing). Or make a button for the room current frame to the buffer.

From Alexander Shushkov To All 30 March 2006

Hello, SAM style SAM> I remember very well how in the spriter (where do I make graphics for VQ3 how SAM> is not in it), but there a name was assigned to each frame... Actually, yes, SAM> it’s better to rethink this matter somehow. See picture. How I see it. There is a button above the list of sprites, if you click on it, all the sprites will appear one by one will go to the list (I don’t know whether to reset the list before that? I might ask before the user?). The button above the list “Reset list” serves just to reset it. Next. When you click on a sprite number in the sprite window, it is added to the end list. When you click on a sprite number in the list window, that sprite is removed from list (the list is recalculated accordingly). Well, the sliders are there for large quantities (sprites and lists). It can also be done in the list window next to each sprite number delay window? It will probably be even clearer this way. File: Lists.png http://zx.pk.ru/attachment.php?attachmentid=2990

From Konstantin Tsoufal To All 26 July 2006

Hello axor axo> See picture. How I see it. axo> and this is how I see it... only the compression methods have not yet been completed (especially Huffman, I think like a tree according to store more compactly and at the same time do not reduce the unpacking speed) File: packer.zip http://zx.pk.ru/attachment.php?attachmentid=3496

From rasmer To All 27 July 2006

Hello, coufal cou> and I see it like this... cou> only the compression methods have not yet been completed (especially Huffman, I think so cou> the tree is stored more compactly and at the same time the unpacking speed is lower cou> reduce) but the necessary vcl60.bpl was screwed in place?, and then also rtl6.pbl? a then another and... and then another 500 files that are needed to run this miracle...

From Vyacheslav Kalinin To All 27 July 2006

Hello, rasmer ras> but the necessary vcl60.bpl was screwed in place?, and then also ras> rtl6.pbl? and then also... and then also 500 files that are needed for ras> launching this miracle... Then I think the archive would grow to a megabyte. :) Again, probably Visual Basic. (<-- FUCK!!)

From Konstantin Tsoufal To All 27 July 2006

Hello new art new> Then I think the archive would grow to a megabyte. :) new> Again, probably Visual Basic. (<-- FUCK!!) C++ 4 files in the system32 folder to unpack change the extension to *.7z File: borlndmm.zip http://zx.pk.ru/attachment.php?attachmentid=3508 File: cc3260mt.zip http://zx.pk.ru/attachment.php?attachmentid=3509 File: rtl60.zip http://zx.pk.ru/attachment.php?attachmentid=3510 File: vcl60.zip http://zx.pk.ru/attachment.php?attachmentid=3511

From Vyacheslav Kalinin To All 28 July 2006

Hello, coufal cou> 4 files in the system32 folder cou> to unpack, change the extension to *.7z Is it possible to put this into an EXE with a candy bar?

From Vyacheslav Kalinin To All 28 July 2006

Hello, coufal cou> C++ cou> 4 files in the system32 folder cou> to unpack, change the extension to *.7z Explain why the simplest program needs so many external files?? What are they for? I thought the Minimum program would be at the Virtual DUB level, but here it’s even graphical formats are not supported except bmp.

From Chunin Roman To All 28 July 2006

Hello new art new> Explain why the simplest program needs so many external files?? new> What are they for? new> I thought the Minimum program would be at the Virtual DUB level, but here it’s even new> graphic formats are not supported, except bmp. This Borland Builder carries VCL and other junk with it. Just apparently a project written in a visual environment and not in the Windows API.

From Konstantin Tsoufal To All 31 July 2006

Hello, rasmer this is an example of what it will look like when it's finished the bmp format is simply convenient and I plan to only support it I believe that graphics for a video stream still need to be prepared in advance and I don’t care that BMP

From rasmer To All 1 August 2006

Hello, coufal cou> I think that the graphics for the video stream still need to be prepared in advance cou> and don’t care what BMP I completely agree... we are waiting for the release of the full version of the package...

From Alexandr Sinyakov To All 3 October 2006

Hello, rasmer Attention! I made a new version of ANI EDITOR 0.3 [http://trd.speccy.cz/sbor/ANIE03.ZIP]. A bunch of useful things appeared. Check it out and give us ideas for a new version

From Alexandr Sinyakov To All 5 October 2006

Hello, SAM style At the request of the population - a description of the format and types of packaging *.ani. File: ani-format.zip http://zx.pk.ru/attachment.php?attachmentid=3881

From rasmer To All 5 October 2006

Hello Surfin' Bird Here's what I noticed - everything is fine, BUT: when you put and delete a pixel, the cursor disappears from the screen until move the mousey one. That is, you can click the pixel and it will be removed and placed, and the cursor won’t be visible - it’s a mess...

From Alexandr Sinyakov To All 6 October 2006

Hello, rasmer I repent, my friends... Not only was the joint with cursor and unda (like It turned out that it did not occur before the overlay was loaded, but after - the catalog was loaded onto the place where the current frame lies, and upon exit it was necessary to pull out this frame back)... The most terrible mess - I sent the wrong file to VT - overlaycheg killed the apsten program! Anyway, here it is. The cursor does not disappear, the overlay is loaded, and the undo works. Striker, take it from here, replace it with VT, PLZ! (only the editor himself is here. opiselovo and overlay - in 0.3) -+---- added Well, as usual, there’s one last glitch: you save the file, and suddenly - and the current frame attributes are flashing! The file was replaced (judging by the fact that no one has yet downloaded - Striker didn't get the buggy version) File: AniE 031.zip http://zx.pk.ru/attachment.php?attachmentid=3884

From Andrey Baglay To All 6 October 2006

Hello, SAM style SAM> Striker, take it from here, replace it with VT, PLZ! I'll pick it up and replace it... Tomorrow...

From Dmitry Rusakov To All 9 November 2006

Hello Striker There is also such a very entertaining topic as ASCII video. There are films in this format, there is even Quake on this engine. For example like this http://www.open4all.info/wiki/drazen/Live_ASCII_Streaming [http://www.open4all.info/wiki/drazen/Live_ASCII_Streaming]

From rasmer To All 10 November 2006

Hello BlackWolf and there is also star wars asciimation... it’s been lying around on the screw for a year and a half, no way they won’t get around to converting it to a spec...