Variable Video Compression in A720IS Finally Done! - page 3 - DryOS Development - CHDK Forum

Variable Video Compression in A720IS Finally Done!

  • 34 Replies
  • 12639 Views
*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: Variable Video Compression in DryOS Cams Possible?
« Reply #20 on: 07 / April / 2008, 09:37:39 »
Advertisements
 use ".ltorg\n" directive.
« Last Edit: 07 / April / 2008, 09:39:12 by ewavr »

*

Offline wap4

  • **
  • 95
  • A720IS
Re: Variable Video Compression in DryOS Cams Possible?
« Reply #21 on: 07 / April / 2008, 09:50:02 »
Oh,I haven't noticed that you have already used 'ltorg' at the end of one function.
Sorry,one more question. Should I use it at the end of every (newly included)
functions or only functions that are long?

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: Variable Video Compression in DryOS Cams Possible?
« Reply #22 on: 07 / April / 2008, 10:30:01 »
At least once per 2 (or 4?) kbytes of code.

edit: Extraction from ARM assembler guide attached.
« Last Edit: 07 / April / 2008, 11:28:37 by ewavr »

*

Offline wap4

  • **
  • 95
  • A720IS
Re: Variable Video Compression in DryOS Cams Possible?
« Reply #23 on: 08 / April / 2008, 10:26:30 »
DELETED!
« Last Edit: 09 / April / 2008, 00:14:51 by wap4 »


*

Offline wap4

  • **
  • 95
  • A720IS
Re: Variable Video Compression in DryOS Cams Possible?
« Reply #24 on: 09 / April / 2008, 12:10:42 »
Bad luck,I included all the relevant subroutines,modified function names(sub_xyz->sub_xyz_my) both in
movie_rec.c & boot.c but the video menu is still without effect. I think that I've come too close,but not
getting it due to lack of some concepts. 

Edit: I've corrected my mistake in sub_FFC5EEA0_my and let's see what happens.
 
« Last Edit: 10 / April / 2008, 00:21:35 by wap4 »

*

Offline wap4

  • **
  • 95
  • A720IS
Re: Variable Video Compression in DryOS Cams Possible?
« Reply #25 on: 09 / April / 2008, 13:32:25 »
Good news! With immense support from ewavr,I've implemented this feature finally.

But probably the movie_rec.c calls many unneeded subroutines. (The whole tree made by my recursive algo involves
52 subroutines.) It should be modified to reduce the size of diskboot.

Now I'm attaching boot.c & movie_rec.c .

[Note that you have to modify gui.c,makefile,main.c,stubs_entry_2.s,camera.h also to compile from these two.
So a diff file(for those only) is also attached. Also ewavr has forgot in the diff file, that you should change
!IF CAM_DRYOS to IF CAM_DRYOS in core/gui.c so that video parameters menu appear.]


Edit: Attachment removed
« Last Edit: 25 / April / 2008, 12:00:55 by wap4 »

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: Variable Video Compression in DryOS Cams Possible?
« Reply #26 on: 09 / April / 2008, 14:04:08 »
Good news!

Great! It really works, even optical zoom in video? Unbelievably!

But probably the movie_rec.c calls many unneeded subroutines. (The whole tree made by my recursive algo involves
52 subroutines.) It should be modified to reduce the size of diskboot.

52 subs?  :o Too many to port this function to other DRYOS cams  :(

Now I'm attaching only boot.c & movie_rec.c and for the A720 owners, the diskboot.bin .
Note that you have to modify gui.c,makefile,main.c,stubs_entry_2.s,camera.h also to compile from these two.
So a diff file(for those only) is also attached.

Nothing about gui.c in diff file, but it is not too big drawback  ;)

Well, this feature will be added into trunk.

*

Offline wap4

  • **
  • 95
  • A720IS
Re: Variable Video Compression in A720IS Finally Done
« Reply #27 on: 09 / April / 2008, 22:40:07 »
Yes,optical zoom also works! I strongly believe that all the 52 subroutines are not needed.
I may upload another file later in which I have removed unnecessary functions.
« Last Edit: 25 / April / 2008, 12:01:24 by wap4 »


*

Offline wap4

  • **
  • 95
  • A720IS
Re: Variable Video Compression in A720IS Finally Done
« Reply #28 on: 11 / April / 2008, 00:39:26 »
 ewavr

    Now I'm uploading the final version of movie_rec.c (and also boot.c). All the unnecessary branches have been
    removed,(Only 24 subs in movie_rec.c,so I've used ltorg only once! and only one renaming of function in boot.c)
    and the functions are written in order of execution so that you can implement this easily (a very boring task) for
    other dryos cams also.

    (All the subs in this version of movie_rec.c are necessary,it cannot be shortened further!)
   
« Last Edit: 25 / April / 2008, 12:01:38 by wap4 »

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: Variable Video Compression in A720IS Finally Done!
« Reply #29 on: 11 / April / 2008, 15:19:52 »
Test version for A650 with variable video compression and optical zoom in video (based on wap4 code) - http://ewavr.nm.ru/chdk/for_test/allbest-a650-100d-50.zip (sources in the same directory). But I don't know it works or not....

 

Related Topics