X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Fasset.h;fp=cinelerra-5.0%2Fcinelerra%2Fasset.h;h=0000000000000000000000000000000000000000;hb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;hp=a449896f3377622b84e7195f9b647cf4e8752868;hpb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/asset.h b/cinelerra-5.0/cinelerra/asset.h deleted file mode 100644 index a449896f..00000000 --- a/cinelerra-5.0/cinelerra/asset.h +++ /dev/null @@ -1,233 +0,0 @@ -/* - * CINELERRA - * Copyright (C) 2010 Adam Williams - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#ifndef ASSET_H -#define ASSET_H - -#include -#include - -#include "arraylist.h" -#include "bcwindowbase.inc" -#include "bchash.inc" -#include "filexml.inc" -#include "indexable.h" -#include "indexfile.inc" -#include "indexstate.inc" -#include "linklist.h" -#include "pluginserver.inc" - - - -class Asset : public Indexable, public ListItem -{ -public: - Asset(); - Asset(Asset &asset); - Asset(const char *path); - Asset(const int plugin_type, const char *plugin_path); - ~Asset(); - - int init_values(); - int dump(FILE *fp=stdout); - void boundaries(); - - void copy_from(Asset *asset, int do_index); - void copy_location(Asset *asset); - void copy_format(Asset *asset, int do_index = 1); - void copy_index(Asset *asset); - int64_t get_index_offset(int channel); - int64_t get_index_size(int channel); -// Get an english description of the compression. Used by AssetEdit - char* get_compression_text(int audio, int video); - -// Load and save parameters for a render dialog -// Used by render, record, menueffects, preferences - void load_defaults(BC_Hash *defaults, - const char *prefix /* = 0 */, - int do_format /* = 0 */, - int do_compression, - int do_path, - int do_data_types, - int do_bits); - void save_defaults(BC_Hash *defaults, - const char *prefix /* = 0 */, - int do_format, /* Don't save format which is autodetected by file loader */ - int do_compression, /* Don't save compression which is fixed by driver */ - int do_path, - int do_data_types, - int do_bits); - const char* construct_param(const char *param, const char *prefix, char *return_value); - - - - -// Executed during index building only - int equivalent(Asset &asset, - int test_audio, - int test_video); - Asset& operator=(Asset &asset); - int operator==(Asset &asset); - int operator!=(Asset &asset); -// Return 1 if the paths match - int test_path(const char *path); - int test_plugin_title(const char *path); - int read(FileXML *file, - int expand_relative = 1); - int read_audio(FileXML *xml); - int read_video(FileXML *xml); - int read_index(FileXML *xml); - void reset_audio(); - void reset_video(); - int reset_timecode(); - -// Output path is the path of the output file if name truncation is desired. -// It is a "" if; complete names should be used. - int write(FileXML *file, int include_index, const char *output_path); - -// For Indexable - int get_audio_channels(); - int get_sample_rate(); - int64_t get_audio_samples(); - int have_audio(); - int have_video(); - int get_w(); - int get_h(); - double get_frame_rate(); - int get_video_layers(); - int64_t get_video_frames(); - int get_program(); - - -// Necessary for renderfarm to get encoding parameters - int write_audio(FileXML *xml); - int write_video(FileXML *xml); - int write_index(FileXML *xml); - - -// Format of file. An enumeration from file.inc. - int format; - -// contains audio data - int audio_data; - int channels; - int sample_rate; - int bits; - int byte_order; - int signed_; - int header; - int dither; -// String or FourCC describing compression - char acodec[BCTEXTLEN]; - - int64_t audio_length; - -// contains video data - int video_data; - int layers, program; - double frame_rate; - int actual_width, actual_height; - int width, height; -// String or FourCC describing compression - char vcodec[BCTEXTLEN]; - -// Length in frames - int64_t video_length; - - - -// mp3 compression - int mp3_bitrate; - -// mpeg audio information - int ampeg_bitrate; -// 2 - 3 - int ampeg_derivative; - -// Vorbis compression - int vorbis_min_bitrate; - int vorbis_bitrate; - int vorbis_max_bitrate; - int vorbis_vbr; - -// Theora compression - int theora_fix_bitrate; - int theora_bitrate; - int theora_quality; - int theora_sharpness; - int theora_keyframe_frequency; - int theora_keyframe_force_frequency; - - -// Set by package render during file creation. -1 means square pixels. - double aspect_ratio; - -// for jpeg compression - int jpeg_quality; - -// for mpeg video compression - int vmpeg_iframe_distance; - int vmpeg_progressive; - int vmpeg_denoise; - int vmpeg_seq_codes; - int vmpeg_bitrate; -// 1 - 2 - int vmpeg_derivative; - int vmpeg_quantization; - int vmpeg_cmodel; - int vmpeg_fix_bitrate; - -// mjpegtools - int vmpeg_preset; -// top field first - int vmpeg_field_order; - int vmpeg_pframe_distance; - -// ffmpeg muxer file extension - char fformat[BCSTRLEN]; - char ff_audio_options[BCTEXTLEN]; - char ff_video_options[BCTEXTLEN]; - int ff_audio_bitrate; - int ff_video_bitrate; - int ff_video_quality; - -// PNG video compression - int png_use_alpha; - -// EXR video compression - int exr_use_alpha; - int exr_compression; - -// TIFF video compression. An enumeration from filetiff.h - int tiff_cmodel; - int tiff_compression; - - int ac3_bitrate; - -// Image file sequences. Background rendering doesn't want to write a -// sequence header but instead wants to start the sequence numbering at a certain -// number. This ensures deletion of all the frames which aren't being used. -// We still want sequence headers sometimes because loading a directory full of images -// for editing would create new assets for every image. - int use_header; -}; - - -#endif