[FFmpeg-devel] [PATCH] lavu/stereo3d: add serialization and deserialization functions

Rodger Combs rodger.combs at gmail.com
Tue Oct 27 09:35:22 CET 2015


> On Oct 26, 2015, at 15:01, James Almer <jamrial at gmail.com> wrote:
> 
> On 10/26/2015 4:45 PM, Rodger Combs wrote:
>> diff --git a/libavutil/stereo3d.h b/libavutil/stereo3d.h
>> index 1135dc9..8b8aced 100644
>> --- a/libavutil/stereo3d.h
>> +++ b/libavutil/stereo3d.h
>> @@ -149,4 +149,51 @@ AVStereo3D *av_stereo3d_alloc(void);
>>  */
>> AVStereo3D *av_stereo3d_create_side_data(AVFrame *frame);
>> 
>> +/**
>> + * Parse a string to an AVStereo3D struct.
>> + *
>> + * @param stereo3d struct to fill
>> + * @param name name to parse, in the format returned by av_bprint_stereo3d() with
>> + *             humanize = 0
>> + * @return 0 on success; negative AVERROR code on error.
>> + */
>> +int av_get_stereo3d(AVStereo3D *stereo3d, const char *name);
>> +
>> +/**
>> + * Return a description of an AVStereo3D.
>> + *
>> + * @param buf buffer to write into
>> + * @param buf_size size in bytes of the buffer
>> + * @param stereo3d the struct to describe
>> + * @param humanize if non-zero, returns a human-readable string; see av_bprint_stereo3d()
>> + */
>> +void av_get_stereo3d_string(char *buf, int buf_size, AVStereo3D *stereo3d, int humanize);
>> +
>> +struct AVBPrint;
>> +/**
>> + * Append a description of an AVStereo3D to a bprint buffer.
>> + *
>> + * @param bp buffer to write into
>> + * @param stereo3d the struct to describe
>> + * @param humanize if non-zero, append a human-readable string. Otherwise, append a
>> +                   machine-readable string that can be parsed with av_get_stereo3d().
>> + */
>> +void av_bprint_stereo3d(struct AVBPrint *bp, const AVStereo3D *stereo3d, int humanize);
> 
> Shouldn't the exported symbols be all av_stereo3d_*?
> 
> Something like av_stereo3d_init(), av_stereo3d_get_string() and av_stereo3d_set_string()
> would be better.
> 

How about av_stereo3d_parse_string and av_stereo3d_set_string?

Do you think it should be av_bprint_stereo3d or av_stereo3d_bprint?
There's not a lot of precedent for this stuff; I based most of the names on channel_layout APIs.

>> +
>> +/**
>> + * Get the name of a given AVStereo3DType.
>> + *
>> + * @return type name on success, NULL on error.
>> + */
>> +const char *av_stereo3d_type_get_name(enum AVStereo3DType type);
>> +
>> +/**
>> + * Get the description of a given AVStereo3DType.
>> + *
>> + * @return type description on success, NULL on error.
>> + */
>> +const char *av_stereo3d_type_get_description(enum AVStereo3DType type);
>> +
>> +
>> +
>> #endif /* AVUTIL_STEREO3D_H */
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel



More information about the ffmpeg-devel mailing list