Пример #1
0
static void set_ffmpeg_properties(RenderData *rd, AVCodecContext *c, const char * prop_name)
{
	IDProperty * prop;
	void * iter;
	IDProperty * curr;

	if (!rd->ffcodecdata.properties) {
		return;
	}
	
	prop = IDP_GetPropertyFromGroup(
		rd->ffcodecdata.properties, (char*) prop_name);
	if (!prop) {
		return;
	}

	iter = IDP_GetGroupIterator(prop);

	while ((curr = IDP_GroupIterNext(iter)) != NULL) {
		set_ffmpeg_property_option(c, curr);
	}
}
Пример #2
0
static void set_ffmpeg_properties(RenderData *rd, AVCodecContext *c, const char *prop_name,
                                  AVDictionary **dictionary)
{
	IDProperty *prop;
	void *iter;
	IDProperty *curr;

	/* TODO(sergey): This is actually rather stupid, because changing
	 * codec settings in render panel would also set expert options.
	 *
	 * But we need ti here in order to get rid of deprecated settings
	 * when opening old files in new blender.
	 *
	 * For as long we don't allow editing properties in the interface
	 * it's all good. bug if we allow editing them, we'll need to
	 * repace it with some smarter code which would port settings
	 * from deprecated to new one.
	 */
	ffmpeg_set_expert_options(rd);

	if (!rd->ffcodecdata.properties) {
		return;
	}
	
	prop = IDP_GetPropertyFromGroup(rd->ffcodecdata.properties, prop_name);
	if (!prop) {
		return;
	}

	iter = IDP_GetGroupIterator(prop);

	while ((curr = IDP_GroupIterNext(iter)) != NULL) {
		if (ffmpeg_proprty_valid(c, prop_name, curr))
			set_ffmpeg_property_option(c, curr, dictionary);
	}
}